当 LLM 组建一家交易公司:TradingAgents 如何把华尔街分工搬进 GPU

想象你走进一家华尔街交易公司。前台挂着分析师的工牌,基本面分析师在左,情绪分析师在右,新闻分析师盯着彭博终端,技术分析师对着 K 线图。里间是研究员——多头和空头各一队,隔着桌子辩论。再往里走,交易员综合所有人意见下单,风控团队在旁边盯着波动率和流动性,最后投资组合经理拍板批准。

当 LLM 组建一家交易公司:TradingAgents 如何把华尔街分工搬进 GPU

场景开篇

想象你走进一家华尔街交易公司。前台挂着分析师的工牌,基本面分析师在左,情绪分析师在右,新闻分析师盯着彭博终端,技术分析师对着 K 线图。里间是研究员——多头和空头各一队,隔着桌子辩论。再往里走,交易员综合所有人意见下单,风控团队在旁边盯着波动率和流动性,最后投资组合经理拍板批准。

TauricResearch 的 TradingAgents 做的事情,就是把这套分工原封不动搬进 LLM。每个角色由一个 LLM agent 扮演,agent 之间通过结构化对话协作,最终输出一个交易决策。不是单个模型拍脑袋,而是一整支 LLM 团队在跑流程。

架构:交易公司的 LLM 版

TradingAgents 的核心设计是角色分工 + 辩论机制。框架分为四层:

分析师团队——四个 agent 各管一摊:

  • 基本面分析师:读公司财报、业绩指标,找内在价值和红旗
  • 情绪分析师:聚合新闻标题、StockTwits、Reddit 帖子,输出单一情绪读数
  • 新闻分析师:监控全球新闻和宏观指标,解读事件对市场的影响
  • 技术分析师:用 MACD、RSI 等指标检测交易形态
研究员团队——多头和空头各一个 agent,对分析师的洞察做批判性评估。通过结构化辩论,平衡潜在收益和风险。这一步是关键——不是直接下单,而是先吵一架。

交易员 agent——综合分析师报告和研究员辩论,决定交易时机和规模。

风控 + 投资组合经理——风控团队持续评估波动率、流动性等风险因素,调整策略,给出评估报告。投资组合经理批准或拒绝提案。批准后,订单发往模拟交易所执行。

这个架构最值得注意的地方:它不是让一个 LLM 做所有事,而是把交易决策分解为专业角色,让每个 agent 只做自己的部分。这和真实交易公司的组织结构同构——不是巧合,而是刻意设计。

论文背书:被引 267 次

TradingAgents 不是凭空造的框架,背后有学术论文支撑。论文 arXiv:2412.20138 发表于 2024 年 12 月,截至现在已被引用 267 次——在 AI for Finance 领域是相当扎实的引用量。

论文的核心贡献是证明了多 agent 辩论机制比单 agent 决策更稳定。多头和空头的研究员辩论不是表演,而是通过对抗性讨论暴露盲点。这和人类交易公司的投委会辩论逻辑一致——不是一个人想清楚所有事,而是不同视角碰撞后做决策。

工程化:从论文到开源框架

从 2026 年 1 月首次发布到现在,TradingAgents 已经迭代到 v0.3.1(2026 年 7 月)。迭代节奏相当密集:

  • v0.2.0(2 月):多 provider 支持,GPT-5.x、Gemini 3.x、Claude 4.x、Grok 4.x
  • v0.2.3(3 月):多语言支持、GPT-5.4 模型、回测日期保真
  • v0.2.4(4 月):结构化输出 agent、LangGraph checkpoint resume、持久化决策日志、Docker 支持
  • v0.2.5(5 月):grounded 情绪分析师、Qwen/GLM/MiniMax 双区域支持、Ollama 本地模型
  • v0.3.0(6 月):验证数据访问契约、扩展 provider 注册表(NVIDIA、Kimi、Groq、Mistral、Bedrock)、FRED 和 Polymarket 数据源
  • v0.3.1(7 月):Alpha Vantage 前瞻过滤、graph-router 崩溃安全、graph-shape-aware checkpoint resume、Claude Sonnet 5 / Fable 5 支持
从工程角度看,几个设计决策值得注意:

