7万星的AI交易框架:让大模型模拟投行多空辩论,自动做交易决策
7万星的AI交易框架:让大模型模拟投行多空辩论,自动做交易决策
前几天在GitHub上看到一个项目,71000颗星,13800个Fork——这在金融类开源项目里属于顶级热度了。更让我感兴趣的是它的设计思路:不是让一个AI帮你选股,而是让一整个投行研究团队在你电脑里跑起来。
这个项目叫 TradingAgents,TauricResearch 团队开发,2024年12月发布,已经有配套的学术论文(arXiv:2412.20138)。
本文提纲
- 它到底怎么工作的
- 最有意思的设计:多空辩论
- 技术架构拆解
- 实际跑起来是什么样的
- 它的局限和适用场景
它到底怎么工作的
TradingAgents 把交易决策拆成了四层角色,模拟真实投行的协作流程:
第一层:分析师团队。 四个专职分析师各自从不同维度分析同一只股票:
- Fundamentals Analyst — 啃财报,看PE/PB/ROE这些硬指标,找内在价值和红旗信号
- Sentiment Analyst — 爬社交媒体,算情绪得分,判断短期市场温度
- News Analyst — 监控全球新闻和宏观数据,解读事件对股价的影响
- Technical Analyst — 跑MACD、RSI、布林带这些技术指标,识别交易形态
第二层:研究员团队。 拿到分析师的报告后,进入结构化辩论环节。
第三层:Trader Agent。 综合所有报告和辩论结论,做出具体的交易决策——方向、价位、仓位大小。
第四层:风控 + 组合经理。 风控团队评估波动率和流动性等风险因素,组合经理做最终审批。审批通过,订单发到模拟交易所执行。
整个链路:分析师出报告 → 研究员辩论 → 交易员决策 → 风控审核 → 组合经理拍板。
最有意思的设计:多空辩论
这是整个框架里最值得聊的部分。
研究员团队分两拨人:Bull Researcher(看多派)和 Bear Researcher(看空派)。 他们不是各自写报告交差,而是进行多轮结构化辩论。看多的找上涨理由,看空的挑下跌风险,互相质疑对方的论据和逻辑。
为什么这个设计很重要?
单靠一个AI做判断,容易掉进确认偏误(Confirmation Bias)的坑——你问它"NVDA好不好",它大概率顺着你的语气说好话。但让两个AI对着干,正反两面都被逼出来,最终给交易员的决策依据就均衡多了。
这跟真实投行的做法如出一辙。投行研究报告里常见的"看多/看空"辩论机制,被 TradingAgents 用 LLM Agent 复刻了出来。
而且辩论轮数可以配置,默认是2轮,你可以调高让讨论更深入:
config = DEFAULT_CONFIG.copy()
config["max_debate_rounds"] = 3 # 让多空多辩论一轮技术架构拆解
框架底层用 LangGraph 构建。LangGraph 是 LangChain 团队做的工作流编排工具,天然适合多智能体协作场景——每个 Agent 是一个节点,节点之间通过有向图连接,状态在节点间传递。
项目结构很清晰:
tradingagents/
├── agents/
│ ├── analysts/ # 四个分析师
│ ├── researchers/ # 多空研究员
│ ├── trader/ # 交易员
│ ├── risk_mgmt/ # 风控团队
│ └── managers/ # 组合经理
├── dataflows/ # 数据获取层
│ ├── y_finance.py # Yahoo Finance
│ ├── alpha_vantage*.py # Alpha Vantage
│ └── yfinance_news.py # 新闻数据
├── graph/ # LangGraph 工作流
│ ├── trading_graph.py # 主图
│ ├── propagation.py # 前向传播
│ ├── reflection.py # 决策反思
│ └── checkpointer.py # 断点恢复
└── llm_clients/ # LLM 供应商适配LLM 供应商覆盖了目前主流的几乎所有选项:OpenAI、Google、Anthropic、xAI、DeepSeek、通义千问(DashScope)、智谱GLM、OpenRouter、Ollama 本地模型,甚至企业级的 Azure OpenAI。
用法简洁到一行核心代码:
from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.default_config import DEFAULT_CONFIG
ta = TradingAgentsGraph(debug=True, config=DEFAULT_CONFIG.copy())
_, decision = ta.propagate("NVDA", "2026-01-15")
print(decision)一行 propagate,背后跑的是整个投行团队的分析 + 辩论 + 决策流程。
还有两个实用的持久化机制:
- 决策日志:每次交易的决策和实际收益都会记到
~/.tradingagents/memory/trading_memory.md,下次分析同一只股票时会参考历史表现做反思——相当于 AI 的交易日记 - 断点恢复:分析跑到一半崩了,能从上次中断的节点继续,不用从头再来。基于 LangGraph 的 checkpoint 机制实现
实际跑起来是什么样的
CLI 界面长这样:你选择要分析的股票代码、分析日期、LLM 供应商、研究深度等参数,然后看着它一步步跑——新闻分析、基本面分析、技术分析、情绪分析、多空辩论、交易决策、风控评估,每个环节的中间结果都会实时显示。
也支持 Docker 一键启动:
cp .env.example .env # 填入 API Key
docker compose run --rm tradingagents本地模型用户可以用 Ollama profile:
docker compose --profile ollama run --rm tradingagents-ollama它的局限和适用场景
先说清楚一件事:这个框架是做研究的,不是做实盘的。 项目 README 明确声明不构成投资建议。
几个实际限制:
数据源面向美股。 Alpha Vantage 和 Yahoo Finance 都以美股数据为主。A股用户需要自己接数据源,或者 fork 出来做适配。
没有实盘交易接口。 所有交易在模拟环境执行。要接实盘需要自己对接券商 API——这本身就是一个不小的工程。
API 成本不低。 分析一只股票要跑 6-8 个 Agent,每个都要调 LLM,多空辩论还要跑多轮。用 GPT-5.4 分析一只股票,API 费用可能在几块到十几块人民币。
AI 交易能力的验证。 论文中的回测表现 ≠ 真实市场表现,这中间通常有很大的鸿沟。
适合谁?
- 量化研究者——多智能体协作在金融领域的落地参考
- AI Agent 开发者——LangGraph 多智能体编排的成熟案例,角色分工和辩论机制的设计有借鉴价值
- 对 AI + 金融感兴趣的人——理解 AI 在金融决策中的真实能力边界
不适合谁? 想直接用它来炒股赚钱的人。至少目前不行。
TradingAgents 的核心价值不在于它能不能帮你赚钱——大概率不能直接帮你赚钱。它展示的是一种 AI 协作范式:把复杂任务拆成专业角色,在角色之间形成制衡和互补,用结构化辩论暴露不确定性。
多空辩论这个思路不只在金融领域有用。任何需要权衡利弊的复杂决策——产品路线选择、技术方案选型、竞品分析——都可以借鉴这种"让AI内部对抗"的方式,比单AI给结论靠谱得多。
作者: itech001
来源: 公众号:AI人工智能时代
主页: https://www.theaiera.cn(每日分享最前沿的AI新闻和技术)
本文首发于 AI人工智能时代,转载请注明出处。