AI Skill Hub 强烈推荐:A股多Agent投研框架 是一款优质的Agent工作流。AI 综合评分 8.0 分,在同类工具中表现稳健。如果你正在寻找可靠的Agent工作流解决方案,这是一个值得深入了解的选择。
A股多Agent投研框架 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
A股多Agent投研框架 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
# 方式一:pip 安装(推荐)
pip install tradingagents-astock
# 方式二:虚拟环境安装(推荐生产环境)
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install tradingagents-astock
# 方式三:从源码安装(获取最新功能)
git clone https://github.com/simonlin1212/TradingAgents-astock
cd TradingAgents-astock
pip install -e .
# 验证安装
python -c "import tradingagents_astock; print('安装成功')"
# 命令行使用
tradingagents-astock --help
# 基本用法
tradingagents-astock input_file -o output_file
# Python 代码中调用
import tradingagents_astock
# 示例
result = tradingagents_astock.process("input")
print(result)
# tradingagents-astock 配置文件示例(config.yml) app: name: "tradingagents-astock" debug: false log_level: "INFO" # 运行时指定配置文件 tradingagents-astock --config config.yml # 或通过环境变量配置 export TRADINGAGENTS_ASTOCK_API_KEY="your-key" export TRADINGAGENTS_ASTOCK_OUTPUT_DIR="./output"
<p align="center"> 基于 <a href="https://github.com/TauricResearch/TradingAgents">TauricResearch/TradingAgents</a>(65K ⭐)的 A 股深度特化 fork<br> 全 Apache 2.0 开源 · pip install 即跑 · 零外部服务依赖 </p>
<p align="center"> <b>⚠️ 本项目是 <a href="https://arxiv.org/abs/2412.20138">TradingAgents 论文</a>框架的工程实现与研究复现,面向研究与教学。<br> 不构成任何投资建议,也不提供任何投资服务。</b> </p>
<p align="center"> <a href="https://github.com/simonlin1212/tradingagents-astock/stargazers"><img alt="Stars" src="https://img.shields.io/github/stars/simonlin1212/tradingagents-astock?style=social"/></a> <a href="https://github.com/simonlin1212/tradingagents-astock/network/members"><img alt="Forks" src="https://img.shields.io/github/forks/simonlin1212/tradingagents-astock?style=social"/></a> <a href="https://arxiv.org/abs/2412.20138"><img alt="论文" src="https://img.shields.io/badge/论文-arXiv_2412.20138-B31B1B?logo=arxiv"/></a> <a href="./LICENSE"><img alt="License" src="https://img.shields.io/badge/License-Apache_2.0-blue"/></a> <a href="./CHANGES_FROM_UPSTREAM.md"><img alt="改动记录" src="https://img.shields.io/badge/改动记录-CHANGES-orange"/></a> </p>
<p align="center"> <a href="#为什么做这个-fork">为什么做这个 Fork</a> · <a href="#与上游对比">与上游对比</a> · <a href="#架构概览">架构概览</a> · <a href="#7-个-analyst-角色">Analyst 角色</a> · <a href="#数据源">数据源</a> · <a href="#快速开始">快速开始</a> · <a href="#web-ui">Web UI</a> · <a href="#常见问题排错">排错</a> </p>
---
~/.tradingagents/llm_config.json,重开标签页或重启后自动恢复(v0.5.17)```bash
新建一个 Python 文件(比如项目根目录下的 run.py),把下面这段粘进去,按你选的供应商改 config 后运行 uv run python run.py。根目录自带的 main.py 就是这个示例的可运行版本,直接 uv run python main.py 也行。
config不是仓库里的某个配置文件,而是传给TradingAgentsGraph(config=...)的一个字典:只写你要覆盖的项,其余项自动取tradingagents/default_config.py里的默认值(完整可选项见下文「配置说明」一节)。
```python from tradingagents.graph.trading_graph import TradingAgentsGraph
config = { "llm_provider": "minimax", "deep_think_llm": "MiniMax-M2.7", "quick_think_llm": "MiniMax-M2.7-highspeed", "output_language": "Chinese", }
```bash
tradingagents-web
streamlit run web/app.py ```
打开浏览器访问 http://localhost:8501。
<p align="center"> <img src="assets/web-ui-welcome.png" width="80%" alt="Web UI 欢迎页"/> </p>
---
默认走 API Key 计费。每次分析需 30-50 次 LLM 调用。 例外(v0.4.0 新增):装 [agentsdk] 后可让部分或全部节点经 Claude Agent SDK 走你个人 Claude Pro/Max 订阅额度,不产生 API 账单。见下方「用个人 Claude 订阅额度」。
在项目根目录创建 .env 文件,按你选择的供应商配置:
```bash
所有配置通过 config 字典传入,完整选项:
| 参数 | 默认值 | 说明 |
|---|---|---|
llm_provider | "minimax" | LLM 提供商:minimax / deepseek / qwen / glm / openai / anthropic / google / xai / ollama |
deep_think_llm | "MiniMax-M2.7" | Research Manager + Portfolio Manager 用的模型 |
quick_think_llm | "MiniMax-M2.7-highspeed" | 所有 Analyst / Researcher / Trader 用的模型 |
backend_url | None | 自定义 API 端点 / 第三方中转网关。可在 Web UI 侧边栏填写,或用 .env 的 BACKEND_URL;方便国内通过代理访问 Claude / OpenAI |
role_llms | {} | **可选**:给单个角色指定另一家模型(如多空辩手用不同厂商),留空 = 全部沿用 quick/deep 两档,行为不变。见下方「分角色模型」 #39 |
max_tokens | None | 单次回复的最大输出 token 数。None = 用 provider 默认值。**报告写到一半就断,先调这里**(不是上下文超长);也可用环境变量 TRADINGAGENTS_MAX_TOKENS。#91 |
output_language | "Chinese" | 报告输出语言(内部辩论始终英文) |
market_lookback_days | None | 技术分析回溯天数(分析区间 = 起始日期 → 分析日期)。Web/CLI 由「数据起始日期」自动算出;None = 模型自选(约 30 天)。#16 |
max_debate_rounds | 1 | Bull vs Bear 辩论轮数 |
max_risk_discuss_rounds | 1 | 风险三方辩论轮数 |
data_vendors | 全部 "a_stock" | 数据供应商路由 |
checkpoint_enabled | False | 启用 SQLite 断点续跑 |
memory_log_max_entries | None | 交易记忆最大条目数 |
---
pip install -e ".[agentsdk]" ```
装完即可用,无需 Docker。 安装后直接跑streamlit run web/app.py(Web UI)或tradingagents(CLI)即可,详见下方「Web UI」「CLI 方式」两节。Docker 仅是可选的部署方式,本地开发不需要。
ANTHROPIC_API_KEY=your-kimi-token ANTHROPIC_BASE_URL=https://api.kimi.com/coding/
tradingagents # 交互式 CLI
tradingagents analyze # 同上(默认命令)
tradingagents performance # 决策绩效统计(见下)
tradingagents --help # 查看所有选项
默认所有角色共用 quick_think_llm / deep_think_llm 两档——大多数人只有一家模型,不需要碰这一项。
如果你手上有多家模型,可以给单个角色单独指定。最典型的用法是让多空辩手用不同厂商的模型:同一个模型分饰多角时倾向于互相附和,换成不同底座才会真的出现反驳。
config = {
"llm_provider": "deepseek", # 未单独配置的角色仍走这里
"deep_think_llm": "deepseek-chat",
"quick_think_llm": "deepseek-chat",
"role_llms": {
"bull": {"provider": "qwen", "model": "qwen-plus"},
"bear": {"provider": "glm", "model": "glm-4.6"},
# provider 省略则沿用 llm_provider,只换模型:
"portfolio_manager": {"model": "deepseek-reasoner"},
},
}
合法角色名(其余角色自动沿用两档默认):
| 分组 | 角色名 |
|---|---|
| 7 个分析师 | market social news fundamentals policy hot_money lockup |
| 辩论与决策 | bull bear research_manager trader |
| 风险三方 | risk_aggressive risk_neutral risk_conservative |
| 其他 | quality_gate portfolio_manager |
几点说明:
DEEPSEEK_API_KEY / DASHSCOPE_API_KEY / ZHIPU_API_KEY …),缺哪个会指名报出来。backend_url 带过去(那是给主 provider 配的端点),需要的话在该角色里单独写 backend_url。claude_agent_sdk 订阅覆盖时,role_llms 里配的角色会绕开订阅按 token 计费,启动时会点名警告是哪几个。---
| 特性 | 原版 TradingAgents | **本 Fork** |
|---|---|---|
| 许可证 | Apache 2.0 | **全 Apache 2.0** |
| 部署依赖 | pip install | **开箱即用** |
| A 股数据 | ❌ | **mootdx + 东财 + 新浪 + 同花顺(直连 HTTP)** |
| A 股特化角色 | ❌ | **政策/游资/解禁 3 个深度角色** |
| A 股交易约束 | ❌ | **T+1/涨跌停/手数/ST 全覆盖** |
---
pip install --no-deps "langchain-google-genai>=4.0.0" pip install "google-genai>=1.53.0" "httpx>=0.28.1"
Q: 用 DeepSeek/通义/智谱,却报 OpenAIError: The api_key client option must be set ... OPENAI_API_KEY? 每个供应商用各自的环境变量,不是 OPENAI_API_KEY:DeepSeek=DEEPSEEK_API_KEY、通义=DASHSCOPE_API_KEY、智谱=ZHIPU_API_KEY、MiniMax=MINIMAX_API_KEY、xAI=XAI_API_KEY、OpenRouter=OPENROUTER_API_KEY、OpenAI 兼容(自定义)=OPENAI_COMPATIBLE_API_KEY。在项目根目录 .env 里设置对应变量后重启程序。(v0.2.12 起缺 key 会直接提示该用哪个变量名。)
Q: 想接一个 OpenAI 兼容的第三方网关/中继(9Router、AI Router、自建代理),自定义 base_url + model? 用 「OpenAI 兼容(自定义 base_url)」 这一档(v0.2.20 新增)。Web 侧栏「LLM 供应商」选它 →「快速/深度思考模型 ID」手动填你网关支持的 model 名 →「API Base URL」填你的网关地址(如 https://your-relay.example/v1)→ .env 里设 OPENAI_COMPATIBLE_API_KEY=你的key(也接受 OPENAI_API_KEY)。CLI 方式选 OpenAI-Compatible 后会提示输入 Base URL。它走标准 Chat Completions(非 OpenAI Responses API,兼容性最好),model 名自由填、不受内置清单限制。配置方式等价:llm_provider="openai_compatible" + backend_url="<你的网关>" + deep_think_llm/quick_think_llm="<你的model>"。
Q: 明明装了 Python 3.12/3.14,pip install -e . 却报 requires a different Python: 3.9.6 not in '>=3.10'? 报错里的 3.9.6 就是当前这个 pip 绑定的解释器版本——你装的新版本没被它用上(macOS 自带的 pip3 常指向系统 3.9)。先确认是哪个解释器在跑:
pip3 -V # 末尾括号里就是它绑定的 Python
python3.12 -m pip -V # 换成你想用的版本再看
用 python -m pip 的写法就不会认错人,推荐配合虚拟环境:
python3.12 -m venv .venv && source .venv/bin/activate
python -m pip install -e .
Windows 用 py -3.12 -m venv .venv + .venv\Scripts\activate。(#92)
Q: 报告写到一半就结束了,上下文明明没超长? 撞的是输出上限,不是上下文上限——模型一次回复能吐多少 token 是另一个限制。v0.4.1 起,这种截断会在日志里明确告诉你(因为达到输出上限被截断),不再是默默给你半篇报告。调大即可:config 里设 max_tokens(例如 "max_tokens": 16000),或设环境变量 TRADINGAGENTS_MAX_TOKENS=16000。
另外,用 Kimi 等第三方模型名走 anthropic 通道时,langchain 认不出模型名,会默认一个很小的输出上限(旧版本表现为报告普遍偏短)。v0.4.1 起这种情况会自动放宽到 8192,仍不够就显式配 max_tokens。#91
Q: 接 Kimi 报 401 invalid x-api-key? 说明请求发到了 Anthropic 官方而不是 Kimi——光给 key 没给端点。两个都要给:
ANTHROPIC_API_KEY=你的kimi-token
ANTHROPIC_BASE_URL=https://api.kimi.com/coding/ # 或在 config 里写 backend_url
注意 ANTHROPIC_AUTH_TOKEN 在本项目里不生效(那是 Claude Code CLI 的写法),本项目走 langchain,只读 ANTHROPIC_API_KEY。v0.4.1 起,用非 Claude 模型名却没配端点会在启动时直接告诉你缺什么,而不是等 Anthropic 回一句看不懂的 401。#89
Q: 导出 PDF 报 UnicodeEncodeError: 'latin-1' codec can't encode? 你的环境里装了旧版 fpdf(pyfpdf),它和本项目用的 fpdf2 都以 fpdf 名称导入、互相冲突。执行:pip uninstall -y fpdf && pip install "fpdf2>=2.8.6"。实在不行可改用「下载 Markdown」导出(零依赖,永远可用)。
Q: Docker 里怎么跑 Web UI?容器启动报 Invalid value: File does not exist: web/app.py? 用 compose 里的 web 服务:docker compose up web,然后开 http://localhost:8501 。
报这个错通常是因为命令写成了 streamlit run web/app.py——这条依赖当前工作目录,工作目录不对就找不到文件。正确的入口是 tradingagents-web(即 web.launch:main),它按 __file__ 解析 app.py 的绝对路径,跟工作目录无关。本地跑同理,装完后直接 tradingagents-web 最稳。
Q: Docker 里导出 PDF 报「未找到中文字体」? v0.2.12 起 Dockerfile 已内置 fonts-noto-cjk,重新 docker build 即可。旧镜像可临时 apt install fonts-noto-cjk,或改用 Markdown 导出。
Q: Docker 启动报 [Errno 13] Permission denied: /home/appuser/.tradingagents/cache? 旧版镜像里没预建数据目录,docker-compose 的命名卷挂上来时被 Docker 建成 root 属主,而容器内进程以 appuser 运行、写不进去。v0.2.14 起 Dockerfile 已预建 /home/appuser/.tradingagents(cache/logs/memory)并归属 appuser,命名卷会继承该属主。升级方式:git pull 后 docker compose build --no-cache 重建镜像;若想保留旧数据卷可先 docker run --rm -v tradingagents_data:/d alpine chown -R 1000:1000 /d 修正属主,否则 docker volume rm tradingagents_data 后重建即可。
Q: 部分分析师报告(情绪/新闻/基本面/政策/游资/解禁)空白不显示? 这些报告由对应 Analyst 调用数据工具后生成,空报告会被自动跳过不显示。数据源本身是健康的(腾讯/mootdx/同花顺/东财实测出数);报告为空通常是所选模型 tool-call 能力弱(如部分 deepseek/minimax 轻量模型不稳定地调用工具)。建议换用 tool-call 更稳的模型(deepseek-chat / 通义 / GLM-4 / Claude / GPT 等),或重试。
Q: 为什么没有 [google] extra 了?装 Gemini 报 httpx 冲突怎么办? v0.3.1 起移除了 [google] extra(#87)。原因:langchain-google-genai>=4.0.0 要求 google-genai>=1.53.0,而该区间内每一个 google-genai 版本都要求 httpx>=0.28.1;mootdx(核心 A 股数据源)钉死 httpx>=0.25,<0.26。没有任何版本组合能同时满足,冲突是结构性的。
真正的问题是:uv 构建的是覆盖所有 extra 的 universal lock,所以只要这个 extra 存在,uv sync 就对所有人失败——包括从不用 Gemini 的用户。把 extra 留空更糟(pip install .[google] 会静默什么都不装,用户以为装好了)。所以直接移除,并在 google_client.py 导入失败时给出可直接执行的安装命令。
需要 Gemini 时显式安装(mootdx 取行情走 TCP 协议、运行时根本不 import httpx,所以抬高 httpx 实测不影响取数):
pip install --no-deps "langchain-google-genai>=4.0.0"
pip install "google-genai>=1.53.0" "httpx>=0.28.1"
或把 Gemini 与数据层分到不同 venv。最省心是用 DeepSeek / MiniMax / 通义 / OpenAI 兼容中继等,完全不涉及这个冲突。
另澄清:litellm / mcp 不是本项目的依赖——报错里若提到它们,是你环境里其它包带来的。
Q: 不进 CLI 交互,怎么批量跑多只标的、拿到和 CLI 一样的完整报告? 看 examples/run_cases.py:它复用 CLI 的 save_report_to_disk(),每只标的输出与 CLI 一致的 complete_report.md(分析师 / 研究 / 交易 / 风险 / 组合五个分区)+ 一份字段齐全的 summary.json。用法:uv run python examples/run_cases.py(跑全部)或 uv run python examples/run_cases.py 688017(单只);改 build_config() 切换 provider/model。
---
基于 TauricResearch/TradingAgents(65K ⭐)的 A 股深度特化 fork,Apache 2.0 开源,pip install 即跑,零外部服务依赖。该项目仅供学习研究与技术演示,不构成任何投资建议。投资决策请咨询持牌专业机构。
模型自选:侧边栏支持 9 个 LLM 供应商切换(MiniMax/DeepSeek/Qwen/GLM/OpenAI/Anthropic/Google/xAI/Ollama)。一键分析:输入 6 位 A 股代码 + 日期,点击「开始分析」。实时进度:12 阶段 pipeline 实时显示(7 分析师 → 质量门控 → 辩论 → 风控 → 决策)。完整报告:信号卡片(Buy/Hold/Sell)、7 份分析师报告、多空辩论、风控评估。报告导出:一键下载 Markdown(零依赖,永远可用)或 PDF 完整分析报告(PDF 自动适配 Windows/macOS/Linux 中文字体)。历史记录:自动保存并展示所有历史分析。
快速开始 1. 环境准备 2. 配置 LLM 3. 运行分析 根据你选择的供应商修改 config: > **必须使用 API Key**,不能用 Claude/ChatGPT 订阅版。 在项目根目录创建 .env 文件,按你选择的供应商配置: > 每次分析需 30-50 次 LLM 调用,只有 API 模式支持。 4. CLI 方式 > 交互式 CLI:tradingagents > 查看所有选项:tradingagents --help
如需使用 Google Gemini 模型(可选): > pip install -e ".[google]" 根据你选择的供应商修改 config: > **必须使用 API Key**,不能用 Claude/ChatGPT 订阅版。 在项目根目录创建 .env 文件,按你选择的供应商配置: > 每次分析需 30-50 次 LLM 调用,只有 API 模式支持。
配置说明 > **必须使用 API Key**,不能用 Claude/ChatGPT 订阅版。 在项目根目录创建 .env 文件,按你选择的供应商配置: > 每次分析需 30-50 次 LLM 调用,只有 API 模式支持。 > 例如: > ANTHROPIC_AUTH_TOKEN=your-kimi-token > "backend_url": "https://api.kimi.com/coding/"
API/接口说明 > 方案 G:Kimi(Anthropic 兼容 API) > ANTHROPIC_AUTH_TOKEN=your-kimi-token > "backend_url": "https://api.kimi.com/coding/"
常见问题排错 > Q: 用 DeepSeek/通义/智谱,却报 `OpenAIError: The api_key client option must be set ... OPENAI_API_KEY`? > A: 每个供应商用各自的环境变量,不是 OPENAI_API_KEY。 > 例如: > DeepSeek=`DEEPSEEK_API_KEY` > 通义=`DASHSCOPE_API_KEY` > 智谱=`ZHIPU_API_KEY` > MiniMax=`MINIMAX_API_KEY` > xAI=`XAI_API_KEY` > OpenRouter=`OPENROUTER_API_KEY`。 > 在项目根目录 .env 里设置对应的 API Key。
高质量的AI工作流,适配A股数据源
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ Apache 2.0 — 宽松开源协议,可商用,需保留版权声明和 NOTICE 文件,含专利授权条款。
总体来看,A股多Agent投研框架 是一款质量优秀的Agent工作流,在同类工具中具备一定竞争力。AI Skill Hub 将持续追踪其更新动态,建议收藏备用,结合自身场景选择合适时机引入使用。
| 原始名称 | TradingAgents-astock |
| 原始描述 | 开源AI工作流:A股多Agent投研框架 — 适配A股数据源(龙虎榜/游资/解禁等),7位分析师基于A股规则的辩论决策,基于TradingAgents深度改造,适配大A。A-s。⭐949 · Python |
| Topics | AI股票投研 |
| GitHub | https://github.com/simonlin1212/TradingAgents-astock |
| License | Apache-2.0 |
| 语言 | Python |
收录时间:2026-06-03 · 更新时间:2026-06-05 · License:Apache-2.0 · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端