TradingAgents models a trading firm as a team of LLM agents. Analysts study fundamentals, sentiment, news, and technicals; bull and bear researchers debate; a trader makes the call; a risk manager and portfolio manager approve or reject before a simulated trade. It is built on LangGraph and backed by an academic paper (arXiv 2412.20138). The reason it draws a crowd is the clean idea (turn the org chart of a trading desk into an agent graph), but the reason to read past the README is its limits, which are real and which the project itself documents.

How it works

The workflow is a graph with a clear order:

  1. Four analyst agents run in parallel: fundamentals, sentiment, news, and technical.
  2. Bull and bear researchers debate the analysts’ findings for a configurable number of rounds.
  3. A trader agent synthesizes the debate into a decision.
  4. A risk-management layer and a portfolio manager approve or veto, then the decision goes to a simulated exchange.

It persists a decision log so a later run on the same ticker can reflect on prior calls, and uses LangGraph checkpoints (SQLite) so an interrupted run resumes from the last good step. As of 2026-06 it supports 11+ providers (OpenAI, Gemini, Anthropic, DeepSeek, Qwen, GLM, MiniMax, OpenRouter, local Ollama, and more) and pulls data from Yahoo Finance, FinnHub, Alpha Vantage, StockTwits, and Reddit.

Install

git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
conda create -n tradingagents python=3.13 && conda activate tradingagents
pip install .

# Or Docker
cp .env.example .env   # fill in API keys
docker compose run --rm tradingagents

# Local models
docker compose --profile ollama run --rm tradingagents-ollama

You will need LLM keys plus data-source keys (Alpha Vantage, FinnHub). Run it interactively with tradingagents to pick a ticker, date, provider, and research depth.

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)

The caveats that matter most

This is the section a README-beating page owes you. Three honest limits:

  • Look-ahead bias is a documented risk. An open issue (#1007) reports that a news-fetch path could inject future news into historical backtests, a silent look-ahead leak. Several related issues (#992, #993, #986, #987) describe yfinance date-filtering edge cases. If you backtest, audit the data path before you trust any returns.
  • It is expensive to run. Every analysis fans out across analysts, a multi-round debate, a trader, and risk and portfolio managers, each an LLM call. On high-end reasoning models, token spend adds up fast.
  • Results are non-deterministic. LLM sampling means the same ticker and date can yield different calls. Lower temperature and non-reasoning models reduce variance but do not remove it.

And the obvious one the project states plainly: this is for research and education, not investment advice.

When it fits, and when it does not

It fits researchers and builders who want a working, well-structured multi-agent reference for finance, and anyone studying agent orchestration with a concrete domain. It does not fit as a trading system you point at a brokerage: the look-ahead risk, cost, and non-determinism make that a bad idea. Treat it as a framework and a paper, not a strategy.

How it compares

ProjectShapeStars (2026-06)
TauricResearch/TradingAgentsMulti-agent LLM framework, role debate~85k
virattt/ai-hedge-fundAI hedge-fund agent team~60k
microsoft/qlibQuant platform, ML/RL~44k
AI4Finance-Foundation/FinGPTOpen financial LLMs~20k

ai-hedge-fund is the closest in spirit (an agent team making calls); qlib is a traditional quant platform, not LLM-first; FinGPT is about the models themselves. TradingAgents’ edge is the explicit firm-structure framing plus its academic grounding.

FAQ

Can TradingAgents trade real money? No. The project states plainly it is for research and education, and the documented look-ahead bias in backtests (#1007) plus non-deterministic outputs make live trading a bad idea. Use TradingAgents to study the framework, not to manage a portfolio.

How much does TradingAgents cost to run? Each analysis fans out across four analysts, a multi-round bull/bear debate, a trader, and risk and portfolio managers, every step an LLM call. On high-end reasoning models that adds up quickly, so test with cheaper models first.

Is TradingAgents reproducible? Not reliably. LLM sampling makes the same ticker and date produce different calls. Lowering temperature and using non-reasoning models reduces variance but does not remove it.

What API keys does TradingAgents need? At least one LLM provider key plus data-source keys such as Alpha Vantage and FinnHub. The free tiers have rate limits that will bite on heavy use.

If you are exploring multi-agent orchestration more broadly, the agent and skills ecosystem in anomalyco/opencode and obra/superpowers shows how the same LangGraph-style coordination shows up outside finance.