Passing tests don't establish a profitable strategy
TradingAgents passed 1,262 tests in our sandbox, but a developer choosing it still needs to ask when its backtest assumes a trade happened. Open issue #1518 describes a mismatch between information available after the market closes and returns scored from that same close. That matters more to a research decision than another agent role or model provider. This framework earns a trial for studying how language models reason about markets. Its return calculations need separate scrutiny.
The useful output is an inspectable chain of reports. Analysts examine company finances, market indicators, news and social sentiment. Bullish and bearish researchers debate those reports, then a trader and risk team feed a portfolio manager's decision. You can follow the reasoning instead of receiving only a recommendation. The English README explicitly describes the project as research software and warns that results depend on models and data. That qualification belongs beside every attractive report.
What happened when we ran it
Our run installed TradingAgents in 50 seconds, pulled 111 packages and occupied 334 MB, then completed the build in 5 seconds. We cloned commit 1394a3f on October 13, 2026, into an unprivileged Debian container with 3 CPUs, 8 GB of RAM and Python 3.12, using ghcr.io/astral-sh/uv:python3.12-bookworm. The container had no secrets. Installation and build both succeeded, so the basic repository setup worked in this environment.
Pytest succeeded in 53 seconds. The supplied lab summary reported 1,262 passed, 0 failed and 1 skipped. Pip-audit found 0 known vulnerabilities. The checkout contained 208 files, roughly 26,536 source lines and 5 MB before installation. Our scan found 1 CI workflow, a Dockerfile, a compose file and a tests directory. These are useful engineering signals. The measurements contain no trading-return benchmark, model-quality comparison or cost per analysis, so none follows from the green suite.
The install finishes before the service configuration does
Those 111 packages get the Python environment ready, while useful analysis still needs a language-model endpoint and market data. The README supports hosted providers with their own credentials, or Ollama and other compatible local servers. Python 3.11 or newer is required. The default data configuration uses Yahoo for prices and news, SEC EDGAR followed by Yahoo for fundamentals, and FRED for macro data. Configure the vendors you intend to use rather than assuming every listed API key is mandatory.
SEC EDGAR needs a contact-bearing user agent rather than an account. FRED and Alpha Vantage need keys when selected. Optional Jev screening filters social posts before the sentiment analyst reads them, while posts pass through unscreened without its key. Our 50-second installation says nothing about downloading local model weights or running that model server. A local endpoint also changes where inference happens, but Yahoo and other selected data services remain part of the workflow.
Historical fundamentals deliberately have gaps
The 334 MB installed environment includes machinery for handling dates, but vendor coverage determines what an analyst can learn. SEC EDGAR statements use filing dates and preserve figures as originally reported. Yahoo statements lack the publication dates needed for historical reconstruction, so past-dated runs withhold them. Historical insider transactions are withheld too. This is an honest limitation with a practical consequence: a historical analysis of a company outside SEC coverage can have less financial evidence than today's report.
The fundamentals documentation makes that trade-off explicit. Choose TradingAgents if you want to examine those missing inputs and their effect on the agents. Walk away if your experiment requires complete historical statements across every Yahoo-supported exchange. Ticker recognition and price availability do not establish equivalent news or filing coverage. Issue #1522 reports that Brazilian listings can resolve correctly while Yahoo supplies no company news, and its proposed CVM integration remained an open pull request.
The scoring window has an unresolved look-ahead report
The 1,262 passing tests don't settle issue #1518, opened on October 13. Its author reports that a dated run accepts news published after the US market close, yet settlement starts at that day's closing price. The inspected settlement code at our measured commit selects the first returned stock close as its entry. The concern is specific: the agent can read information whose subsequent price reaction falls inside its scored return window.
Pull request #1520 proposes starting settlement after the decision date. It was open when checked on October 14, so the proposal is not a shipped correction. We didn't reproduce the financial effect in our sandbox. Until the timing rule is resolved and your saved results are recalculated, I wouldn't use this backtest to select a strategy. The README also acknowledges variation between model calls and changing live news or social inputs, even for the same requested date.
Reports and recovery make repeated experiments easier
Release v0.6.0 adds a saved HTML report and separate providers for the quick and deep model tiers. Persistent memory records decisions and later reflections, while optional LangGraph checkpoints let interrupted analyses resume. Pass a portfolio explicitly if you want reasoning tied to your holdings: the default agents don't know your book. These controls are useful for comparing experiments, provided you preserve the configuration and data alongside the report. A readable explanation can still rest on an incorrect input.
The last repository push was October 3, 2026, and GitHub showed 111,072 stars with 113 open issues and PRs on October 14. The v0.6.0 release and October issue activity show continuing work, including disputed correctness questions. For numerical modelling, consider Qlib. FinRL suits reinforcement-learning experiments, while Freqtrade addresses exchange-connected crypto strategies. Choose TradingAgents when inspecting the agents' reasoning is the experiment. Before trusting its return table, resolve exactly which information preceded the assumed entry price.