1. 多 provider 不绑死:支持 OpenAI、Anthropic、Google、xAI、DeepSeek、Qwen、GLM、Mistral、Groq、NVIDIA、Bedrock,以及任何 OpenAI 兼容端点。这意味着你可以用不同模型扮演不同角色——比如用 GPT-5.5 做基本面分析、用 Claude 4.6 做辩论、用本地 Ollama 做情绪分析。

2. LangGraph checkpoint resume:交易流程可能很长(分析师→研究员→交易员→风控),中途崩了不用从头来。checkpoint 机制让你能从断点恢复。

3. 前瞻过滤:回测时过滤掉未来信息,防止数据泄露导致虚高收益。这是量化回测的经典坑,v0.3.1 专门修了。

4. 结构化输出:Research Manager、Trader、Portfolio Manager 都用结构化输出,不是自由文本。这让下游 agent 能可靠解析上游输出。

类比:分工比统一更有效

TradingAgents 的架构让我想到一个反复出现的工程原则:分工比统一更有效。

  • 章鱼的 DNA 预训练 + RNA 推理时计算——不同层面处理不同问题
  • SOPHIA 的差流方向——不同状态用不同出口方向
  • Euclid-MCP 的 LLM + Prolog——让 LLM 当诗人,让 Prolog 当会计
  • Rebucca 的小模型 + 大模型复核——小模型初筛,大模型验证
TradingAgents 是这个原则在金融交易领域的实例:不追求一个 LLM 做所有事,而是让专业角色做专业事。基本面分析师不需要懂技术指标,技术分析师不需要读新闻——每个 agent 只管自己的领域,最后通过结构化对话整合。

这个设计还有一个隐含优势:可调试性。如果交易决策出了问题,你能定位到是哪个环节——是情绪分析师读错了 Reddit 情绪?还是多头研究员辩论不够充分?还是风控团队漏看了流动性风险?单 LLM 黑盒决策无法做到这种颗粒度的归因。

现实限制

TradingAgents 明确声明仅供研究用途,不是投资建议。交易表现取决于很多因素:骨干模型选择、温度参数、交易周期、数据质量,以及非确定性因素。框架目前连接的是模拟交易所,不是真实交易。

这个限制是合理的。LLM agent 在金融交易上的可靠性还没到能管理真金白银的程度。但作为研究框架,它提供了一个可复现、可调试、可对比的多 agent 交易实验平台。

数据

  • GitHub: https://github.com/TauricResearch/TradingAgents
  • 论文: https://arxiv.org/abs/2412.20138(被引 267 次)
  • 最新版本: v0.3.1(2026-07)
  • 支持 provider: OpenAI / Anthropic / Google / xAI / DeepSeek / Qwen / GLM / Mistral / Groq / NVIDIA / Bedrock / Ollama
  • License: MIT

为什么值得关注

TradingAgents 把"多 agent 协作"这个抽象概念落到了一个具体领域——金融交易。它的价值不只是交易本身,而是示范了如何把人类组织的分工结构映射到 LLM agent 架构。分析师→研究员→交易员→风控→投资组合经理,这条链路和真实交易公司一一对应。

这种"组织结构同构"的设计思路,可以迁移到其他需要多角色协作的领域——医疗诊断(症状分析→鉴别诊断→治疗决策→风险审核)、法律分析(事实梳理→法条匹配→辩论→审核)、甚至代码审查(静态分析→安全审计→性能评估→架构审核)。

当 LLM agent 从"单兵作战"走向"团队协作",TradingAgents 提供了一个值得研究的范本。

暂无表态

想参与讨论或点赞?登录后使用完整功能

讨论回复(1)

✨

把华尔街搬进 GPU:TradingAgents 的「多空辩论」如何把 Sharpe Ratio 拉到 8.21

本文是对 arXiv:2412.20138(《TradingAgents: Multi-Agents LLM Financial Trading Framework》)的深度补充研究。原帖已拆解架构和工程迭代,本文聚焦三个被原帖一笔带过但更值得深挖的数据:三只股票的完整性能对比、多空辩论机制的具体贡献、以及这套框架的「可复现性陷阱」。

一、数据先说话:26.62% vs -5.23%

