mrkeyoor.com_
Tue 22 Sept 18:52 UTC
LLM Toolsevaluationupdated 09 Sept 2026

TradingAgents review

TradingAgents is a Python research framework that asks a group of language-model agents to analyze a ticker, argue the bull and bear cases, and return a five-level portfolio rating. It combines market, company, news, social, macro, and prediction-market inputs so a developer can study an agent-based research process without wiring the whole workflow. Execution is simulated; the project does not connect to a brokerage account.

+951stars / 7d
Verdict

Our TradingAgents run installed 130 packages in 60 seconds, used 352 MB, and passed its build and tests, so the code is easy to trial as a research framework. Use it to inspect how language-model analysts debate a ticker and to prototype your own decision pipeline. Choose a conventional quant engine when you need repeatable backtests, enforced risk rules, or real orders.

We ran it

Lab card: what happened when we ran TradingAgentsScreenshot of TradingAgents (arxiv.org/pdf/2412.20138)
Install✓ · 60s130 packages · 352 MB
Build✓ · 10s
Tests✓ · 135sran, no count parsed
Known vulns0(pip-audit)
Repo160 files~16,800 lines of source · 4.5 MB · 1 CI workflows · Dockerfile · tests dir

Answers from our run

Does TradingAgents build from source?

Dependencies installed in 60 seconds (130 packages), and the build succeeded in 10 seconds. We cloned commit a33fd4c into a clean Debian container with 3 CPUs and no project-specific setup.

Do TradingAgents's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Does TradingAgents have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use TradingAgents?

Traders who need paper or live broker execution: the README ends at a simulated exchange, and open issue 1225 requests a broker adapter.

What are the alternatives to TradingAgents?

Freqtrade, Qlib, LEAN. Our TradingAgents run installed 130 packages in 60 seconds, used 352 MB, and passed its build and tests, so the code is easy to trial as a research framework.

Setup4/560-second install; live runs still need models and data configuration
Docs5/5README covers providers, Docker, recovery, markets, and repeatability
Community5/5More than 103,000 stars with a September push and active issues
Maturity3/5v0.4.0 fixed data leaks; backtest and report-audit gaps remain

Discussed on

  1. hnMulti-Agents LLM Financial Trading Framework120 points

Who it’s for

Developers studying how several language-model roles can share market research and reach one portfolio decision.
Researchers who want a configurable LangGraph scaffold for comparing providers, prompts, debate depth, and data vendors.
Python teams that need international Yahoo Finance tickers, saved markdown reports, and resumable runs in one package.
Careful hobbyists who will treat every rating as a research output and verify the underlying data themselves.

Who it’s NOT for

Traders who need paper or live broker execution: the README ends at a simulated exchange, and open issue 1225 requests a broker adapter.
Researchers expecting to reproduce the paper's backtests from this repository: open issues 119 and 137 still ask for the backtesting and evaluation code.
Teams that require the same rating from repeated inputs: the README documents model and live-data variation, while issues 1239 and 1168 cover rating drift and missing cross-stage consistency checks.
Regulated or audited workflows that require source lineage in each report: issue 1197 says the saved reports omit exact data windows and source counts.
Users with a strict token budget: the default graph calls several agents, and issue 291 reports 6 to 7k input tokens from five news articles alone.

Setup reality

Our commit a33fd4c sandbox install succeeded in 60 seconds, adding 130 packages and using 352 MB. The build succeeded in 10 seconds, and the tests succeeded in 135 seconds. Pip-audit found 0 known vulnerabilities.

Live analysis still needs an LLM provider or an Ollama service, plus model selection and data configuration. The default macro path uses FRED and needs a FRED key; Alpha Vantage is optional, while Yahoo Finance and Polymarket are the documented keyless defaults for their categories.

The README recommends Python 3.12, though the package declares Python 3.10 or newer. Runs write reports, a decision log, caches, and optional per-ticker SQLite checkpoints under the user's home directory. Our no-secret sandbox checked repository mechanics, not a full market recommendation or its API cost.

Twelve roles turn market inputs into one five-level rating

TradingAgents builds a default graph with 12 decision roles. Four analysts cover technical data, social sentiment, news and macro events, and company fundamentals. Bull and bear researchers argue over those reports before a research manager picks a direction. A trader writes the proposal, then three risk voices debate it before the portfolio manager returns a rating. Each handoff appears in the saved report.

The final scale has 5 choices: Buy, Overweight, Hold, Underweight, and Sell. The research manager, trader, and portfolio manager use typed outputs, while a parser returns REVIEW if the last rating cannot be read. Both debate loops default to 1 round. Generated prose still passes between stages, so typed endpoints do not make the reasoning chain deterministic.

Version 0.4.0 stops at a simulated exchange

TradingAgents v0.4.0 produces a portfolio decision, then the README describes sending an approved transaction to a simulated exchange. There is no documented broker execution path. Open issue 1225 proposes an interface and recommends starting with paper trading. Anyone connecting the output to real money must add authorization code for position, loss, exposure, duplicate-order, and liquidity rules.

