TradingAgents: Framework de Negociação Financeira Multi-Agente com LLM
🎉 TradingAgents lançado oficialmente! Recebemos inúmeras consultas sobre o trabalho e gostaríamos de agradecer pelo entusiasmo em nossa comunidade.
Por isso, decidimos disponibilizar o framework como código aberto. Esperamos construir projetos impactantes com vocês!
🚀 TradingAgents | ⚡ Instalação & CLI | 🎬 Demo | 📦 Uso do Pacote | 🤝 Contribuindo | 📄 Citação
Framework TradingAgents
TradingAgents é um framework de negociação multi-agente que reflete a dinâmica de empresas de negociação do mundo real. Ao implantar agentes especializados alimentados por LLM - desde analistas fundamentais, especialistas em sentimento e analistas técnicos até traders e equipes de gerenciamento de risco - a plataforma avalia colaborativamente as condições de mercado e orienta decisões de negociação. Além disso, esses agentes participam de discussões dinâmicas para identificar a estratégia ideal.
O framework TradingAgents foi projetado para fins de pesquisa. O desempenho das negociações pode variar com base em muitos fatores, incluindo os modelos de linguagem escolhidos, a temperatura do modelo, períodos de negociação, qualidade dos dados e outros fatores não determinísticos. Não deve ser interpretado como aconselhamento financeiro, de investimento ou de negociação.
Nosso framework decompõe tarefas complexas de negociação em funções especializadas. Isso garante que o sistema adote uma abordagem robusta e escalável para análise de mercado e tomada de decisão.
Equipe de Análise
- Analista Fundamental: Avalia finanças e métricas de desempenho da empresa, identificando valores intrínsecos e possíveis sinais de alerta.
- Analista de Sentimento: Analisa mídias sociais e sentimento público usando algoritmos de pontuação de sentimento para avaliar o humor do mercado no curto prazo.
- Analista de Notícias: Monitora notícias globais e indicadores macroeconômicos, interpretando o impacto de eventos nas condições de mercado.
- Analista Técnico: Utiliza indicadores técnicos (como MACD e RSI) para detectar padrões de negociação e prever movimentos de preço.
Equipe de Pesquisa
- Inclui pesquisadores otimistas e pessimistas que avaliam criticamente os insights fornecidos pela Equipe de Analistas. Por meio de debates estruturados, eles equilibram os ganhos potenciais contra os riscos inerentes.
Agente Trader
- Compila relatórios dos analistas e pesquisadores para tomar decisões de trading informadas. Determina o momento e a magnitude das operações com base em insights abrangentes do mercado.
Gestão de Risco e Gerente de Portfólio
- Avalia continuamente o risco do portfólio analisando volatilidade do mercado, liquidez e outros fatores de risco. A equipe de gestão de risco avalia e ajusta estratégias de trading, fornecendo relatórios de avaliação ao Gerente de Portfólio para decisão final.
- O Gerente de Portfólio aprova/rejeita a proposta de transação. Se aprovada, a ordem será enviada para a bolsa simulada e executada.
Instalação e CLI
Instalação
Clone TradingAgents:
git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
Crie um ambiente virtual no seu gerenciador de ambientes preferido:
conda create -n tradingagents python=3.13
conda activate tradingagents
Instale as dependências:
pip install -r requirements.txt
APIs Necessárias
Você também precisará da API FinnHub para dados financeiros. Todo nosso código foi implementado usando o plano gratuito.
export FINNHUB_API_KEY=$YOUR_FINNHUB_API_KEY
Você precisará da API OpenAI para todos os agentes.
export OPENAI_API_KEY=$YOUR_OPENAI_API_KEY
Uso via CLI
Você também pode testar a CLI diretamente executando:
python -m cli.main
Você verá uma tela onde pode selecionar os tickers desejados, data, LLMs, profundidade da pesquisa, etc.
Uma interface aparecerá mostrando os resultados conforme são carregados, permitindo acompanhar o progresso do agente durante a execução.
Pacote TradingAgents
Detalhes de Implementação
Construímos o TradingAgents com LangGraph para garantir flexibilidade e modularidade. Utilizamos o1-preview
e gpt-4o
como nossos LLMs de pensamento profundo e rápido para os experimentos. Porém, para fins de teste, recomendamos usar o4-mini
e gpt-4.1-mini
para economizar custos, já que nosso framework faz muitas chamadas de API.
Uso em Python
Para usar o TradingAgents no seu código, você pode importar o módulo tradingagents
e inicializar um objeto TradingAgentsGraph()
. A função .propagate()
retornará uma decisão. Você pode executar main.py
, aqui está um exemplo rápido:
from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.default_config import DEFAULT_CONFIG
ta = TradingAgentsGraph(debug=True, config=DEFAULT_CONFIG.copy())
# forward propagate
_, decision = ta.propagate("NVDA", "2024-05-10")
print(decision)
Você também pode ajustar a configuração padrão para definir sua própria escolha de LLMs, rodadas de debate, etc.
from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.default_config import DEFAULT_CONFIG
# Create a custom config
config = DEFAULT_CONFIG.copy()
config["deep_think_llm"] = "gpt-4.1-nano" # Use a different model
config["quick_think_llm"] = "gpt-4.1-nano" # Use a different model
config["max_debate_rounds"] = 1 # Increase debate rounds
config["online_tools"] = True # Use online tools or cached data
# Initialize with custom config
ta = TradingAgentsGraph(debug=True, config=config)
# forward propagate
_, decision = ta.propagate("NVDA", "2024-05-10")
print(decision)
Para
online_tools
, recomendamos habilitá-los para experimentação, pois eles fornecem acesso a dados em tempo real. As ferramentas offline dos agentes dependem de dados armazenados em cache do nosso Tauric TradingDB, um conjunto de dados curado que usamos para backtesting. Atualmente, estamos refinando esse conjunto de dados e planejamos lançá-lo em breve junto com nossos próximos projetos. Fique atento!
Você pode visualizar a lista completa de configurações em tradingagents/default_config.py
.
Contribuindo
Acolhemos contribuições da comunidade! Seja corrigindo um bug, melhorando a documentação ou sugerindo um novo recurso, sua contribuição ajuda a melhorar este projeto. Se você está interessado nesta linha de pesquisa, considere juntar-se à nossa comunidade de pesquisa em IA financeira de código aberto Tauric Research.
Citação
Por favor, referencie nosso trabalho se você achar que TradingAgents lhe forneceu alguma ajuda :)
@misc{xiao2025tradingagentsmultiagentsllmfinancial,
title={TradingAgents: Multi-Agents LLM Financial Trading Framework},
author={Yijia Xiao and Edward Sun and Di Luo and Wei Wang},
year={2025},
eprint={2412.20138},
archivePrefix={arXiv},
primaryClass={q-fin.TR},
url={https://arxiv.org/abs/2412.20138},
}