TradingAgents: Multi-Agents LLM Financial Trading Framework
Nieuws
- [2026-08] TradingAgents v0.4.0 is uitgebracht met fixes voor look-ahead / point-in-time over FRED macro, social sentiment en het besluitvormingslogboek (decision-log memory); duidelijkere besluitsignalen; werkende CLI checkpoint-hervatting; Trader price grounding; en de GPT-5.6 en GLM-5.3 modellen. Zie CHANGELOG.md voor de volledige lijst.
- [2026-07] TradingAgents v0.3.1 is uitgebracht met correctie- en stabiliteitsfixes: Alpha Vantage look-ahead filtering, graph-router crash-veiligheid, graph-shape-aware checkpoint-hervatting, werkende crypto-sentimentbronnen, een configureerbaar LLM-retrybudget, Bedrock API-key authenticatie en ondersteuning voor Claude Sonnet 5 / Fable 5.
- [2026-06] TradingAgents v0.3.0 is uitgebracht met een geverifieerd data-toegangscontract, een uitgebreid provider-register (NVIDIA, Kimi, Groq, Mistral, Bedrock en elk OpenAI-compatibel eindpunt), FRED en Polymarket dataleveranciers, een modelcatalogus van de huidige generatie en een CI-gate.
- [2026-05] TradingAgents v0.2.5 is uitgebracht met de grounded Sentiment Analyst, GPT-5.5 etc. modeldekking, Qwen/GLM/MiniMax dual-region ondersteuning, TRADINGAGENTS_* env-var configureerbaarheid met automatische API-key detectie, remote Ollama-ondersteuning, non-US alpha benchmarks en ticker path-traversal hardening.
- [2026-04] TradingAgents v0.2.4 is uitgebracht met structured-output agents (Research Manager, Trader, Portfolio Manager), LangGraph checkpoint-hervatting, persistent besluitvormingslogboek, DeepSeek/Qwen/GLM/Azure provider-ondersteuning, Docker en een Windows UTF-8 encoding fix.
- [2026-03] TradingAgents v0.2.3 is uitgebracht met ondersteuning voor meerdere talen, GPT-5.4 familiemodellen, een uniforme modelcatalogus, backtesting-datumgetrouwheid en proxy-ondersteuning.
- [2026-03] TradingAgents v0.2.2 is uitgebracht met GPT-5.4/Gemini 3.1/Claude 4.6 modeldekking, een vijfpunts-beoordelingsschaal, OpenAI Responses API, Anthropic effort control en cross-platform stabiliteit.
- [2026-02] TradingAgents v0.2.0 is uitgebracht met multi-provider LLM-ondersteuning (GPT-5.x, Gemini 3.x, Claude 4.x, Grok 4.x) en een verbeterde systeemarchitectuur.
- [2026-01] Trading-R1 Technical Report is gepubliceerd; de Terminal wordt binnenkort verwacht.
TradingAgents Framework
TradingAgents is een multi-agent trading framework dat de dynamiek van echte handelsfirma's nabootst. Door gespecialiseerde LLM-gestuurde agents in te zetten — van fundamentele analisten, sentimentexperts en technische analisten tot de trader en het risicobeheerteam — evalueert het platform gezamenlijk de marktomstandigheden om handelsbeslissingen te onderbouwen. Bovendien voeren deze agents dynamische discussies om de optimale strategie te bepalen.
Het TradingAgents framework is ontworpen voor onderzoeksdoeleinden. De handelsprestaties kunnen variëren op basis van vele factoren, waaronder de gekozen backbone-taalmodellen, modeltemperatuur, handelsperioden, de kwaliteit van de data en andere niet-deterministische factoren. Het is niet bedoeld als financieel, investerings- of handelsadvies.
Het framework verdeelt complexe handelsondertaken in gespecialiseerde rollen:
Analistenteam
- Fundamentals Analyst: Evalueert bedrijfsfinanciën en prestatiegegevens om intrinsieke waarden en potentiële waarschuwingssignalen (red flags) te identificeren.
- Sentiment Analyst: Aggregeert nieuwskoppen, StockTwits en Reddit-discussies tot één sentimentmeting om de kortetermijnstemming van de markt te peilen.
- News Analyst: Monitort wereldwijd nieuws en macro-economische indicatoren en interpreteert de impact van gebeurtenissen op de marktomstandigheden.
- Technical Analyst: Maakt gebruik van technische indicatoren (zoals MACD en RSI) om handels patronen te detecteren en prijsbewegingen te voorspellen.
Researchteam
Bestaat uit zowel bullish als bearish onderzoekers die de inzichten van het Analistenteam kritisch beoordelen. Door middel van gestructureerde debatten wegen zij potentiële winsten af tegen inherente risico's.
Trader Agent
Stelt rapporten samen op basis van de input van de analisten en onderzoekers om geïnformeerde handelsbeslissingen te nemen, waarbij de timing en omvang van de transacties worden bepaald.
Risicobeheer en Portefeuillebeheer
Het risicobeheerteam evalueert continu het portefeuillerisico door marktvolatiliteit, liquiditeit en andere risicofactoren te beoordelen. Zij evalueren en passen handelsstrategieën aan en leveren beoordelingsrapporten aan de Portfolio Manager voor de uiteindelijke beslissing.
De Portfolio Manager keurt het transactievoorstel goed of wijst het af. Bij goedkeuring wordt de order naar de gesimuleerde beurs gestuurd en uitgevoerd.
---
Installatie en CLI
Installatie
Kloon TradingAgents:
git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
Maak een virtuele omgeving aan met uw favoriete environment manager:
conda create -n tradingagents python=3.12
conda activate tradingagents
Installeer het pakket en de afhankelijkheden:
pip install .
Docker
Alternatief kunt u Docker gebruiken:
cp .env.example .env # voeg uw API-sleutels toe
docker compose run --rm tradingagents
Voor lokale modellen met Ollama:
docker compose --profile ollama run --rm tradingagents-ollama
Vereiste API's
TradingAgents ondersteunt meerdere LLM-providers. Stel de API-sleutel in voor de gekozen provider:
export OPENAIAPIKEY=...(OpenAI / GPT)export GOOGLEAPIKEY=...(Google / Gemini)export ANTHROPICAPIKEY=...(Anthropic / Claude)export XAIAPIKEY=...(xAI / Grok)export DEEPSEEKAPIKEY=...(DeepSeek)export DASHSCOPEAPIKEY=...(Qwen — Internationaal)export DASHSCOPECNAPI_KEY=...(Qwen — China)export ZHIPUAPIKEY=...(GLM via Z.AI internationaal)export ZHIPUCNAPI_KEY=...(GLM via BigModel China)export MINIMAXAPIKEY=...(MiniMax — Global)export MINIMAXCNAPI_KEY=...(MiniMax — China)export OPENROUTERAPIKEY=...(OpenRouter)export ALPHAVANTAGEAPI_KEY=...(Alpha Vantage)
Specifieke configuraties:
- Azure OpenAI: Kopieer
.env.enterprise.examplenaar.env.enterpriseen vul de inloggegevens in. - AWS Bedrock: Installeer de extra component met
pip install ".[bedrock]", stelllmprovider: "bedrock"in, configureer AWS-credentials enAWSDEFAULT_REGION, en gebruik een Bedrock model ID (bijv.us.anthropic.claude-opus-4-8-v1:0). - Lokale modellen: Configureer Ollama met
llmprovider: "ollama". Het standaard eindpunt ishttp://localhost:11434/v1; gebruikOLLAMABASE_URLvoor een remote ollama-serve. Download modellen metollama pull <name>. - Overige OpenAI-compatibele servers: Voor vLLM, LM Studio, llama.cpp of custom relays, gebruik
llmprovider: "openaicompatible"en stel het eindpunt in viabackendurl(ofTRADINGAGENTSLLMBACKENDURL), bijvoorbeeldhttp://localhost:8000/v1voor vLLM.
Alternatief kunt u .env.example kopiëren naar .env en daar uw sleutels invullen:
cp .env.example .env
Gebruik van de CLI
Start de interactieve CLI:
tradingagents # geïnstalleerd commando
python -m cli.main # alternatief: direct vanuit de broncode
U krijgt een scherm te zien waar u tickers, analysedatum, LLM-provider, onderzoeksdiepte en meer kunt selecteren.
Markten en Tickers
TradingAgents werkt met elke markt die door Yahoo Finance wordt gedekt, gebruikmakend van de ticker met exchange-suffix. De bedrijfsidentiteit en de alpha-benchmark worden per markt automatisch opgelost.
- VS: AAPL, SPY
- Hong Kong: 0700.HK | Tokio: 7203.T | Londen: AZN.L
- India: RELIANCE.NS, .BO | Canada: .TO | Australië: .AX
- China A-shares: Shanghai .SS, Shenzhen .SZ (bijv. 600519.SS voor Kweichow Moutai)
- Crypto: BTC-USD, ETH-USD
Er verschijnt een interface die de resultaten toont terwijl ze worden geladen, zodat u de voortgang van de agent kunt volgen.
---
TradingAgents Package
Implementatiedetails
TradingAgents is gebouwd met LangGraph om flexibiliteit en modulariteit te garanderen. Het framework ondersteunt diverse LLM-providers: OpenAI, Google, Anthropic, xAI, DeepSeek, Qwen (Alibaba DashScope), GLM (Zhipu), MiniMax, OpenRouter, Ollama en Azure OpenAI.
Python-gebruik
Om TradingAgents in uw eigen code te gebruiken, kunt u de module tradingagents importeren en een TradingAgentsGraph() object initialiseren. De functie .propagate() geeft een beslissing terug.
Basisvoorbeeld:
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", "2026-01-15")
print(decision)
Voorbeeld met aangepaste configuratie:
from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.default_config import DEFAULT_CONFIG
config = DEFAULT_CONFIG.copy()
config["llm_provider"] = "openai" # bijv. openai, google, anthropic, deepseek, groq, ollama; openai_compatible voor vLLM, LM Studio, etc.
config["deep_think_llm"] = "gpt-5.6" # Model voor complexe redenering
config["quick_think_llm"] = "gpt-5.6-luna" # Model voor snelle taken
config["max_debate_rounds"] = 2
ta = TradingAgentsGraph(debug=True, config=config)
_, decision = ta.propagate("NVDA", "2026-01-15")
print(decision)
Zie tradingagents/default_config.py voor alle configuratie-opties.
Persistentie en Herstel
TradingAgents bewaart twee soorten status over verschillende runs heen.
Besluitvormingslogboek (Decision log) Het besluitvormingslogboek is altijd actief. Elke voltooide run voegt de beslissing toe aan ~/.tradingagents/memory/tradingmemory.md. Bij een volgende run voor dezelfde ticker haalt TradingAgents het gerealiseerde rendement op (raw en alpha vs SPY), genereert een reflectie van één paragraaf en injecteert recente beslissingen en lessen in de prompt van de Portfolio Manager. Het pad kan worden overschreven met TRADINGAGENTSMEMORYLOGPATH.
Checkpoint-hervatting (Checkpoint resume) Dit is optioneel via --checkpoint. Wanneer ingeschakeld, slaat LangGraph de status na elke node op, zodat een gecrashte of onderbroken run kan worden hervat vanaf de laatste succesvolle stap. Checkpoints worden automatisch gewist bij succesvolle voltooiing. SQLite-databases per ticker bevinden zich in ~/.tradingagents/cache/checkpoints/<TICKER>.db (overwritbaar via TRADINGAGENTSCACHEDIR).
tradingagents analyze --checkpoint # inschakelen voor deze run
tradingagents analyze --clear-checkpoints # resetten voor aanvang
In Python:
config = DEFAULT_CONFIG.copy()
config["checkpoint_enabled"] = True
ta = TradingAgentsGraph(config=config)
_, decision = ta.propagate("NVDA", "2026-01-15")
Reproduceerbaarheid
TradingAgents wordt aangestuurd door LLM's, wat betekent dat twee runs van dezelfde ticker en datum kunnen verschillen. Dit is een eigenschap van taalmodellen en geen defect. De variatie komt voort uit:
- Niet-deterministische sampling: Zelfs bij een vaste temperatuur garanderen providers geen byte-identieke output. Redeneringsmodellen (zoals de GPT-5.x familie) variëren het meest.
- Dynamische data: Nieuws, StockTwits en Reddit leveren verschillende inhoud naarmate de tijd verstrijkt. Hoewel de analysedatum de prijs en indicator-window vastzet, reflecteren sociale en nieuwsbronnen altijd het "nu".
Om variatie te verminderen, kunt u de samplingtemperatuur verlagen in uw configuratie (of via TRADINGAGENTS_TEMPERATURE in .env). Let op: huidige "reasoning-first" modellen negeren temperatuur grotendeels; voor strikte reproduceerbaarheid dient u een non-reasoning model te gebruiken via de "Custom model ID" optie.
Wat niet meer varieert:
- De bedrijfsidentiteit wordt deterministisch opgelost uit de ticker.
- De marktanalist baseert prijs- en indicatorclaims op een geverifieerd data-snapshot.
Backtest-resultaten zijn niet gegarandeerd overeenkomstig met gepubliceerde cijfers. Behandel het framework als een onderzoekskader voor multi-agent analyse, niet als een strategie met een vast, repliceerbaar rendement.
---
Bijdragen
Bijdragen zijn welkom: bugfixes, documentatie en ideeën voor functies. Vorige bijdragen worden per release vermeld in CHANGELOG.md.
Citatie
Verwijs naar dit werk indien TradingAgents u heeft geholpen:
@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},
}
Groetjes,