TradingAgents

Framework · Last verified 2026-09-30 · Install verified 2026-09-30

TL;DR

TradingAgents is a Python framework from Tauric Research that simulates a trading firm with LLM agents on LangGraph: analysts, bull and bear researchers, a trader, risk debaters and a portfolio manager reach a decision for one ticker and date. It is specific to financial trading research; the README says it is for research and is not financial advice.

Key facts

TradingAgents key facts. Data as of 2026-09-30.
Type Framework
Languages / SDKs Python
License Apache-2.0
Pricing model Open source, free
Orchestration pattern Crew / roles
GitHub stars 109,321 (as of 2026-09-30)
GitHub forks 20,996
Last push 2026-09-29
Latest release v0.5.2
Repository TauricResearch/TradingAgents
Website tauric.ai
Last verified 2026-09-30

Key features

  • Role agents mirror a trading firm: Fundamentals, Sentiment, News and Technical analysts, bullish and bearish researchers, a trader, risk-management debaters and a portfolio manager who approves or rejects the proposal. (source)
  • The selected analysts run at the same time, and the researcher debate starts once all their reports are in (parallel analysts since v0.5.2). (source)
  • The graph is built with LangGraph: analysts, a bull and bear debate loop, a Research Manager, a Trader, aggressive, neutral and conservative risk debaters, then the Portfolio Manager. (source)
  • Debate length is configurable (max_debate_rounds, risk-discussion rounds) and each analyst's tool calls are capped by max_tool_rounds. (source)
  • Point-in-time data handling: US statements come from SEC EDGAR as filed, and a run dated in the past reads them as they stood that day; sources that cannot date data are withheld. (source)
  • Providers include OpenAI, Google, Anthropic, xAI, DeepSeek, Qwen, GLM, MiniMax, OpenRouter, Ollama and any OpenAI-compatible endpoint, plus AWS Bedrock as an extra. (source)
  • A memory log records each decision and, on the next run for the same ticker, adds realised return and a reflection to the Portfolio Manager's prompt; opt-in LangGraph checkpoints resume interrupted runs. (source)
  • tradingagents backtest runs the pipeline over a ticker and date grid and scores decisions on alpha against a regional benchmark. (source)

Architecture and orchestration pattern

Pattern: Crew / roles

TradingAgents is a Python package (Python 3.11 or later) with a Typer and Rich command line and a TradingAgentsGraph class. propagate(ticker, date) runs one LangGraph pipeline and returns the final state and a rating. The domain is financial trading research: agents call data tools for prices, indicators, fundamentals, news, social posts and macro series, and the output is a report tree plus a decision for the simulated exchange.

The graph has fixed roles. Selected analysts run in parallel, each with its own tools. A Bull and a Bear Researcher debate for a configured number of rounds, a Research Manager decides, and a Trader drafts a proposal. Aggressive, Neutral and Conservative risk analysts then discuss it, and a Portfolio Manager approves or rejects it. Agents talk through shared graph state, not free chat.

State is LangGraph state per run, optional SQLite checkpoints per ticker, and an append-only Markdown memory log under ~/.tradingagents/memory that feeds past decisions and reflections into later runs for the same ticker. Two model tiers are configured: a quick-thinking model for routine steps and a deep-thinking model for research and portfolio decisions.

Human in the loop

unknown for approvals during a run: the README documents no human approval or interrupt step inside the agent graph; the Portfolio Manager is an agent that approves or rejects the proposal and sends an order to a simulated exchange. Humans choose the ticker, date, analysts, provider, models and debate rounds in the interactive CLI or by flags and TRADINGAGENTS_* variables, can supply a portfolio file so agents work against a real book, and can enable checkpoint resume after a crash.

Protocols

MCP, A2A and AG-UI support for TradingAgents. See the full matrix.
ProtocolSupportNote
MCP Unknown
checked 2026-09-30
Not mentioned in the README or CHANGELOG; GitHub code search for mcp in the repository returned nothing.
A2A Unknown
checked 2026-09-30
Not mentioned in the README or CHANGELOG; GitHub code search for a2a and agent2agent returned nothing.
AG-UI Unknown
checked 2026-09-30
Not mentioned in the README or CHANGELOG; GitHub code search for ag-ui returned nothing, and TradingAgents is not in the AG-UI README integration list.

