TradingAgents-AShare
14 个 AI Agent 模拟机构投研团队,多空辩论 + 风控博弈,输出带置信度和目标价的结构化交
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
14 个 AI Agent 模拟机构投研团队,多空辩论 + 风控博弈,输出带置信度和目标价的结构化交
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你坐在电脑前,想知道贵州茅台下周该不该买。传统方式需要打开券商软件翻财报、刷新闻、看技术指标——至少花半小时。而 TradingAgents-AShare 告诉你:把这事交给一个「AI 投研团队」。
这是一个基于多智能体协作的 A 股深度分析系统,模拟顶级投研机构的决策闭环,由 14 名专业 AI Agent 组成,分别负责行业研究、多空辩论、风控审查,最终输出包含方向、置信度、目标价和止损价的结构化交易建议。项目已上线公测(app.510168.xyz),并发布 OpenClaw 技能让用户直接在 AI 助手中调用投研能力。
图1:TradingAgents-AShare 系统架构 — 14 个智能体节点协同作战
A股市场信息密度极高:财报、公告、宏观政策、行业动态、主力资金流向、社交媒体情绪……普通投资者面对这些数据往往无从下手。而专业机构有完整的分析师团队——各司其职、交叉验证、集体决策。
TradingAgents-AShare 的作者 KylinMountain 将这种机构化协作方式搬到了 AI 时代。它脱胎于 TauricResearch/TradingAgents,后者是一个通用的多智能体交易框架;KylinMountain 在此基础上针对 A 股做了深度定制——接入 akshare、baostock 等本土数据源,支持上交所/深交所股票代码解析,内置中文投资逻辑。
从技术演进看,项目经历了从 Polars 到 Apache DataFusion 的 SQL 引擎切换、多智能体辩论机制的引入(Claim 驱动结构化辩论)、流式 Token 级输出……每一版迭代都在逼近更真实的「AI 投研机构」体验。
系统由 7 类分析师 → 2 类研究员(多空) → 3 类风控(激进/稳健/中性) → 1 名交易员构成,形成完整的三层决策链路:
图2:七维分析师团队,覆盖基本面、情绪、新闻、技术、宏观、主力资金等维度
| 角色 | 职责 | 代表 Agent |
|---|---|---|
| 基本面分析师 | 财报、估值、盈利能力 | fundamentals_analyst |
| 情绪分析师 | 市场情绪、资金流向 | market_analyst |
| 新闻分析师 | 实时新闻、公告解读 | news_analyst |
| 技术分析师 | K线、成交量、指标 | volume_price_analyst |
| 宏观分析师 | 政策、利率、汇率 | macro_analyst |
| 主力资金分析师 | 大单资金、游资动向 | smart_money_analyst |
| 社交媒体分析师 | 股吧、社交网络情绪 | social_media_analyst |
分析师输出并非最终答案,而是进入多头研究员 vs 空头研究员的辩论环节。辩论以 Claim(主张)为单位驱动,每方提出论点、证据、对立方反驳,最终由研究总监综合裁判。
图3:多空研究员 Claim 驱动辩论 — 研究总监综合裁决
整个多智能体协作基于 LangGraph(来自 LangChain 团队)实现。tradingagents/graph/trading_graph.py 是核心编排引擎:
from langgraph.prebuilt import ToolNode
from langgraph.checkpoint.memory import MemorySaver
from tradingagents.graph.trading_graph import TradingAgentsGraph
# 7 个分析师可选激活
graph = TradingAgentsGraph(
selected_analysts=["market", "social", "news",
"fundamentals", "macro",
"smart_money", "volume_price"],
debug=False,
config=config,
)
LangGraph 的优势在于:内置状态管理 + checkpoint 持久化。每轮辩论的中间状态(Claim、Evidence、Vote)会被自动记录,支持断点恢复和多轮迭代。相比手写状态机,LangGraph 让新增 Agent 类型和调整辩论流程变得模块化。
图编排还包含:intent_parser.py(自然语言 → 结构化标的/周期解析)、data_collector.py(统一数据抽象层)、signal_processing.py(信号处理)、reflection.py(反思机制)。
后端数据通过 agent_utils.py 中的抽象工具方法获取,底层依赖:
这套数据层的设计值得注意:它没有选择单一数据源,而是通过工具抽象层让不同分析师调用最适合的数据源——基本面分析师用 baostock,技术分析师用 akshare + stockstats,宏观分析师用 yfinance。数据源可以热插拔,新增数据源只需实现统一接口。
后端基于 FastAPI(api/main.py),提供完整的 REST API 和 JWT 认证:
| 端点 | 说明 |
|---|---|
POST /v1/analyze | 触发分析,返回 job_id |
GET /v1/jobs/{job_id} | 查询任务状态 |
GET /v1/jobs/{job_id}/result | 获取分析结果 |
GET /v1/reports | 历史研报检索 |
POST /v1/scheduled/batch | 批量定时任务 |
GET /v1/dashboard/tracking-board | 持仓追踪看板 |
前端基于 React 18 + TypeScript + TailwindCSS v4,使用 Zustand 做状态管理、Recharts 做图表、Lightweight Charts 做 K 线图、@xyflow/react 做辩论流程图可视化。
系统支持定时批量分析和持仓追踪:
图4:持仓追踪看板 — 实时价格、持仓盈亏、研报区间一屏展示
面向普通投资者:访问 app.510168.xyz 直接使用,有内置验证码(开发环境)或邮件验证(生产环境)。配置好 OpenAI/Anthropic/DeepSeek 等 API Key 即可分析任意 A 股。输入「调研五粮液短线」,系统自动识别标的和周期,10 分钟左右输出研报。
面向开发者:Docker 部署一键启动:docker run -d -p 8000:8000 ghcr.io/kylinmountain/tradingagents-ashare:latest。如需二次开发,源码安装需要 Python 3.10+、Rust 1.89+、Node.js 18+,使用 uv 管理 Python 依赖。
作者在 README 中明确声明:本项目仅供学习研究,不构成投资建议。这一点必须认真对待。
从技术角度,系统的局限性包括:
LLM 幻觉风险:分析师 Agent 可能生成看似合理但实则错误的财务数据解读。baostock 返回的数据准确性依赖上游,且 A 股财报披露有季节性延迟。
辩论机制的情感偏差:多空辩论看起来很「公平」,但 Prompt 设计者的先验假设会深刻影响辩论走向——哪方分析师的数据更全、Prompt 措辞更有利于某一方,都可能造成系统性偏差。
数据延迟:akshare 等数据源有不同级别的延迟,对于短线交易(尤其是日内)意义有限。
成本门槛:完整 14 Agent 流程一次分析涉及数十次 LLM 调用,GPT-4o 成本不低。作者支持切换到 GPT-4o-mini 或 DeepSeek 等低成本模型,但分析质量会有所牺牲。
TradingAgents-AShare 代表着 AI + 金融的一个具体方向:将机构化的投研流程民主化。传统上,只有券商研究所、基金公司的分析师团队才能完成这种多维度的系统性研究;现在,一个开源项目让任何人都能用上类似的工作流。
图5:交易员将研究结论转化为可执行方案 — 三方风控辩论审查后由组合经理最终裁决
从 GitHub Star 增长看,项目在 2025-2026 年间稳步增长,登上 GitHub Trending 并获得了社区的持续关注。它也带动了 OpenClaw 技能市场 上类似技能的发展——将垂直领域的 AI Agent 能力封装成可复用的 Skill,被更多 AI 助手集成调用。
这一趋势值得关注:未来的 AI 助手不会只是一个问答工具,而是会通过 Skill 生态「长出」各种专业能力——投研、代码、图像生成、数据分析。TradingAgents-AShare 正是这个方向的先行者之一。