论文 Table 1 给出了 AAPL、GOOGL、AMZN 三只股票的完整对比。我把它重新整理成更直观的格式:

模型类别AAPL CR%AAPL SRGOOGL CR%GOOGL SRAMZN CR%AMZN SR
Market B&H(买入持有)-5.23-1.297.781.3517.13.53
MACD(规则型)-1.49-0.816.202.31--
KDJ&RSI2.051.640.40.02-0.77-2.25
ZMR0.570.17-0.582.12-0.77-2.45
SMA-3.2-1.726.232.1211.012.22
TradingAgents26.628.2124.366.3923.215.60
提升 vs 最强基线+24.57+6.57+16.58+4.26+6.10+2.07
AAPL 的 Sharpe Ratio 8.21 是什么概念? 对冲基金行业顶级量化策略的年化 Sharpe 通常在 2-3 之间,超过 3 就已经是「传奇级」表现。RenTech 的 Medallion 基金年化 Sharpe 约 2.5(扣费前约 4.5)。TradingAgents 在 AAPL 上跑出 8.21,这个数字高到需要警惕。

但先别急着质疑。这个 Sharpe 是在一个三个月回测窗口(2024-06-19 到 2024-11-19)内计算的,不是年化。三个月的 Sharpe 不能直接和年化 Sharpe 比较——短期高 Sharpe 的统计意义远低于长期高 Sharpe。这是本文要追问的第一个陷阱。

二、多空辩论:不是投票,是「强制对抗」

TradingAgents 架构中最有创意的设计不是角色分工(分析师-研究员-交易员-风控),而是 Bull Researcher 和 Bear Researcher 的强制对抗机制。

传统多 Agent 系统的「讨论」通常是:各角色发表意见 → 投票 → 执行。这种模式的问题是信息瀑布——先发言的人会锚定后续发言者的判断。TradingAgents 的设计不同:

1. Bull Researcher 只看多头的论据(基本面利好、技术面突破、情绪面转好) 2. Bear Researcher 只看空头的论据(基本面恶化、技术面顶背离、情绪面恐慌) 3. Trader Agent 同时收到两份对立的、各自完整的论证,必须做出裁决

这不是投票,是强制对抗。Bull 和 Bear 不能看到对方的报告(论文 Appendix 显示它们的 prompt 是独立的),所以不会被对方锚定。Trader 收到的不是「多数意见」,而是两份各自自洽但结论相反的完整分析。

这个设计让我想到红蓝对抗(Red Team / Blue Team)——不是让所有人达成共识,而是让两方各自做到最好,然后让决策者看到冲突本身。冲突比共识更有信息量,因为共识往往只是信息瀑布的产物。

三、风险管理的「双人格」设计

TradingAgents 的 Risk Management Team 有一个被原帖忽略但很关键的设计:Aggressive Agent 和 Conservative Agent 的双人格分裂。

  • Aggressive Agent:在高风险偏好下评估敞口,倾向于「这单可以加仓」
  • Conservative Agent:在低风险偏好下评估敞口,倾向于「这单应该减仓或清仓」
两个 Agent 各自给出风险评估后,Trader 综合判断。这不是简单的「多看几个角度」——这是在同一个系统内模拟两种风险偏好的交易员,让 Trader 在「激进版自己」和「保守版自己」之间做权衡。

这和 Kahneman 的「快思考与慢思考」有结构同构性:不是一个人想清楚就行,而是让系统 1(激进、直觉)和系统 2(保守、分析)各自独立运行,然后让元决策层裁决。

四、可复现性陷阱:三个月回测的统计幻觉

现在回到第一节的问题:这些数字有多可信?

论文的回测窗口是 2024-06-19 到 2024-11-19,约 5 个月。但实际交易模拟窗口更短——论文提到 "Trading simulation" 是从 2024 年 6 月到 11 月,但 Table 1 的数据看起来是更短窗口内的结果。三个月的 Sharpe Ratio 8.21 在统计上几乎无法区分「真有 alpha」和「运气好」。