Best for

  • Researching how role-based LLM agents with debates behave on market analysis, with fixed roles and reproducible reports. (shortlist)
  • Back-testing a multi-agent analysis pipeline over a ticker and date grid, with point-in-time data handling.
  • Comparing LLM providers and local models (Ollama, vLLM, LM Studio) on the same financial-analysis workflow.
  • Studying how portfolio context and memory of past decisions change agent outputs.

Not for

  • Live trading or investment decisions; the README says it is designed for research purposes and is not intended as financial, investment or trading advice.
  • General-purpose multi-agent applications; the roles, data tools and outputs are specific to trading analysis.
  • Runs that must be exactly repeatable; the README says results vary with model sampling and live data.

Quickstart

pip install .

Install verified 2026-09-30 (uv venv, Python 3.12.13, macOS arm64: shallow clone at commit 8b22d43, uv pip install . ok, import tradingagents ok, tradingagents 0.5.2. Packages came from the mirrors.aliyun.com mirror, so the version is the one that mirror served on this date. Install and import check only; not a functional test.). What this means

git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
python -m venv .venv && source .venv/bin/activate   # Python 3.11 or later
pip install .
export OPENAI_API_KEY=<your-key>                     # or another provider's key
from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.default_config import DEFAULT_CONFIG

config = DEFAULT_CONFIG.copy()
config["llm_provider"] = "openai"
config["max_debate_rounds"] = 1
ta = TradingAgentsGraph(debug=True, config=config)
state, decision = ta.propagate("NVDA", "2026-09-01")   # ticker, analysis date
print(decision)

Common pitfalls

  • Needs Python 3.11 or later; install from a clone with pip install . (Bedrock needs pip install ".[bedrock]").
  • A provider API key is required (for example OPENAI_API_KEY); the default models are GPT-6 Sol and Luna. Alpha Vantage, FRED and TypeSafe keys are optional.
  • v0.5.1 reorganised the package layout and moved import paths, so code written for earlier versions may need imports updated.
  • SEC asks for a contact address: set SEC_EDGAR_USER_AGENT to your own.
  • Runs vary between executions because of model sampling and live news and social data; reasoning models largely ignore temperature.
  • Past-dated runs withhold data sources that cannot date their figures (for example Yahoo statements and insider trades).

Official quickstart

Pros

  • Fixed, inspectable role structure (analysts, debates, manager, trader, risk team) makes agent contributions easy to trace in the saved reports. (source)
  • Point-in-time handling and a backtest command support evaluating decisions over historical dates. (source)
  • Many LLM providers and local endpoints work behind one configuration key. (source)
  • Checkpoint resume and a persistent decision log are built in. (source)
  • Apache-2.0 licensed and released frequently, with a per-release CHANGELOG. (source)

Cons

  • The project's statement: the framework is designed for research purposes and is not intended as financial, investment or trading advice; its disclaimer says the Research is for research and educational purposes only. (source)
  • The README says two runs of the same ticker and date can differ because of model sampling and live data, and that backtest results are not guaranteed to match any published figure. (source)
  • The v0.5.1 release moved import paths, a breaking change for code written against earlier versions. (source)
  • Roles, tools and outputs are specific to financial analysis, so the framework does not transfer to other domains without rewriting. (source)
  • No documentation of MCP, A2A or AG-UI support was found in the README or CHANGELOG. (source)

Alternatives

FAQ

What is TradingAgents for?

Researching multi-agent LLM analysis of financial markets. Agents with roles such as analyst, researcher, trader, risk debater and portfolio manager produce a decision for a ticker and date, which is sent to a simulated exchange.

Can I use it for real trading or investment advice?

The project says no: the README states it is designed for research purposes and not intended as financial, investment or trading advice, and its disclaimer says the Research is for research and educational purposes only.

Does TradingAgents use LangGraph?

Yes. The README says it was built with LangGraph, and pyproject.toml lists langgraph and langchain packages as dependencies.

Does it support MCP, A2A or AG-UI?

No support was found in the README, CHANGELOG or repository code search, so all three are recorded as unknown.

Sources

Unknown fields: protocols.mcp, protocols.a2a, protocols.agui: searched README, CHANGELOG and GitHub code search (mcp, a2a, agent2agent, ag-ui); nothing found. hitl_md: no human approval or interrupt step is documented inside the agent graph; CLI choices and checkpoint resume are described. docs_url is null because the project has no docs site beyond the README.

Something wrong or out of date, or do you maintain TradingAgents and want this page removed? Report a correction or request removal.