TradingAgents : Framework de Trading Financier Multi-Agents basé sur LLM
🎉 TradingAgents est officiellement publié ! Nous avons reçu de nombreuses demandes concernant ce travail, et nous tenons à exprimer notre gratitude pour l'enthousiasme de notre communauté.
Nous avons donc décidé d'ouvrir entièrement le framework en open source. Dans l'attente de construire ensemble des projets impactants !
🚀 TradingAgents | ⚡ Installation & CLI | � Démo | 📦 Utilisation du Package | 🤝 Contribuer | 📄 Citation
Framework TradingAgents
TradingAgents est un framework de trading multi-agents qui reflète la dynamique des entreprises de trading réelles. En déployant des agents spécialisés alimentés par des LLM : des analystes fondamentaux, des experts en sentiment, des analystes techniques, jusqu'au trader et à l'équipe de gestion des risques, la plateforme évalue de manière collaborative les conditions du marché et guide les décisions de trading. De plus, ces agents participent à des discussions dynamiques pour identifier la stratégie optimale.
Le framework TradingAgents est conçu à des fins de recherche. Les performances de trading peuvent varier en fonction de nombreux facteurs, notamment les modèles de langage de base choisis, la température des modèles, les périodes de trading, la qualité des données et d'autres facteurs non déterministes. Il ne constitue pas un conseil financier, d'investissement ou de trading.
Notre framework décompose les tâches complexes de trading en rôles spécialisés. Cela garantit que le système adopte une approche robuste et évolutive pour l'analyse du marché et la prise de décision.
Équipe d'Analystes
- Analyste Fondamental : Évalue les données financières et les indicateurs de performance des entreprises, identifiant les valeurs intrinsèques et les signaux d'alerte potentiels.
- Analyste de Sentiment : Analyse les réseaux sociaux et le sentiment public à l'aide d'algorithmes de scoring pour évaluer l'humeur du marché à court terme.
- Analyste d'Actualités : Surveille les actualités mondiales et les indicateurs macroéconomiques, interprétant l'impact des événements sur les conditions du marché.
- Analyste Technique : Utilise des indicateurs techniques (comme le MACD et le RSI) pour détecter les tendances de trading et prévoir les mouvements de prix.
Équipe de Recherche
- Comprend des chercheurs haussiers et baissiers qui évaluent de manière critique les analyses fournies par l'équipe d'Analystes. À travers des débats structurés, ils équilibrent les gains potentiels avec les risques inhérents.
Agent Trader
- Compile les rapports des analystes et chercheurs pour prendre des décisions de trading éclairées. Il détermine le timing et l'ampleur des transactions basés sur une compréhension approfondie du marché.
Gestion des Risques et Gestionnaire de Portefeuille
- Évalue continuellement les risques du portefeuille en analysant la volatilité du marché, la liquidité et autres facteurs de risque. L'équipe de gestion des risques évalue et ajuste les stratégies de trading, fournissant des rapports d'évaluation au Gestionnaire de Portefeuille pour décision finale.
- Le Gestionnaire de Portefeuille approuve/rejette la proposition de transaction. Si approuvée, l'ordre est envoyé à l'échange simulé et exécuté.
Installation et CLI
Installation
Clonez TradingAgents :
git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
Créez un environnement virtuel avec votre gestionnaire d'environnement préféré :
conda create -n tradingagents python=3.13
conda activate tradingagents
Installez les dépendances :
pip install -r requirements.txt
APIs Requises
Vous aurez également besoin de l'API FinnHub pour les données financières. Tout notre code fonctionne avec le niveau gratuit.
export FINNHUB_API_KEY=$YOUR_FINNHUB_API_KEY
Vous aurez besoin de l'API OpenAI pour tous les agents.
export OPENAI_API_KEY=$YOUR_OPENAI_API_KEY
Utilisation du CLI
Vous pouvez aussi essayer directement le CLI en exécutant :
python -m cli.main
Un écran s'affichera où vous pourrez sélectionner les tickers désirés, la date, les LLMs, la profondeur de recherche, etc.
Une interface montrera les résultats au fur et à mesure de leur chargement, vous permettant de suivre la progression de l'agent durant son exécution.
Package TradingAgents
Détails d'Implémentation
Nous avons construit TradingAgents avec LangGraph pour garantir flexibilité et modularité. Nous utilisons o1-preview
et gpt-4o
comme LLMs de réflexion profonde et rapide pour nos expériences. Cependant, pour des tests, nous recommandons d'utiliser o4-mini
et gpt-4.1-mini
pour réduire les coûts, car notre framework effectue beaucoup d'appels API.
Utilisation en Python
Pour utiliser TradingAgents dans votre code, vous pouvez importer le module tradingagents
et initialiser un objet TradingAgentsGraph()
. La fonction .propagate()
retournera une décision. Vous pouvez exécuter main.py
, voici aussi un exemple rapide :
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)
Vous pouvez également ajuster la configuration par défaut pour choisir vos propres modèles de langage (LLMs), nombre de tours de débat, 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)
Pour
online_tools
, nous recommandons de les activer lors des expérimentations, car ils permettent d'accéder à des données en temps réel. Les outils hors ligne des agents s'appuient sur des données en cache provenant de notre Tauric TradingDB, un ensemble de données organisé que nous utilisons pour les backtests. Nous travaillons actuellement à l'amélioration de ce jeu de données et prévoyons de le publier prochainement avec nos futurs projets. Restez à l'écoute !
Vous pouvez consulter la liste complète des configurations dans tradingagents/default_config.py
.
Contribution
Nous accueillons les contributions de la communauté ! Que ce soit pour corriger un bug, améliorer la documentation ou suggérer une nouvelle fonctionnalité, votre contribution aide à améliorer ce projet. Si ce domaine de recherche vous intéresse, envisagez de rejoindre notre communauté de recherche open-source en IA financière Tauric Research.
Citation
Merci de citer notre travail si TradingAgents vous a été utile :)
@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},
}