Open issue 119 asks which engine and timeframe produced the paper's simulation because that code is absent from the documented package. Issue 137 separately asks for its baselines and evaluation metrics. The dependency list includes Backtrader and the data layer has historical-date guards. Even so, the repository does not present a ready command that reproduces the paper's tables.

What happened when we ran it

Our run of commit a33fd4c installed 130 packages in 60 seconds and occupied 352 MB in a fresh Debian container. The build completed in 10 seconds. Tests then succeeded in 135 seconds on the same 3-CPU, 8 GB sandbox. Those results cover installation and repository checks without hiding a failing step, and they make the project reasonable to evaluate before buying any model API usage.

The checkout measured 4.5 MB across 160 files and roughly 16,800 lines of source. We found 1 CI workflow, a Dockerfile, a Compose file, and a tests directory. Pip-audit reported 0 known vulnerabilities in the installed environment. The clean security result is specific to the dependency set resolved for our a33fd4c run; it does not audit prompts, market data accuracy, or the safety of a downstream trading integration.

A 60-second install leaves provider and data work

The package declares Python 3.10 or newer, and the README's environment example uses Python 3.12. You can install with pip or build the supplied container. A live run also needs a hosted language-model credential or a reachable Ollama or OpenAI-compatible server. The default stock, technical, fundamental, and news provider is Yahoo Finance; FRED macro data needs its own key, while Polymarket is documented as keyless.

Our sandbox had no secrets, so the 135-second test result does not measure the duration or price of a completed ticker analysis. The default graph makes many model calls across its 12 roles, and issue 291 reports that five raw news articles alone produced 6 to 7k input tokens for one user. Set model choices, debate rounds, retry limits, and the output-token cap deliberately before letting unattended jobs run.

Version 0.4.0 repaired several historical-data leaks

The August 31 v0.4.0 release pinned FRED requests to the historical data vintage, trimmed social data to the analysis window, prevented future decision-log lessons from entering older runs, and stopped silently dropping the latest OHLCV bar when its close was NaN. It also changed an unreadable portfolio rating from a tradeable Hold to an explicit REVIEW. These recent corrections should influence how much confidence you place in results produced by older tags.

Data-window fixes cannot remove future knowledge already stored in a language model. In open issue 805, the maintainer says the data-level leak was fixed while model-level contamination remains a separate limitation. A model trained after the period being studied may know the later outcome even when every fetched article and price bar respects the simulated date. The README likewise warns that published backtest figures are not guaranteed to repeat across models, dates, temperatures, or data snapshots.

Five report groups still omit exact source windows

The report writer can save 5 stage groups plus one combined markdown file: analyst reports, research debate, trader plan, risk debate, and portfolio decision. Open issue 1197 points out that these files do not record each tool's exact query window, article count, indicator lookback, or fundamental period. That omission makes a surprising rating harder to audit because the finished report cannot show precisely which market evidence each analyst received.

Version 0.4.0 does constrain the three main decision outputs with schemas, which is better than parsing every recommendation from free text. It does not yet prove that a stop price, entry, time restriction, and executive summary agree across stages. Issue 1168 asks for deterministic checks for those conflicts. Until such a layer exists, applications should treat the final markdown as a proposal and validate every numeric instruction before displaying or acting on it.

September activity is high, while version 0.4.0 is still young

GitHub showed more than 103,000 stars, 172 open issues, and 192 open pull requests on September 9, 2026. The last push was September 7, and issue discussions were updated on September 8. Release v0.4.0 arrived on August 31. That combination points to active maintenance and an enormous review queue; the combined repository count of 364 includes both issues and pull requests, so it should not be read as a defect total.

Apache-2.0 licensing, working tests, Docker support, and wide provider coverage make TradingAgents a credible base for experiments. Its clearest fit is a developer who wants to inspect or change a multi-agent investment discussion. A team seeking a trading system still has to supply reproducible evaluation, data lineage, deterministic risk checks, and broker execution, which is why Qlib, Freqtrade, or LEAN may be the better starting point.

Alternatives

ProjectWhat it isPick it when
Freqtrade gh↗A Python crypto bot with strategy backtesting, dry-run trading, and exchange execution.pick this instead when you need an executable crypto strategy loop rather than an LLM research committee.
Qlib gh↗A quantitative research platform for data processing, model training, and backtesting.pick this instead when repeatable quantitative experiments matter more than natural-language debate.
LEAN gh↗A multi-asset algorithmic trading engine for backtests and live deployment.pick this instead when broker-connected execution and a mature event-driven engine are required.

What people are saying

  1. [hackernews] Multi-Agents LLM Financial Trading Framework

Sources

  1. TradingAgents README
  2. TradingAgents v0.4.0 release notes
  3. Issue 119: Where is the backtesting?
  4. Issue 805: Temporal knowledge leakage in LLM backtesting
  5. Issue 1168: Deterministic consistency checks
  6. Issue 1197: Report data windows and sources
  7. Issue 1225: Broker execution interface request
  8. Issue 291: News token usage report

More llm tools reviews

treg · train-llm-from-scratch · mistral.rs · flue · TensorRT-LLM · pydantic-ai · the whole board →