TradingAgents: Marco de Negociación Financiera con Agentes Multi-LLM
🎉 ¡TradingAgents ha sido lanzado oficialmente! Hemos recibido numerosas consultas sobre el trabajo y queremos expresar nuestro agradecimiento por el entusiasmo en nuestra comunidad.
Por ello, decidimos liberar el marco de trabajo como código abierto. ¡Esperamos construir proyectos impactantes junto a ustedes!
🚀 TradingAgents | ⚡ Instalación & CLI | 🎬 Demo | 📦 Uso del Paquete | 🤝 Contribuciones | 📄 Cita
Marco TradingAgents
TradingAgents es un marco de negociación multiagente que refleja la dinámica de las firmas de trading del mundo real. Mediante el despliegue de agentes especializados potenciados por LLM: desde analistas fundamentales, expertos en sentimiento y analistas técnicos, hasta traders y equipos de gestión de riesgo, la plataforma evalúa colaborativamente las condiciones del mercado e informa decisiones de trading. Además, estos agentes participan en discusiones dinámicas para identificar la estrategia óptima.
El marco TradingAgents está diseñado con fines de investigación. El rendimiento en trading puede variar según múltiples factores, incluidos los modelos de lenguaje base elegidos, la temperatura del modelo, los períodos de negociación, la calidad de los datos y otros factores no determinísticos. No está destinado a ser asesoramiento financiero, de inversión o de trading.
Nuestro marco descompone tareas complejas de trading en roles especializados. Esto garantiza que el sistema logre un enfoque robusto y escalable para el análisis de mercado y la toma de decisiones.
Equipo de Análisis
- Analista Fundamental: Evalúa estados financieros y métricas de desempeño empresarial, identificando valores intrínsecos y señales de alerta.
- Analista de Sentimiento: Analiza redes sociales y sentimiento público mediante algoritmos de puntuación para medir el ánimo del mercado a corto plazo.
- Analista de Noticias: Monitorea noticias globales e indicadores macroeconómicos, interpretando el impacto de eventos en condiciones de mercado.
- Analista Técnico: Utiliza indicadores técnicos (como MACD y RSI) para detectar patrones de trading y predecir movimientos de precios.
Equipo de Investigación
- Incluye investigadores alcistas y bajistas que evalúan críticamente los análisis proporcionados por el Equipo de Analistas. A través de debates estructurados, equilibran los posibles beneficios con los riesgos inherentes.
Agente Comercial (Trader Agent)
- Elabora informes a partir de los analistas e investigadores para tomar decisiones comerciales informadas. Determina el momento y la magnitud de las operaciones basándose en análisis integrales del mercado.
Gestión de Riesgos y Gestor de Cartera
- Evalúa continuamente el riesgo de la cartera analizando la volatilidad del mercado, la liquidez y otros factores de riesgo. El equipo de gestión de riesgos evalúa y ajusta las estrategias comerciales, proporcionando informes de evaluación al Gestor de Cartera para la decisión final.
- El Gestor de Cartera aprueba/rechaza la propuesta de transacción. Si se aprueba, la orden se envía al mercado simulado para su ejecución.
Instalación y CLI
Instalación
Clona TradingAgents:
git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
Crea un entorno virtual en tu gestor de entornos preferido:
conda create -n tradingagents python=3.13
conda activate tradingagents
Instala las dependencias:
pip install -r requirements.txt
APIs Requeridas
Necesitarás la API de FinnHub para datos financieros. Todo nuestro código funciona con el plan gratuito.
export FINNHUB_API_KEY=$YOUR_FINNHUB_API_KEY
Necesitarás la API de OpenAI para todos los agentes.
export OPENAI_API_KEY=$YOUR_OPENAI_API_KEY
Uso del CLI
También puedes probar el CLI directamente ejecutando:
python -m cli.main
Verás una pantalla donde podrás seleccionar los tickers deseados, fecha, modelos de lenguaje (LLMs), profundidad de investigación, etc.
Aparecerá una interfaz mostrando los resultados a medida que se cargan, permitiéndote seguir el progreso del agente durante su ejecución.
Paquete TradingAgents
Detalles de Implementación
Construimos TradingAgents con LangGraph para garantizar flexibilidad y modularidad. Utilizamos o1-preview
y gpt-4o
como nuestros LLMs de pensamiento profundo y rápido para los experimentos. Sin embargo, para pruebas, recomendamos usar o4-mini
y gpt-4.1-mini
para reducir costos, ya que nuestro framework realiza muchas llamadas a la API.
Uso en Python
Para usar TradingAgents en tu código, puedes importar el módulo tradingagents
e inicializar un objeto TradingAgentsGraph()
. La función .propagate()
devolverá una decisión. Puedes ejecutar main.py
, aquí tienes un ejemplo 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)
También puedes ajustar la configuración predeterminada para elegir tus propios modelos de lenguaje (LLMs), rondas 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 habilitarlos durante la experimentación, ya que proporcionan acceso a datos en tiempo real. Las herramientas offline de los agentes dependen de datos almacenados en caché de nuestra Tauric TradingDB, un conjunto de datos curado que utilizamos para backtesting. Actualmente estamos refinando este conjunto de datos y planeamos lanzarlo pronto junto con nuestros próximos proyectos. ¡Mantente atento!
Puedes consultar la lista completa de configuraciones en tradingagents/default_config.py
.
Contribuciones
¡Agradecemos las contribuciones de la comunidad! Ya sea corrigiendo un error, mejorando la documentación o sugiriendo una nueva función, tu aporte ayuda a mejorar este proyecto. Si estás interesado en esta línea de investigación, considera unirte a nuestra comunidad de investigación de IA financiera de código abierto Tauric Research.
Cita
Por favor, referencia nuestro trabajo si encuentras que TradingAgents te ha sido de ayuda :)
@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},
}