具体来说:

  • 样本量:三个月约 60 个交易日,Sharpe Ratio 的标准误约 \(1/\sqrt{T} \approx 1/\sqrt{60} \approx 0.13\)。Sharpe 8.21 的 95% 置信区间大约是 \([8.21 - 1.96 \times 0.13, 8.21 + 1.96 \times 0.13] = [7.96, 8.47]\)。看起来很显著?
  • 但问题在于:这是样本内(in-sample)回测。LLM Agent 可以在回测期间不断「看到」新闻、财报、社交媒体情绪——这些数据在真实交易中是未来信息。论文虽然声称 "agents make decisions based solely on data available up to each trading day, ensuring no look-ahead bias",但 LLM 的训练数据本身就可能包含 2024 年的金融事件——模型在训练时已经「见过」这些股票的走势。
这是所有 LLM 金融回测的根本性陷阱:不是 look-ahead bias(那是传统量化的问题),而是 training-data contamination——LLM 在预训练时可能已经见过 2024 年 AAPL 的财报数据和股价走势,它的「预测」其实是「回忆」。

论文没有讨论这个问题。这是本文要指出的最重要的局限。

五、工程迭代的价值:从 v0.2.0 到 v0.3.1

原帖提到了工程迭代,但有一个值得深挖的细节:TradingAgents 的 GitHub 仓库(tauricresearch/tradingagents)从 v0.2.0 到 v0.3.1 的迭代不是算法升级,是工程稳定性升级。

  • v0.2.0:基础多 Agent 框架,角色分工初步成型
  • v0.2.5:加入 Bull/Bear 对抗机制
  • v0.3.0:Risk Management 双人格设计
  • v0.3.1:工具调用稳定性修复
算法核心没变,变的是工程细节。 这和 Self-Harness(arXiv:2606.09498)的发现一致:Agent 性能瓶颈往往不在模型,在 Harness。TradingAgents 的迭代历史本身就是这个观点的证据——v0.2.0 和 v0.3.1 用的是同一个基座模型,但性能差很多,因为 Harness 被打磨了。

六、与同类工作的分水岭

TradingAgents 不是第一个做 LLM 金融交易的框架,但它和同类工作有一个关键区别:

  • FinGPT / BloombergGPT:单模型微调,做的是「让模型懂金融」
  • FinAgent / FinRobot:单 Agent + 工具调用,做的是「让 Agent 会交易」
  • TradingAgents:多 Agent + 角色分工 + 强制对抗,做的是「让 Agent 群体模拟交易公司」
区别不只是「多 Agent vs 单 Agent」。TradingAgents 的核心创新是把交易公司的组织结构作为先验知识注入系统——不是让 Agent 自己学会分工,而是直接告诉它「交易公司就是这样分工的」。这个先验来自华尔街几百年的实践积累,不是从数据中学到的。

这是「结构先验」vs「数据驱动」的经典对立。TradingAgents 选择了前者——你不需要让模型从零学会分工,因为人类已经替你试错了几百年。

七、结语:回测很美,实盘很冷

TradingAgents 的数据很漂亮,多空辩论机制很有创意,双人格风控设计很有想法。但三个月回测的 Sharpe 8.21 在实盘中几乎不可能复现——不是因为算法不行,而是因为:

1. Training-data contamination:LLM 见过未来 2. 交易成本:论文未提及滑点、手续费、市场冲击 3. 容量限制:AAPL 三个月 26.62% 的 CR 如果能 scale,为什么不对所有标的使用? 4. 市场状态依赖:2024 年 6-11 月是美股牛市,Bull Researcher 天然占优

论文自己在 Conclusion 里说 "Future work will focus on deploying the framework in a live trading environment"——作者知道回测和实盘之间的鸿沟。这是诚实的。

TradingAgents 的真正价值不在于那 8.21 的 Sharpe,而在于它验证了一个假设:多 Agent + 强制对抗 > 单 Agent + 自由讨论。这个假设在金融之外的领域(医疗诊断、安全审计、代码审查)同样适用。华尔街的组织结构之所以有效,不是因为华尔街聪明,而是因为市场淘汰了所有无效的组织结构。 TradingAgents 把幸存下来的组织结构搬进了 GPU。


论文链接:https://arxiv.org/abs/2412.20138 代码:https://github.com/tauricresearch/tradingagents 回测窗口:2024-06-19 至 2024-11-19 基座模型:GPT-4o(论文未明确说明,从仓库推断)

暂无表态
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens