mrkeyoor.com_
Sun 13 Sept 16:45 UTC
AI Toolsevaluationupdated 13 Sept 2026

TradingAgents-astock review

TradingAgents-Astock is a Chinese-first Python research tool that asks several AI roles to analyze mainland China A-shares and debate a rating. A full English README exists, although its subscription guidance is internally inconsistent. The project adapts the original TradingAgents workflow to Chinese market rules and local public data sources.

trackingstars / 7d
Verdict

Our TradingAgents-Astock run installed 151 packages and passed 377 tests in 57 seconds, so the code is unusually easy to qualify for an experimental finance app. Use it to study or draft A-share research when you can absorb 30 to 50 model calls and verify every input and conclusion. Do not treat its ratings or later performance summaries as a trading system.

We ran it

Lab card: what happened when we ran TradingAgents-astockScreenshot of TradingAgents-astock (arxiv.org/pdf/2412.20138)
Install✓ · 39s151 packages · 633 MB
Build✓ · 1s
Tests✓ · 57s377 passed · 0 failed · 15 skipped of 377 (pytest)
Known vulns0(pip-audit)
Repo156 files~20,365 lines of source · 5 MB · 0 CI workflows · Dockerfile · tests dir

Answers from our run

Does TradingAgents-astock build from source?

Dependencies installed in 39 seconds (151 packages), and the build succeeded in 1 seconds. We cloned commit f1bd10f into a clean Debian container with 3 CPUs and no project-specific setup.

Do TradingAgents-astock's tests pass?

Yes: 377 of 377 passed when we ran the project's own test command (pytest). Some failures need services or credentials a bare container does not have.

Does TradingAgents-astock 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-astock?

Anyone seeking trade execution or a portfolio system: the README says the code has no entry price, stop loss, position size, or target-price output.

What are the alternatives to TradingAgents-astock?

TradingAgents, Qlib, FinGPT. Our TradingAgents-Astock run installed 151 packages and passed 377 tests in 57 seconds, so the code is unusually easy to qualify for an experimental finance app.

Setup4/539-second install; provider keys and public data feeds add work
Docs4/5Detailed Chinese and English guides, with one subscription mismatch
Community4/53,298 stars, a September release, and a small active issue queue
Maturity3/5377 tests passed, but data reliability and product gaps remain

Who it’s for

Researchers studying how several language-model roles reason over A-share market data.
Chinese-speaking investors who want a local Streamlit report interface, not an automated broker.
Python teams that need examples of A-share data collection, LangGraph routing, and structured research reports.
Users prepared to check every generated claim against primary filings and market data before acting.

Who it’s NOT for

Anyone seeking trade execution or a portfolio system: the README says the code has no entry price, stop loss, position size, or target-price output.
Users expecting a cheap single-model query: the README estimates 30 to 50 LLM calls for each analysis.
Teams that require one dependable market-data endpoint: issue 102 reports failures across mootdx, Cailianshe, East Money, and Tonghuashun paths in one run.
Gemini users unwilling to maintain a separate environment or accept a manual dependency override: the documented httpx requirements conflict with the core mootdx dependency.
Traders who need a finished backtest and alert UI: open issue 105 records an HTTP-only decision backtest, incomplete alert conditions, and duplicated screening implementations.

Setup reality

Our sandbox installed 151 packages in 39 seconds and used 633 MB. The build finished in 1 second, then pytest completed in 57 seconds with 377 passed, 0 failed, and 15 skipped of 377. Pip-audit found 0 known vulnerabilities.

Python 3.10 or newer is required. A working analysis needs a configured LLM provider or local Ollama setup, and the README says one run makes 30 to 50 model calls. The market feeds themselves use public HTTP endpoints plus mootdx over TCP 7709.

The 5 MB checkout includes a Dockerfile, compose file, and tests directory, but no CI workflow files. Gemini has a documented httpx conflict with mootdx and needs manual handling. Public finance sites may throttle or reject requests, while local history, cache, memory, and saved LLM settings live under the user's home directory.

A 5 MB codebase coordinates 7 A-share analysts

Our measured checkout was only 5 MB, yet the workflow assigns work to 7 analyst roles. Four cover market action, sentiment, news, and fundamentals. Three additions focus on Chinese policy, hot-money activity, and restricted-share unlocks. Their reports feed a bull and bear debate, a research manager, a trader, three risk positions, and a portfolio manager. Separate quick and deep model settings let the aggregation roles use a different model from the reporting roles.

The roughly 20,365 lines also encode A-share rules that the upstream US-market project does not assume: T+1 settlement, price limits, minimum lots, trading hours, and a CSI 300 comparison. The output is a rating and rationale, not an executable order. That distinction matters because a fluent report can still contain a bad data point or model error. The README presents the software as a research and teaching implementation and explicitly rejects the role of investment adviser.

What happened when we ran it

