TopGit
GitHub Repo Review

TradingAgents: Multi-Agent LLM Trading Framework

TauricResearch/TradingAgents
TTopGit review image for TauricResearch/TradingAgents
Review by Topgit.dev for TauricResearch/TradingAgents, with GitHub repository stats and README context.
Quick verdict

TradingAgents is an open-source Python framework that routes a trading decision through a pipeline of specialized LLM agents: analysts, bull/bear researchers, a trader, and a risk/portfolio manager. Reach for it if you want a working multi-agent research scaffold to study or extend; skip it if you want a production trading bot, since the README's disclaimer frames this as research, not financial or investment advice.

Stars
★ 99.1k
Forks
⑂ 19.1k
Language
Python
License
Apache-2.0
Topic
AI Tools
Updated
Jul 2026
Homepage
GitHub

What TradingAgents Is

TradingAgents is a multi-agent framework that mirrors a trading firm's internal structure: Fundamentals, Sentiment, News, and Technical analysts each read a different data slice, bullish and bearish researchers debate their findings, a Trader agent turns that debate into a decision, and a Risk Management team plus a Portfolio Manager approve or reject it before it reaches a simulated exchange.

How the Multi-Agent System Works

  • Analyst Team: Fundamentals Analyst reads company financials, Sentiment Analyst aggregates news headlines, StockTwits, and Reddit chatter, News Analyst tracks macro events, and Technical Analyst runs indicators like MACD and RSI.
  • Researcher Team: bullish and bearish researchers run a structured debate over the Analyst Team's output before it reaches a decision.
  • Trader Agent composes the analyst reports and researcher debate into a decision on trade timing and size.
  • Risk Management team assesses volatility and liquidity, then reports to a Portfolio Manager who approves or rejects the order before it's sent to the simulated exchange.
  • Built on LangGraph, with graph-shape-aware checkpoint resume (added in v0.3.1) so a crashed multi-agent run can pick back up instead of restarting.
  • A decision log at ~/.tradingagents/memory/trading_memory.md that's always on: each run's realized return (raw and alpha vs SPY) and a one-paragraph reflection get injected into the next run's Portfolio Manager prompt.
How this repository's GitHub stars have grown over time. Source: star-history.com.View the star history

Setting Up TradingAgents

