TL;DR / Kurzantwort
Der schnellste praktische Weg, TradingAgents zu nutzen, ist, es als Python-Paket auszuführen, es in einem kleinen FastAPI-Dienst zu verpacken und diesen Dienst dann in Apidog zu testen. Das ermöglicht einen wiederholbaren Workflow zum Auslösen von Analysen, Abfragen von Ergebnissen, Dokumentieren des Anfragevertrags und Teilen der Einrichtung mit Ihrem Team.
Einführung
TradingAgents ist von außen leicht zu bewundern. Das GitHub-Repository zeigt einen Multi-Agenten-Handelsworkflow, eine ausgefeilte CLI, Unterstützung für mehrere Modell-Provider und ein Forschungspapier, das das Framework-Design erklärt. Der schwierigere Teil beginnt, wenn man versucht, es in einem echten Engineering-Workflow zu nutzen.
Die meisten Teams möchten kein Repository, das nur ein Entwickler lokal ausführen kann. Sie wünschen sich eine wiederholbare Methode, um Analysen auszulösen, einen Ticker und ein Datum zu übergeben, eine Job-ID zurückzugeben, das Ergebnis später zu überprüfen und diesen Workflow an Frontend-, QA- oder Plattform-Teammitglieder weiterzugeben, ohne jede Frage in eine Python-Debugging-Sitzung zu verwandeln. Und da jedes Handelsforschungssystem letztendlich zur Information über Echtgeldentscheidungen verwendet wird, ist es noch wichtiger, TradingAgents in eine kontrollierte, dokumentierte API zu verpacken, anstatt es als einmaliges Skript auf dem Laptop eines Einzelnen zu belassen.
Was TradingAgents ist und was nicht
Bevor Sie mit dem Codieren beginnen, ist es hilfreich, das Tool genau zu definieren.

TradingAgents ist ein Open-Source-Multi-Agenten-Handelsframework. Das Repository beschreibt eine Reihe spezialisierter Rollen, die die Struktur einer Handelsfirma widerspiegeln:
- Analysten für Fundamentaldaten, Stimmungen, Nachrichten und technische Signale
- bullische und bärische Forscher zur Debatte
- ein Händler-Agent
- Rollen im Risikomanagement
- ein Portfoliomanager für die endgültige Entscheidung

