TradingAgents-Astock
面向 A 股规则与数据源的多智能体投研分析框架。
- Star 数
- ★ 3.9k
- 最近更新
- 8 天前
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 78/100 · 表现良好
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude APIClaude Code · Claude.ai(部分支持)
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 研究 A 股多智能体辩论行为的研究人员,需要把政策、游资和限售解禁因素纳入同一分析流程。
- 不适合
- 需要可执行建仓价、止损位、仓位与目标价的交易执行用户
- 希望开箱即用、不愿自备 LLM API Key 并承担调用费用的用户
- 源码审查
- 78/100 · 表现良好
这个 Agent 能做什么,适合哪些场景?
TradingAgents-Astock 是 TradingAgents 论文框架的 A 股工程实现与特化 fork,定位于研究和教学,不提供投资服务。它以 7 名分析师、Bull/Bear 研究辩论、交易方案和三方风险辩论组成 LangGraph 工作流,最终由 Portfolio Manager 给出评级与理由。框架通过 mootdx、腾讯财经、东方财富、新浪财经、同花顺、财联社和百度股市通等数据源获取行情、财务、新闻及 A 股特有信息。可作为 Python 库调用 TradingAgentsGraph,也提供交互式 CLI 和 Streamlit Web UI,并能导出 Markdown 或 PDF 报告。用户自行配置 LLM 凭据并在自己的机器上运行,仓库不托管分析服务或运行结果。
调用 TradingAgentsGraph.propagate("688017", "2026-05-12") 时,系统按 LangGraph 拓扑运行市场、舆情、新闻、基本面、政策、游资和解禁 7 个 Analyst。它们通过 get_stock_data、get_indicators、get_news、get_global_news、get_fundamentals、get_balance_sheet、get_cashflow、get_income_statement 与 get_insider_transactions 等数据工具生成报告;随后报告进入 Bull Researcher 与 Bear Researcher 的辩论、Research Manager 综合研判、Trader 交易方案,以及 Aggressive、Conservative、Neutral 三方风险讨论。Portfolio Manager 最终产出方向、评级和理由;框架明确不输出建仓价、止损位、仓位或目标价。Web UI 提供 12 阶段进度、报告查看、历史记录及 Markdown/PDF 下载,CLI 和 examples/run_cases.py 可将完整报告与 summary.json 写入磁盘。
- 研究 A 股多智能体辩论行为的研究人员,需要把政策、游资和限售解禁因素纳入同一分析流程。
- 熟悉 Python 的个人研究者,希望对单个 6 位 A 股代码运行可复现的多阶段研究流程。
- 需要查看技术、财务、新闻和风险讨论分项报告的投研教学人员。
- 希望在本机用 Streamlit 页面输入代码、日期和回溯区间后查看完整分析过程的非编程用户。
- 需要用 examples/run_cases.py 批量运行标的,并保存 complete_report.md 与 summary.json 的使用者。
如何安装或部署这个 Agent?
需要 Python >= 3.10、网络访问和至少一个已配置的 LLM 提供商凭据。
git clone https://github.com/simonlin1212/tradingagents-astock.git
cd tradingagents-astockpip install -e .
在项目根目录创建 .env,例如:
MINIMAX_API_KEY=sk-xxx也可配置 DEEPSEEK_API_KEY、DASHSCOPE_API_KEY、ZHIPU_API_KEY、OPENAI_API_KEY、ANTHROPIC_API_KEY 或其他文档列出的提供商变量。可选的 Claude Agent SDK 模式使用:
pip install -e ".[agentsdk]"如何使用这个 Agent?
Python 首次调用示例:
from tradingagents.graph.trading_graph import TradingAgentsGraphconfig = {"llm_provider": "minimax",
"deep_think_llm": "MiniMax-M2.7",
"quick_think_llm": "MiniMax-M2.7-highspeed",
"output_language": "Chinese",
}
ta = TradingAgentsGraph(debug=True, config=config)
final_state, decision = ta.propagate("688017", "2026-05-12")
print(decision)交互式 CLI 使用 tradingagents;Web UI 使用 tradingagents-web,或运行 streamlit run web/app.py,然后访问 http://localhost:8501。
这个 Agent 有哪些优点和局限?
- 将 T+1、涨跌停、最小手数和 ST 等 A 股交易约束纳入 Trader 相关流程。
- 新增政策、游资追踪和解禁监控三类 Analyst,覆盖龙虎榜、资金流、减持与限售解禁等 A 股特有研究因素。
- 支持 quick_think_llm 与 deep_think_llm 分工,并列出 MiniMax、DeepSeek、Qwen、GLM、OpenAI、Anthropic、Google、xAI、OpenRouter、Ollama 及 OpenAI 兼容网关路径。
- 同时提供 Python API、CLI、Streamlit UI、历史记录和 Markdown/PDF 报告导出。
- 每次分析默认需要约 30–50 次 LLM 调用;除可选 Claude 订阅模式外,通常依赖用户自己的 API Key 与计费账户。
- 数据采集依赖多个公开网络数据源;东方财富请求需要内置节流,批量场景建议设置 EM_MIN_INTERVAL=1.5~2。
- 部分 Analyst 报告可能因所选模型的工具调用能力不稳定而为空,文档建议更换模型或重试。
- Google Gemini 依赖与 mootdx 的 httpx 版本存在结构性安装冲突,需显式安装相关包或使用独立虚拟环境。
- 仓库明确不产出可执行价位、止损、仓位或目标价,因此不适合作为完整交易执行系统。
这个 Agent 与同类方案有什么区别?
相对上游 TradingAgents,本项目将默认数据路径从 Yahoo Finance / Alpha Vantage 改为 A 股数据源,并将 4 个 Analyst 扩展为 7 个;基准从 SPY 改为沪深 300,同时覆盖 A 股交易约束。与 Tushare、Alpha Vantage 和 Yahoo Finance 相比,文档将其描述为不依赖这些服务的直接数据获取方案。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| TradingAgents-Astock 当前 | 78 · 表现良好 | 代码库 / SDK免费 + 模型费 | ★ 3.9k | 8 天前 | Python | OpenAI API · Claude API |
| TradingAgents 多智能体交易研究框架 | 74 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 121k | 4 天前 | Python | OpenAI API · Claude API |
| OpenLens 科研智能体 | 46 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 282 | 2 个月前 | Python | OpenAI API |
| ALTA 研究交易工作台 | 76 · 表现良好 | 网页应用 | ★ 1.1k | 1 个月前 | Python | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README明确使用者自行配置并运行,项目不托管服务、不接触运行结果;列出数据源、LLM供应商、环境变量、代理端点和记忆落盘位置,数据流说明充分。凭据经环境变量配置,且注明订阅 SDK 子进程会清空 ANTHROPIC_API_KEY;但未见一般密钥存储或轮换方案,也未见启动分析前确认、数据访问权限细分的完整说明,故未给满分。
README和配置文档给出超时、重试、限流与失败提示,测试样例覆盖 SDK 超时和回退路径;CLAUDE.md记录了曾漏掉非A股代码校验、Responses API 截断告警等具体缺陷,说明维护中有自我纠错,但也显示静态声明与覆盖可能不总一致。依赖版本多为下限约束,Gemini 的 httpx 冲突和可选 SDK 依赖另行说明,常规可用性有交代但未证明所有依赖路径可靠。
目标用户和场景明确为A股研究与教学,支持CLI、Web、批量脚本、多个LLM供应商、可配置角色模型及分析日期。README明确排除投资服务、预生成个股结论、仓位和目标价等能力;参数可配置且角色名写错会报错。触发入口有交互、命令和Web按钮等说明,但具体运行时边界仍受数据源和模型工具调用能力影响。
README包含架构、数据源、角色、配置、快速开始、CLI/Web、FAQ、项目定位与限制;pyproject给出Python要求、入口、依赖和可选 extra;LICENSE提供Apache-2.0全文,README指向NOTICE和上游归属。CLAUDE.md记录版本、改动与维护规则,但它部分是贡献者指引,且仓库维护责任和后续更新承诺并未明确,故维护责任未满分。
报告包含分析师报告、辩论、风险评估、评级理由,支持Markdown/PDF导出和历史记录;绩效统计说明方向准确率口径、样本量提示及非回测限制。A股特化角色和市场规则提供相对通用框架的增量价值,但输出仍依赖外部LLM和数据源,README称单次分析约30–50次LLM调用,成本效益不能一概保证。
README以配置项、来源名称、接口职责和功能说明支撑主要产品主张;pyproject和测试源码能交叉印证依赖、入口与部分超时行为。README明确区分投资研究定位、AI生成风险及绩效统计限制,也在部分历史时点数据上说明需告警;不过不少数据源覆盖、风控效果和历史版本修复主张仅由文档陈述,且本评估没有运行或独立核实。
- 这是研究与教学框架,输出由模型生成且可能错误,不应当作投资建议或已验证的投资表现。
- 分析需要外部LLM及多个第三方行情/资讯源;密钥、费用、端点隐私和数据可用性需由运行者自行管理。
- README披露单次分析约30–50次LLM调用;绩效统计不是回测,存在重叠持有窗口、未计成本及样本偏差。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
v0.5.22 - fix: 历史日期调用时跳过实时请求及快照写入,明确说明实时数据已略去,不输出由其生成的金额或方向信号。可选缓存先按分析日截断,再取最近 20 条;无可用记录时说明缺失,保留当天调用行为。 (#121) 详见 CHANGELOG.md。在 GitHub 查看 ↗ -
v0.5.21 v0.5.21 — 财报三表恢复 + 防未来函数 / 自定义模型 ID
发布说明摘录
基本面分析师近 5 个月拿不到的三张财报恢复了,并且回看历史日期时只给分析日之前已经公布的财报;Web 侧栏的「Custom model ID」可以正常使用。建议所有用户升级。 修复 - 资产负债表 / 利润表 / 现金流量表恢复(#116,#117 by @ontheway06):新浪财报接口的数据在 report_list 里,v0.2.5(2026-05-17)起的解析只认另一种结构,三张表一直静默返回「No … data found」,分析师会把「该股没有财报」当成事实。现在两种结构都认;同名科目(如两个「利息收入」)不再互相覆盖。 - 回看历史时不再提前看到未公布的财报:原来按「报告期 ≤ 分析日」筛,分析日 07-15 会拿到 8 月才发的半年报。现在按新浪给的公告日、入库时间判断是否已公布;两个日期都被后来的报表改写时才按法定披露截止日判断;新浪 2020-03-13 给全市场的批量入库单独识别。逾期披露的公司也不会提前露出(例:300630 的 2023 年报 2024-07-05 才发,分析日 2024-05-15 看不到)。 - 三张财报表工具的分析日期改为必填(传空日期会要求重传),提示词写明要传;回看越早取的期数越多,2016 年等较早日期也能取到;升级前记下的缺数据重试会自动补上分析日期。 …在 GitHub 查看 ↗ -
v0.5.20 v0.5.20 — 超时保护补全
发布说明摘录
修复 - 补齐 Claude Agent SDK 订阅主路径的超时保护。llm_timeout 现在同样覆盖订阅调用;单轮按配置值计时,内部工具循环按允许轮数换算总预算。 - 超时后显式收尾 SDK 异步生成器;即使 SDK 阻塞自身事件循环或不响应取消,调用方也会通过 daemon 工作线程的有界等待返回,不再永久卡住。 - 保持付费护栏:超时可走已配置的 fallback,认证失效仍不会静默降级到按 token 计费的 provider。 - 为 Alpha Vantage 请求增加 30 秒网络超时,避免上游无响应时整轮分析永久等待。 验证 - 默认环境:512 passed / 13 skipped / 0 failed,另有 51 个 subtests 通过。 - 安装 agentsdk 可选依赖的隔离环境:34 passed。 - 新增 35 条超时与配置回归用例,并完成 9 项变异验证。 - Claude Opus 5 实现与复核;Cline CLI 的 Kimi K3 独立只读审查无 P0/P1/P2。 完整变更见 [CHANGELOG.md](https://github.com/simonlin1212/TradingAgents-astock/blob/v0.5.20/CHANGELOG.md)。在 GitHub 查看 ↗
常见问题
它会给出买入价、止损位和仓位吗?
运行是否需要付费?
为什么有些分析师报告为空?
能接入自建或第三方 OpenAI 兼容网关吗?
谢谢反馈,我们会据此改进页面。