Wall Street cosplay for LLMs: a whole trading desk in Python
It takes a village of agents to buy a stock—analysts, debaters, risk managers, and a portfolio manager who actually says no.

What it does TradingAgents spins up a multi-agent trading desk inside a LangGraph workflow. One agent reads fundamentals, another scrapes sentiment from Reddit and StockTwits, a third does technicals, then bullish and bearish researchers debate the evidence. A trader agent proposes a move, risk management reviews it, and a portfolio manager approves or rejects the order. The whole chain runs against Yahoo Finance data and outputs a buy/sell/hold decision.
The interesting bit The framework treats disagreement as a feature, not a bug. By forcing bull and bear researchers to argue before any capital is committed, it bakes in a crude but useful adversarial check on LLM hallucinations. The authors also went unusually deep on geographic LLM coverage—dual-region endpoints for Qwen, GLM, and MiniMax, plus Ollama for local runs.
Key highlights
- Supports 10+ LLM providers including OpenAI, Anthropic, Google, xAI, DeepSeek, Qwen, GLM, MiniMax, OpenRouter, Azure, and Ollama
- CLI and programmable Python API (
TradingAgentsGraph.propagate(ticker, date)) - Docker compose with an Ollama profile for fully local execution
- Works across Yahoo Finance markets: US, HK, Tokyo, London, India, China A-shares, crypto
- LangGraph checkpointing and persistent decision logs for reproducibility
Caveats
- The authors explicitly warn that “trading performance may vary” and that it is research-only, not financial advice
- Yahoo Finance can be rate-limited or blocked in mainland China; China-native data requires community forks
- The README mentions “simulated exchange” execution—there is no live trading hook shown
Verdict Quant researchers and LLM-agent builders should grab this as a rich, opinionated reference architecture. Anyone looking for a money-printing bot should look elsewhere—the disclaimer is loud and the exchange is fake.