Das Repository gibt außerdem an, dass das Framework mit LangGraph erstellt wurde und mehrere Modell-Provider unterstützt, darunter OpenAI, Google, Anthropic, xAI, OpenRouter und Ollama. In der öffentlichen Standardkonfiguration verwendet das Projekt derzeit Werte wie:
llm_provider = "openai"deep_think_llm = "gpt-5.2"quick_think_llm = "gpt-5-mini"backend_url = "https://api.openai.com/v1"max_debate_rounds = 1
Das ist wichtig, denn es sagt Ihnen, womit Sie es wirklich zu tun haben: einem konfigurierbaren Python-Framework, nicht einer direkt nutzbaren SaaS-API.
Das Repository achtet auch auf den Geltungsbereich. TradingAgents wird als Forschungs-Framework präsentiert, nicht als Finanzberatung. Wenn Sie es intern verwenden oder Software darum herum entwickeln, halten Sie diese Einordnung in Ihren Dokumenten und in der Benutzererfahrung sichtbar.
Schritt 1: TradingAgents installieren
Beginnen Sie mit der Einrichtung aus dem Repository selbst:
git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
conda create -n tradingagents python=3.13
conda activate tradingagents
pip install .Wenn Sie auch den API-Wrapper aus diesem Tutorial erstellen möchten, fügen Sie FastAPI und Uvicorn hinzu:
pip install fastapi uvicornDas TradingAgents-Repository enthält auch eine .env.example mit Provider-Variablen wie:
OPENAI_API_KEY=
GOOGLE_API_KEY=
ANTHROPIC_API_KEY=
XAI_API_KEY=
OPENROUTER_API_KEY=Abhängig von Ihren Modell- und Datenentscheidungen benötigen Sie möglicherweise auch andere Anbieterzugangsdaten, wie die von Alpha Vantage.
Zwei praktische Regeln sind hier wichtig:
- Bewahren Sie Anmeldeinformationen in Umgebungsvariablen oder einem Secrets Manager auf.
- Geben Sie später keine Anbietergeheimnisse über Ihren öffentlichen API-Anfragekörper weiter.
Diese Trennung wird Ihre Apidog-Umgebungen sauberer und Ihr Sicherheitsmodell wesentlich sicherer machen.
Schritt 2: TradingAgents zuerst in Python ausführen
Bevor Sie einen API-Wrapper erstellen, beweisen Sie, dass das Kern-Framework in Ihrer Umgebung läuft.
Die README zeigt ein minimales Python-Nutzungsmuster:
from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.default_config import DEFAULT_CONFIG
ta = TradingAgentsGraph(debug=True, config=DEFAULT_CONFIG.copy())
_, decision = ta.propagate("NVDA", "2026-01-15")
print(decision)Dies ist der richtige erste Prüfpunkt, da er die einzige Frage beantwortet, die frühzeitig wichtig ist: Können Ihr Computer, Ihre Modelleinrichtung und Ihre Abhängigkeiten tatsächlich einen TradingAgents-Lauf ausführen?
Wenn das funktioniert, können Sie mit der kontrollierten Konfiguration fortfahren. Das Repository zeigt auch, dass Sie die Standardkonfiguration überschreiben können:
from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.default_config import DEFAULT_CONFIG
config = DEFAULT_CONFIG.copy()
config["llm_provider"] = "openai"
config["deep_think_llm"] = "gpt-5.2"
config["quick_think_llm"] = "gpt-5-mini"
config["max_debate_rounds"] = 2
ta = TradingAgentsGraph(debug=True, config=config)
_, decision = ta.propagate("NVDA", "2026-01-15")
print(decision)Dieses zweite Beispiel ist wichtiger, als es scheint. Es sagt Ihnen, welche Parameter es wert sind, später in einer API offengelegt zu werden:
tickeranalysis_datellm_providerdeep_think_llmquick_think_llm- Forschungstiefe oder Debattenrunden
Wenn Sie diese lokale Python-Phase überspringen und direkt zu HTTP wechseln, erschweren Sie das Debugging unnötig.
Schritt 3: Entscheiden Sie, wie Sie TradingAgents nutzen möchten
An diesem Punkt haben Sie drei gängige Möglichkeiten, das Framework zu nutzen.
Option 1: Nur CLI
Das Repository enthält eine interaktive CLI, in der Sie Ticker, Datum, Anbieter und Forschungstiefe auswählen können. Dies ist eine gute Möglichkeit, das Projekt schnell zu erkunden.
Verwenden Sie dies, wenn:
- Sie das Tool lernen
- Sie Solo-Experimente durchführen
- Sie keinen stabilen Vertrag für eine andere App benötigen
Halten Sie hier nicht an, wenn Ihr nächster Schritt ein Frontend, ein Admin-Tool, ein Shared Service oder ein QA-Workflow ist.
Option 2: Nur Python
Das direkte Aufrufen von TradingAgentsGraph aus Python ist besser als die CLI, wenn Sie eine benutzerdefinierte Orchestrierung oder lokale Skripte benötigen.
Verwenden Sie dies, wenn:
- Sie Notebooks oder lokale Automatisierung wünschen
- Sie programmatische Kontrolle benötigen
- ein Entwickler den Workflow von Anfang bis Ende besitzt
Dies reicht immer noch nicht aus, wenn mehrere Teams den Workflow nutzen müssen.
Option 3: API-Wrapper plus Apidog
Dies ist die nützlichste Team-Einrichtung. Sie behalten TradingAgents als Ausführungs-Engine, stellen es über einen kleinen FastAPI-Dienst bereit und verwenden Apidog, um den Vertrag zu testen und zu dokumentieren.
Verwenden Sie dies, wenn:
- ein Frontend Analysen auslösen muss
- die QA einen wiederholbaren Anfragestrom benötigt
- Sie Umgebungen, Zusicherungen und Dokumente an einem Ort wünschen
- der Workflow möglicherweise lange genug läuft, dass Polling mehr Sinn macht als eine synchrone Anfrage
Für die meisten Teams ist dies der Punkt, an dem "wie man TradingAgents verwendet" zu einer echten Implementierungsantwort wird, anstatt nur einer lokalen Demo.
Schritt 4: TradingAgents in einem FastAPI-Dienst verpacken
Das sauberste Muster für einen ersten Wrapper ist eine jobbasierte API.
Warum jobbasiert? Weil eine Multi-Agenten-Analyse lange genug dauern kann, dass es für Clients umständlich ist, eine Anfrage offen zu halten. Ein besseres Muster ist:
POST /analyses -> returns analysis_id
GET /analyses/{id} -> returns queued, running, completed, or failedDiese Struktur ist einfacher für Browser, einfacher für die QA und einfacher in Apidog zu dokumentieren.
Den API-Vertrag erstellen
Ein minimaler Vertrag sieht wie folgt aus:
| Endpunkt | Zweck |
|---|---|
GET /health | grundlegende Zustandsprüfung |
POST /analyses | einen TradingAgents-Lauf auslösen |
GET /analyses/{analysis_id} | Jobstatus und Endergebnis abrufen |
Den Wrapper erstellen
Hier ist ein kompaktes FastAPI-Beispiel:
from concurrent.futures import ThreadPoolExecutor
from datetime import date, datetime
from uuid import uuid4
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel, Field
from tradingagents.default_config import DEFAULT_CONFIG
from tradingagents.graph.trading_graph import TradingAgentsGraph
app = FastAPI(title="TradingAgents API", version="0.1.0")
executor = ThreadPoolExecutor(max_workers=2)
jobs: dict[str, dict] = {}
class AnalysisRequest(BaseModel):
ticker: str = Field(..., min_length=1, examples=["NVDA"])
analysis_date: date
llm_provider: str = Field(default="openai")
deep_think_llm: str = Field(default="gpt-5.2")
quick_think_llm: str = Field(default="gpt-5-mini")
research_depth: int = Field(default=1, ge=1, le=5)
def run_analysis(job_id: str, payload: AnalysisRequest) -> None:
jobs[job_id]["status"] = "running"
jobs[job_id]["started_at"] = datetime.utcnow().isoformat()
config = DEFAULT_CONFIG.copy()
config["llm_provider"] = payload.llm_provider
config["deep_think_llm"] = payload.deep_think_llm
config["quick_think_llm"] = payload.quick_think_llm
config["max_debate_rounds"] = payload.research_depth
config["max_risk_discuss_rounds"] = payload.research_depth
try:
graph = TradingAgentsGraph(debug=False, config=config)
_, decision = graph.propagate(
payload.ticker,
payload.analysis_date.isoformat(),
)
jobs[job_id].update(
{
"status": "completed",
"finished_at": datetime.utcnow().isoformat(),
"result": decision,
}
)
except Exception as exc:
jobs[job_id].update(
{
"status": "failed",
"finished_at": datetime.utcnow().isoformat(),
"error": str(exc),
}
)
@app.get("/health")
def health() -> dict:
return {"status": "ok"}
@app.post("/analyses", status_code=202)
def create_analysis(payload: AnalysisRequest) -> dict:
analysis_id = str(uuid4())
jobs[analysis_id] = {
"status": "queued",
"ticker": payload.ticker,
"analysis_date": payload.analysis_date.isoformat(),
"created_at": datetime.utcnow().isoformat(),
}
executor.submit(run_analysis, analysis_id, payload)
return {"analysis_id": analysis_id, "status": "queued"}
@app.get("/analyses/{analysis_id}")
def get_analysis(analysis_id: str) -> dict:
job = jobs.get(analysis_id)
if not job:
raise HTTPException(status_code=404, detail="Analysis not found")
return jobDen Dienst starten:
uvicorn app:app --reloadSobald der Server läuft, stellt FastAPI Folgendes bereit:
http://localhost:8000/docshttp://localhost:8000/openapi.json
Diese zweite URL ist besonders nützlich, da Apidog sie direkt importieren kann.
Schritt 5: TradingAgents über die API nutzen
Jetzt sind Sie bereit, TradingAgents auf eine Weise zu nutzen, die stabil und wiederholbar ist.
Eine Analyse auslösen
Senden Sie eine POST /analyses Anfrage mit einem Body wie diesem:
{
"ticker": "NVDA",
"analysis_date": "2026-03-26",
"llm_provider": "openai",
"deep_think_llm": "gpt-5.2",
"quick_think_llm": "gpt-5-mini",
"research_depth": 2
}Die Antwort sollte schnell und klein sein:
{
"analysis_id": "88f9f0f5-7315-4c73-8ed5-d0a71f613d31",
"status": "queued"
}Das ist genau das, was Sie wollen. Ihr Client benötigt den Abschlussbericht nicht sofort. Er benötigt einen stabilen Handle für den Lauf.
Das Ergebnis abfragen
Verwenden Sie GET /analyses/{analysis_id}, um den Fortschritt zu überprüfen:
{
"status": "running",
"ticker": "NVDA",
"analysis_date": "2026-03-26",
"created_at": "2026-03-26T06:00:00.000000",
"started_at": "2026-03-26T06:00:01.000000"
}Wenn der Workflow abgeschlossen ist, kann die Antwort die endgültige Entscheidung enthalten:
{
"status": "completed",
"ticker": "NVDA",
"analysis_date": "2026-03-26",
"result": {
"decision": "hold"
}
}Wenn etwas schiefgeht, geben Sie einen eindeutigen failed Status und eine Fehlermeldung zurück, anstatt Clients im Ungewissen zu lassen.
Schritt 6: Die API in Apidog importieren
Hier wird der Workflow wesentlich einfacher zu pflegen.
Importieren Sie in Apidog das OpenAPI-Schema von:
http://localhost:8000/openapi.jsonNach dem Import sollten Sie Ihre Endpunkte mit ihrer Anfrage- und Antwortstruktur bereits vorhanden sehen.
Das bringt Ihnen einige sofortige Vorteile:
- die Dokumentation entspricht der Implementierung
- Pfadparameter werden korrekt generiert
- Anfragekörper bleiben mit Ihrem Code abgestimmt
- Teammitglieder müssen die Sammlung nicht manuell neu erstellen
Wenn Sie von Ad-hoc-cURL-Tests umsteigen, ist dies ein sinnvolles Upgrade. Wenn Sie von einem reinen Anfragetool umsteigen, wird Apidog hier wichtiger, da Sie Design, Tests, Umgebungen und Dokumentation an einem Ort aufbewahren können.
Schritt 7: Eine Apidog-Umgebung erstellen
Sobald die API importiert ist, erstellen Sie eine Umgebung für Ihren lokalen Dienst.
Beispielvariablen:
base_url = http://localhost:8000
analysis_id =Wenn Ihre API Authentifizierung verwendet, fügen Sie diese ebenfalls hinzu:
internal_api_key = your-local-dev-keyDieser Schritt wirkt klein, verhindert aber viel Reibung:
- Sie können schneller zwischen lokalen, Staging- und Produktionsumgebungen wechseln
- Ihre Anfragen bleiben wiederverwendbar
- Ihre Teammitglieder müssen URLs und Header nicht jedes Mal neu schreiben
Dies ist einer der einfachsten Gründe, warum Apidog ein starker Begleiter für TradingAgents ist. Das Framework selbst kümmert sich um die Analyselogik. Apidog kümmert sich um den gemeinsamen Workflow darum herum.
Schritt 8: Den vollständigen Workflow in Apidog testen
Jetzt können Sie Apidog verwenden, um TradingAgents so zu testen, wie es ein echter Client tun würde.
Anfrage 1: Die Analyse erstellen
Konfigurieren Sie:
- Methode:
POST - URL:
{{base_url}}/analyses - Body:
{
"ticker": "NVDA",
"analysis_date": "2026-03-26",
"llm_provider": "openai",
"deep_think_llm": "gpt-5.2",
"quick_think_llm": "gpt-5-mini",
"research_depth": 2
}Fügen Sie ein Testskript hinzu, das den Status validiert und die ID speichert:
pm.test("Status is 202", function () {
pm.response.to.have.status(202);
});
const data = pm.response.json();
pm.expect(data.analysis_id).to.exist;
pm.environment.set("analysis_id", data.analysis_id);Anfrage 2: Die Analyse abfragen
Konfigurieren Sie:
- Methode:
GET - URL:
{{base_url}}/analyses/{{analysis_id}}
Fügen Sie dann eine Zusicherung wie diese hinzu:
pm.test("Analysis has a valid status", function () {
const data = pm.response.json();
pm.expect(["queued", "running", "completed", "failed"]).to.include(data.status);
});Wenn Sie auch eine Erfolgs-Pfad-Prüfung wünschen:
pm.test("Completed jobs include a result", function () {
const data = pm.response.json();
if (data.status === "completed") {
pm.expect(data.result).to.exist;
}
});Beide Anfragen zu einem Szenario verketten
Hier wird Apidog mehr als nur ein API-Client. Erstellen Sie ein Szenario, das:
POST /analysessendetanalysis_idspeichert- einige Sekunden wartet
GET /analyses/{{analysis_id}}ausführt
Das gibt Ihren QA- und Entwicklungsteams eine reproduzierbare Möglichkeit, den Lebenszyklus zu validieren, anstatt nur zu überprüfen, ob ein Endpunkt zufällig einen 200-Statuscode zurückgibt.
Schritt 9: Interne Dokumentation für Ihr Team veröffentlichen
Sobald die Anfragen funktionieren, hören Sie nicht beim Testen auf.
Verwenden Sie Apidog, um interne Dokumentation zu veröffentlichen, die erklärt:
- welche Anbieter erlaubt sind
- was
research_depthin Ihrer Bereitstellung bedeutet - welche Statuswerte Clients erwarten sollten
- wie lange Läufe typischerweise dauern
- welche Fehler wiederholbar sind
- wo der Haftungsausschluss für reine Forschungszwecke gilt
Dies ist einer der wichtigsten Aspekte, um TradingAgents gut zu nutzen. Das Kern-Framework ist clever, aber clevere Frameworks werden zu Team-Engpässen, wenn der Vertrag nur im Kopf eines Entwicklers existiert.
Laden Sie Apidog kostenlos herunter, um TradingAgents in einen dokumentierten API-Workflow mit Umgebungen, Zusicherungen und wiederverwendbaren, teamtauglichen Szenarien zu verwandeln.
Häufige Fehler bei der Nutzung von TradingAgents auf diese Weise
Das Framework wie eine gehostete API behandeln
TradingAgents ist kein vorgefertigter öffentlicher Dienst. Es ist ein Python-Framework. Erstellen Sie den Vertrag, den Ihr Team verwenden soll, anstatt zu erwarten, dass das Repository ihn für Sie bereitstellt.
Geheimnisse über Anfragekörper weitergeben
Bewahren Sie Anbieterschlüssel im Umgebungsmanagement auf. Geben Sie sie nicht in Beispielen, Frontend-Aufrufen oder geteilten Screenshots preis.
Eine lange synchrone Antwort zurückgeben
Für einen mehrstufigen Agenten-Workflow ist eine jobbasierte API in der Regel einfacher zu verwalten als eine lange blockierende Anfrage.
Zu viele Konfigurationsoptionen offenlegen
Das Repository verfügt über nützliche Konfigurationsoptionen, aber Ihre API muss nicht am ersten Tag jede interne Einstellung offenlegen. Beginnen Sie mit einem kleinen, stabilen Vertrag.
Ergebnisse nur im Speicher halten
Der Tutorial-Code verwendet ein In-Memory-Wörterbuch, weil es leicht verständlich ist. In der Produktion speichern Sie den Job-Status in Redis, Postgres oder einem anderen dauerhaften Backend.
Den Forschungs-Haftungsausschluss verstecken
Wenn Ihr Dienst TradingAgents umschließt, behalten Sie die gleiche Warnung bei, die das Projekt verwendet. Das Framework dient der Forschung und dem Experimentieren, nicht der Finanzberatung.
Fazit
Die beste Art, TradingAgents zu nutzen, hängt davon ab, was Sie erreichen möchten. Wenn Sie das Framework alleine erkunden, genügen die CLI und das Python-Paket. Wenn Sie einen stabilen, wiederholbaren Team-Workflow wünschen, verpacken Sie TradingAgents in einer kleinen API und nutzen Sie Apidog zum Testen und Dokumentieren.
Wenn Sie schnell von einem GitHub-Repository zu einem nutzbaren Team-Workflow gelangen möchten, installieren Sie TradingAgents, bestätigen Sie, dass TradingAgentsGraph lokal funktioniert, fügen Sie POST /analyses und GET /analyses/{id} hinzu, importieren Sie dann das Schema in Apidog und erstellen Sie ein End-to-End-Szenario. Dieser Weg ist wesentlich einfacher zu pflegen als eine Sammlung von Terminalbefehlen und Stammeswissen.
FAQ
Wie nutzen Sie TradingAgents zum ersten Mal?
Beginnen Sie mit der Installation des Repositories, dem Festlegen der Umgebungsvariablen des Modellanbieters und dem Ausführen des Python-Beispiels mit TradingAgentsGraph. Sobald dies funktioniert, entscheiden Sie, ob Sie nur die CLI benötigen oder ob Sie es in eine API verpacken sollten.
Kommt TradingAgents mit einer offiziellen REST-API?
Nicht gemäß den am 26. März 2026 überprüften öffentlichen Repository-Materialien. Das Projekt wird als CLI- und Python-Paket präsentiert, weshalb viele Teams eine dünne FastAPI-Schicht hinzufügen möchten.
Was ist der einfachste Weg, TradingAgents in einer Frontend-App zu verwenden?
Rufen Sie das Python-Framework nicht direkt vom Frontend auf. Stellen Sie es über eine Backend-API bereit, die eine analysis_id zurückgibt, und lassen Sie das Frontend dann die Ergebnisse abfragen.
Warum Apidog mit TradingAgents verwenden?
Apidog bietet Ihnen eine saubere Oberfläche, um das OpenAPI-Schema zu importieren, Umgebungswerte zu speichern, Beispielanfragen abzulegen, Zusicherungen hinzuzufügen und den Workflow mit Teamkollegen zu teilen, die den Python-Code nicht reverse-engineeren müssen.
Welche TradingAgents-Einstellungen sollten in einer API offengelegt werden?
Die sicherste Startkonfiguration umfasst Ticker, Analysedatum, Anbieter, Modellauswahl und Forschungstiefe. Sie können diese später jederzeit erweitern, wenn der Anwendungsfall dies erfordert.
Kann ich den Beispiel-Jobstatus im Speicher halten?
Nur zum Lernen oder Prototyping. In der Produktion speichern Sie den Jobstatus und die Ergebnisse in einem dauerhaften Backend, damit ein Dienstneustart aktive Analysen nicht löscht.
Ist TradingAgents für Live-Finanzentscheidungen geeignet?
Die öffentlichen Projektmaterialien beschreiben es als Forschungsframework und weisen ausdrücklich darauf hin, dass es keine Finanz- oder Anlageberatung ist. Behandeln Sie es als Forschungs- und Experimentiersystem, es sei denn, Sie fügen Ihre eigenen Kontrollen, Validierungen und Governance hinzu.
