arXiv Discord WeChat X Follow
Community

TradingAgents: Multi-Agents LLM Financial Trading Framework

🎉 TradingAgents ist offiziell veröffentlicht! Wir haben zahlreiche Anfragen zu dieser Arbeit erhalten und möchten uns für das große Interesse in unserer Community bedanken.

Daher haben wir uns entschieden, das Framework vollständig zu open-sourcen. Wir freuen uns darauf, mit Ihnen wirkungsvolle Projekte umzusetzen!

🚀 TradingAgents | ⚡ Installation & CLI | 🎬 Demo | 📦 Package Usage | 🤝 Contributing | 📄 Citation

TradingAgents Framework

TradingAgents ist ein Multi-Agenten-Handelsframework, das die Dynamik realer Handelsunternehmen abbildet. Durch den Einsatz spezialisierter, LLM-basierter Agenten – von Fundamentalanalysten, Stimmungsexperten und technischen Analysten bis hin zu Händlern und Risikomanagementteams – bewertet die Plattform Marktbedingungen gemeinsam und trifft Handelsentscheidungen. Darüber hinaus führen diese Agenten dynamische Diskussionen, um die optimale Strategie zu ermitteln.

Das TradingAgents-Framework ist für Forschungszwecke konzipiert. Die Handelsperformance kann je nach verschiedenen Faktoren variieren, darunter die gewählten Sprachmodelle, die Modelltemperatur, Handelsperioden, die Datenqualität und andere nicht-deterministische Faktoren. Es ist nicht als finanzielle, investitions- oder handelsbezogene Beratung gedacht.

Unser Framework zerlegt komplexe Handelsaufgaben in spezialisierte Rollen. Dies gewährleistet einen robusten, skalierbaren Ansatz für Marktanalyse und Entscheidungsfindung.

Analysten-Team

  • Fundamentalanalyst: Bewertet Unternehmensfinanzen und Leistungskennzahlen, identifiziert innere Werte und potenzielle Warnsignale.
  • Stimmungsanalyst: Analysiert soziale Medien und öffentliche Stimmung mithilfe von Sentiment-Scoring-Algorithmen, um die kurzfristige Marktstimmung einzuschätzen.
  • Nachrichtenanalyst: Überwacht globale Nachrichten und makroökonomische Indikatoren und interpretiert deren Auswirkungen auf die Marktbedingungen.
  • Technischer Analyst: Nutzt technische Indikatoren (wie MACD und RSI), um Handelsmuster zu erkennen und Preisbewegungen vorherzusagen.

Forschungsteam

  • Besteht aus sowohl optimistischen als auch pessimistischen Forschern, die die Erkenntnisse des Analystenteams kritisch bewerten. Durch strukturierte Debatten gleichen sie potenzielle Gewinne mit inhärenten Risiken ab.

Trader Agent

  • Erstellt Berichte auf Basis der Analysen und Forschungsergebnisse, um fundierte Handelsentscheidungen zu treffen. Bestimmt den Zeitpunkt und das Ausmaß von Trades basierend auf umfassenden Markteinblicken.

Risikomanagement und Portfolio Manager

  • Bewertet kontinuierlich das Portfolio-Risiko durch Analyse von Marktvolatilität, Liquidität und anderen Risikofaktoren. Das Risikomanagement-Team evaluiert und passt Handelsstrategien an und erstellt Bewertungsberichte für den Portfolio Manager zur finalen Entscheidung.
  • Der Portfolio Manager genehmigt oder lehnt die Transaktionsvorschläge ab. Bei Genehmigung wird der Auftrag an die simulierte Börse gesendet und ausgeführt.

Installation und CLI

Installation

Klonen Sie TradingAgents:

git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents

Erstellen Sie eine virtuelle Umgebung mit Ihrem bevorzugten Environment-Manager:

conda create -n tradingagents python=3.13
conda activate tradingagents

Installieren Sie die Abhängigkeiten:

pip install -r requirements.txt

Erforderliche APIs

Sie benötigen die FinnHub API für Finanzdaten. Unser gesamter Code ist mit der kostenlosen Version implementiert.

export FINNHUB_API_KEY=$YOUR_FINNHUB_API_KEY

Für alle Agents wird die OpenAI API benötigt.

export OPENAI_API_KEY=$YOUR_OPENAI_API_KEY

CLI-Nutzung

Sie können die CLI direkt ausprobieren durch:

python -m cli.main

Es erscheint ein Menü, in dem Sie gewünschte Ticker, Datum, LLMs, Recherchetiefe etc. auswählen können.

Eine Oberfläche zeigt die geladenen Ergebnisse an und ermöglicht es, den Fortschritt des Agents während der Ausführung zu verfolgen.

TradingAgents Package

Implementierungsdetails

TradingAgents wurde mit LangGraph für maximale Flexibilität und Modularität entwickelt. Wir nutzen o1-preview und gpt-4o als Deep-Thinking- bzw. Fast-Thinking-LLMs für unsere Experimente. Für Testzwecke empfehlen wir jedoch o4-mini und gpt-4.1-mini, um Kosten zu sparen, da unser Framework sehr viele API-Aufrufe tätigt.

Python-Nutzung

Um TradingAgents in Ihrem Code zu verwenden, können Sie das tradingagents-Modul importieren und ein TradingAgentsGraph()-Objekt initialisieren. Die Funktion .propagate() gibt eine Entscheidung zurück. Sie können main.py ausführen, hier ein kurzes Beispiel:

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)

Sie können auch die Standardkonfiguration anpassen, um Ihre bevorzugten LLMs (Large Language Models), Diskussionsrunden usw. festzulegen.

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)

Für online_tools empfehlen wir, sie für Experimente zu aktivieren, da sie Zugang zu Echtzeit-Daten bieten. Die Offline-Tools der Agents basieren auf zwischengespeicherten Daten aus unserer Tauric TradingDB, einem kuratierten Datensatz, den wir für Backtesting verwenden. Wir arbeiten derzeit an der Verfeinerung dieses Datensatzes und planen, ihn bald zusammen mit unseren kommenden Projekten zu veröffentlichen. Bleiben Sie dran!

Die vollständige Liste der Konfigurationen finden Sie in tradingagents/default_config.py.

Mitwirken

Wir freuen uns über Beiträge aus der Community! Ob es sich um die Behebung eines Fehlers, die Verbesserung der Dokumentation oder den Vorschlag einer neuen Funktion handelt – Ihr Input hilft, dieses Projekt besser zu machen. Wenn Sie an dieser Forschungsrichtung interessiert sind, erwägen Sie bitte, sich unserer Open-Source-Finanz-AI-Forschungscommunity Tauric Research anzuschließen.

Zitation

Bitte verweisen Sie auf unsere Arbeit, wenn Sie feststellen, dass TradingAgents Ihnen eine Hilfe war :)

@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}, 
}