Clone the repo (git clone https://github.com/TauricResearch/TradingAgents.git), create a Python 3.12 environment (conda create -n tradingagents python=3.12 && conda activate tradingagents), then run pip install . from inside the project directory. The Docker path skips the local environment: copy .env.example to .env, add your API keys, then docker compose run --rm tradingagents (or docker compose --profile ollama run --rm tradingagents-ollama for local models). Either way you need at least one LLM provider key set — OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEY, XAI_API_KEY, DEEPSEEK_API_KEY, the DashScope/Zhipu/MiniMax international-or-China key pairs, or OPENROUTER_API_KEY — plus ALPHA_VANTAGE_API_KEY for market data. AWS Bedrock needs the pip install ".[bedrock]" extra plus AWS credentials and a Bedrock model ID; Azure OpenAI needs a copied .env.enterprise; Ollama and any OpenAI-compatible server (vLLM, LM Studio, llama.cpp) need no API key at all.

Running TradingAgents

The interactive path is the CLI: run tradingagents (or python -m cli.main from source) and pick a ticker, analysis date, LLM provider, and research depth from the prompts, then watch the agent team's progress in the terminal. Tickers resolve against whatever market Yahoo Finance covers, using exchange suffixes like 0700.HK, 7203.T, AZN.L, RELIANCE.NS, 600519.SS, or BTC-USD. From Python, import TradingAgentsGraph, copy DEFAULT_CONFIG, and call ta.propagate("NVDA", "2026-01-15") to get a decision back; the same config dict sets llm_provider, deep_think_llm, quick_think_llm, and max_debate_rounds. Add --checkpoint to a CLI run (or checkpoint_enabled: True in config) to persist LangGraph state per ticker in a SQLite database, so a crashed run resumes instead of restarting; --clear-checkpoints resets that state.

Key Advantages

  • The analyst/researcher/trader/risk split is real running code, not a single prompt pretending to be a team — each role reads a different data slice before the Trader agent sees any of it.
  • Provider coverage is wide: OpenAI, Google, Anthropic, xAI, DeepSeek, Qwen, GLM, MiniMax, OpenRouter, Azure OpenAI, AWS Bedrock, Ollama, and any OpenAI-compatible endpoint, so you're not locked to one vendor's API.
  • The decision log carries realized return and a reflection from one run into the next run's Portfolio Manager prompt, instead of every run starting with zero memory of past outcomes.
  • Checkpoint resume persists LangGraph state per ticker, so a multi-agent run that crashes partway through doesn't have to restart from the first analyst.
  • Works across markets Yahoo Finance covers — US, Hong Kong, Tokyo, London, India, Canada, Australia, China A-shares, and crypto — via exchange-suffixed tickers, not just US equities.
  • Actively versioned: the README's News section documents six releases from v0.2.0 through v0.3.1, each with named fixes and additions rather than a single research drop.

Understanding Reproducibility and Disclaimers

  • The README's own disclaimer states TradingAgents is designed for research purposes and is not intended as financial, investment, or trading advice; no track record or return figure is claimed.
  • Two runs of the same ticker and date can produce different decisions: live news, StockTwits, and Reddit sentiment sources reflect "now" even when the price and indicator window is pinned to a historical date.
  • The default GPT-5.x family and other reasoning/thinking-mode models largely ignore the temperature setting, so tighter reproducibility means switching to a non-reasoning model via the Custom model ID option rather than getting deterministic output by default.
  • No live broker integration is documented — an approved trade is sent to "the simulated exchange," not a real brokerage account.
  • Backtest results are explicitly not guaranteed to match any published figure; the README frames the framework as a research scaffold, not a strategy with a fixed, replicable return.
  • Cost and latency scale with the number of agents and debate rounds in the pipeline, and the README doesn't quantify either for any given configuration.
View on GitHubHomepage

Comparing Financial LLM Frameworks

Vibe-Trading — another trading-focused project already on TopGit, worth comparing directly if you're evaluating agent-driven trading tools rather than a general LLM framework.awesome-systematic-trading — a curated list of systematic trading resources rather than a runnable multi-agent framework; useful for finding other tools TradingAgents doesn't cover.langgraph — the graph-orchestration library TradingAgents is built on; reach for it directly if you want to design your own agent graph instead of using TradingAgents' pre-built analyst/researcher/trader/risk team.LangChain — a broader LLM application toolkit; relevant if you want lower-level building blocks for a custom pipeline rather than a pre-assembled trading-desk structure.FinRL — a reinforcement-learning-based algorithmic trading framework; a different paradigm from TradingAgents' debate-driven LLM agents, worth knowing about if you want to compare RL against LLM-agent approaches.Backtrader — a traditional Python backtesting library with deterministic strategy logic, useful as a contrast point if TradingAgents' LLM-driven non-determinism is a dealbreaker for your use case.

Common Questions

What is the primary purpose of TradingAgents?

TradingAgents is a research framework for studying how a team of specialized LLM agents — analysts, bull/bear researchers, a trader, and a risk/portfolio manager — arrives at a trading decision, not a plug-and-play trading bot.

Which LLM providers does TradingAgents support?

TradingAgents supports OpenAI, Google, Anthropic, xAI, DeepSeek, Qwen (Alibaba DashScope, international and China endpoints), GLM via Zhipu, MiniMax (global and China), OpenRouter, Azure OpenAI, AWS Bedrock, local Ollama models, and any OpenAI-compatible endpoint such as vLLM or LM Studio.

Can TradingAgents be used for live trading?

TradingAgents sends an approved order to a simulated exchange, not a live brokerage, and the README's own disclaimer says the framework is for research and is not financial, investment, or trading advice.

Is TradingAgents suitable for production environments?

Production readiness isn't clearly documented. The README instead documents reproducibility caveats — non-deterministic LLM sampling and live news/sentiment inputs — and frames TradingAgents as a research scaffold, not a strategy with a guaranteed, replicable return.

How does TradingAgents handle historical data?

You pass a ticker and analysis date to TradingAgentsGraph.propagate(), and the market analyst grounds price and indicator claims in a verified data snapshot pinned to that date, with vendors like Alpha Vantage (look-ahead filtering added in v0.3.1) and FRED/Polymarket supplying the underlying feeds.

What is the license for TradingAgents?

TradingAgents is released under the Apache-2.0 license, an OSI-approved permissive open-source license, per the repo's license file.

The problem it solves

Testing whether splitting a trading call across specialized roles — a fundamentals read, a sentiment read, a technical read, a bull/bear debate, then a risk sign-off — changes the outcome versus one LLM prompted to just decide, normally means wiring four or five agents and a debate loop yourself. TradingAgents ships that decomposition as running code: the analyst/researcher/trader/risk split from a trading desk, already built on LangGraph.

Best use cases

  • Studying how decomposing a trading call across specialized LLM roles (analyst debate, bull/bear research, risk sign-off) changes the outcome versus a single-prompt approach.
  • Running a decision pipeline against a fixed ticker-and-date pair, e.g. ta.propagate("NVDA", "2026-01-15"), while the price and indicator window stays pinned to that date.
  • Comparing how different LLM providers and models — GPT-5.x, Gemini, Claude, DeepSeek, Qwen, or a local Ollama model — perform inside the same multi-agent pipeline via the config's llm_provider switch.
  • Investigating reproducibility and non-determinism in LLM-driven financial decision systems using the documented temperature setting and checkpoint controls.
  • Running the whole pipeline against a local or self-hosted model (Ollama, vLLM, LM Studio, llama.cpp) instead of a hosted API, for teams that don't want trading data leaving their infrastructure.

Who should try it — and who should skip

Reach for TradingAgents if you're a developer or researcher who wants a working multi-agent pipeline to study how specialized LLM roles debate a trading decision, or a documented multi-provider agent framework to extend. Skip it if you want a production trading bot, live broker execution, or a system with a proven return — the README's disclaimer says this is a research tool, not financial or investment advice, and backtest results aren't guaranteed to match any published figure.

Related repositories

Source & attribution

Facts and quotes sourced from the TauricResearch/TradingAgents GitHub repository and its README.

GitHub data · last synced Aug 11, 2026Reviewed by Henry
Back to TopGit

Want a second opinion on TradingAgents?

Ask an AI that can read this page — one click and you get its take on TradingAgents.

GitHub