Our sandbox installed 151 packages in 39 seconds and used 633 MB on disk. The build completed in 1 second. We ran commit f1bd10f in a fresh unprivileged Debian container with 3 CPUs, 8 GB of RAM, and no secrets. The checked-out repository contained 156 files and about 20,365 source lines. Those numbers make the package straightforward to reproduce compared with many local AI projects, although they do not measure report accuracy or market-data quality.

Pytest finished in 57 seconds with 377 passed, 0 failed, and 15 skipped of 377. Pip-audit reported 0 known vulnerabilities in the installed environment. The repository had a Dockerfile, a compose file, and a tests directory, but our scan found 0 CI workflow files. A passing local suite is useful; the missing visible CI configuration means a maintainer or adopter must decide where those same checks are enforced for incoming changes.

The 151-package install still needs model credentials and live data

Python 3.10 or newer, pip install -e ., and one command can start either the CLI or Streamlit interface. The application then needs an LLM route. The README documents MiniMax, DeepSeek, Qwen, GLM, OpenAI, Anthropic, Kimi, xAI, OpenRouter, Ollama, and custom OpenAI-compatible endpoints. Most routes need their own environment variable, and each analysis is described as 30 to 50 LLM calls, so provider price and quota belong in the trial budget.

One 633 MB environment cannot satisfy every optional path cleanly. The project removed its Google extra in v0.3.1 because supported Google packages require httpx 0.28.1 or newer while mootdx pins a version below 0.26. The docs tell Gemini users to install packages manually, accept the bump, or use another environment. A separate Agent SDK extra, added in v0.4.0, can use a personal Claude subscription for selected roles and fall back to a paid provider when quota is exhausted.

Seven free data sources create several failure points

Inside our 5 MB checkout, the README lists 7 public data sources: mootdx, Tencent Finance, East Money, Sina Finance, Tonghuashun, Cailianshe, and Baidu Stock Market. They cover prices, statements, news, sector data, lockups, and fund flows without a dedicated market-data API key. Mootdx uses TCP 7709 while the others rely mainly on public web endpoints. That breadth helps fill an A-share report, but it also makes the output depend on several changing services outside the repository's control.

Issue 102 shows what that dependence looks like. The reporter recorded failed mootdx handshakes, Cailianshe parsing trouble, a closed East Money connection, and a Tonghuashun response handled as a missing file in the same analysis. Fallbacks kept parts of the run moving, but missing evidence can still leave an analyst section empty. The README says empty reports are omitted from the interface. Users should record which sources answered and refuse to interpret a partial report as complete coverage.

Performance summaries do not turn decisions into a backtest

Version v0.5.2 added a command that revisits saved decisions after later prices arrive. It reports direction accuracy against CSI 300 alpha, groups outcomes by rating and symbol, and checks whether average alpha falls from Buy to Sell. The README warns that fewer than 20 directional samples are noise. This is a sensible feedback loop for research prompts because it forces ratings to meet later data rather than disappearing after generation.

The same documentation says the 377-test application has no position sizing, overlapping-window control, transaction costs, impact costs, or trade execution. It does not produce entry, stop-loss, or target prices. Open issue 105 records a deeper backtest available only through an HTTP endpoint, missing interface access, incomplete alert conditions, and duplicate screening implementations. Those are stated product gaps, not promised delivery dates. A performance command can expose weak judgments without proving a deployable strategy.

Version v0.5.17 is active, while the English setup text needs repair

Version v0.5.17 was released on September 5, 2026, the same date as the last repository push. GitHub showed 3,298 stars, 5 open issues, and 6 open pull requests. The release saves LLM provider, model, endpoint, and subscription choices under ~/.tradingagents/llm_config.json. That cadence and small queue look healthy for a repository created in May, though a young finance tool still deserves pinned revisions and its own data-quality checks.

The primary 36 KB README is Simplified Chinese, and a similarly detailed English version exists. The English quick start still says subscription plans cannot be used, while its later configuration section refers to the Claude Agent SDK subscription override. The Chinese README documents that override directly. English-only users should cross-check provider setup against the package manifest and current release until the contradiction is removed. The 39-second installation is easier than choosing a trustworthy model, data route, and evaluation method.

Alternatives

ProjectWhat it isPick it when
TradingAgents gh↗The original multi-agent financial research framework focused on the US-market workflow.pick this instead when you want the upstream design and US-market data assumptions rather than A-share specialization.
Qlib gh↗A quantitative research platform built around data, models, experiments, and portfolio workflows.pick this instead when reproducible quantitative experiments matter more than narrative reports from debating language models.
FinGPTA project for training and evaluating open financial language models.pick this instead when the model itself is your research subject rather than an A-share report application.

What people are saying

  1. [github-trending] simonlin1212/TradingAgents-astock

Sources

  1. TradingAgents-Astock Chinese README
  2. TradingAgents-Astock English README
  3. TradingAgents-Astock package manifest
  4. Version v0.5.17 release notes
  5. Market data failure report 102
  6. Platform gap issue 105
  7. TradingAgents paper
  8. Upstream TradingAgents repository

More ai tools reviews

AI-Engineering-Coach · sdf-js · doop · agent-native · YuE · kserve · the whole board →