论文阅读_多智能体LLM金融交易框架TradingAgents
1 | 英文名称:TradingAgents: Multi-Agents LLM Financial Trading Framework |
1 摘要
- 目标:提出一种受交易公司启发的股票交易框架,以提升交易表现。
- 方法:使用大型语言模型(LLM)构建多角色的代理系统,包括基础分析师、情感分析师、技术分析师和交易员,通过模拟动态协作的交易环境。
- 结论:通过详细的架构和广泛的实验,TradingAgents 在累计收益、夏普比率和最大回撤方面显著优于基准模型。
1 读后感
这篇论文在同类中算是设计较复杂的,附录有 Prompt 列表,GitHub 提供了代码。亮点在于整体架构设计,体现出作者对问题的理解和推演过程:
- 关键角色是什么
- 数据源有哪些
- 怎么具体实现
我个人比较喜欢:
- 拆解问题的方法:一旦拆解,就容易得到答案
- “分析团队”那部分(图一左侧),展示了股票投资相关的因素
- Agent 之间用结构化文本通讯,取代随意的自然语言
仔细一想,以大模型当前的知识结构、逻辑能力,加上 Agent 和 MCP 的信息整合渠道,不被情绪影响,不必做到完美,实现个七七八八就已经比普通人强太多了——那人到底强在哪儿?我一时真没想出来。
从实用角度看,如果只盯几只股票,用的资源也不会太多;毕竟趋势和基本面短期内变化不大。这是个可落地的方案。
(以下内容中,斜体部分为我的观点和思考,请谨慎阅读)
1 现状
传统算法交易系统主要依赖定量模型,但往往难以捕捉多种因素之间复杂的相互作用。基于深度学习的交易系统通常可解释性较差,因为它们依赖隐藏特征,难以让人理解其决策依据。LLM(大型语言模型)具备处理自然语言数据的能力,非常适合分析新闻、财报和社交媒体舆情等文本驱动任务,而当前 LLM 也有局限性:
- 组织建模不够现实:模型狭隘聚焦任务绩效,与真实交易机构的工作流程和人工作法割裂,难以模拟真实协作。(文中改进:引入层级化角色分工(如分析团队、研究团队、交易团队、风险管理团队等)来模拟真实交易组织的协作结构,有助于提升系统的可操作性与业务契合度)
- 通信接口效率低下:依赖自然语言通信容易产生“电话效应”,对话中细节丢失、状态损坏,破坏信息完整性。(文中改进:在自然语言基础之上,加入结构化输出(如报告模板、摘要结构等)以保障信息传递的准确性和上下文稳固性)
2 TradingAgents:角色专业化
图 1:TradingAgents 系统架构。从左到右依次是,分析师团队:并行收集市场信息;研究团队:对信息进行评估和辩论;交易代理:基于研究结论做出交易决策;风险管理团队:评估市场风险并提出风险控制建议;基金经理:批准并执行最终交易操作(这里的基金经理是由人最后把关)。
2.1 分析师团队
负责收集和处理多源市场数据,为后续决策提供信息基础。该团队分为四类专业代理:
- 基本面分析代理:分析财报、收益报告、内幕交易等信息,评估公司内在价值,识别被高估或低估的股票,提供长期投资建议。
- 情绪分析代理:处理社交媒体数据、情绪打分与用户行为,识别市场情绪变化,预测短期投资者行为对股价的潜在影响。
- 新闻分析代理:分析新闻报道、政策公告和宏观经济数据,提取影响市场走势的重要事件,用于预测市场动态的突发变动。
- 技术分析代理:针对具体标的,计算并应用技术指标(如 MACD、RSI 等),识别价格走势和交易量模式,为择时提供支持。
2.2 研究员团队
该团队负责对分析师提供的信息进行批判性评估。由持有不同市场观点(看多 / 看空)的代理组成,通过多轮辩论权衡风险与回报,深入挖掘交易建议背后的逻辑合理性。
(根据先前的采集和计算结果进一步讨论,利用了大模型的金融能力)
2.3 交易代理
交易代理根据分析师和研究团队提供的综合信息做出实际交易决策:
- 评估各类见解,整合定量与定性信息;
- 决定交易时机与规模,力求收益最大化;
- 发出买入/卖出指令;
- 动态调整投资组合应对市场变化。
这一角色需要在高压、快速变化的市场中权衡风险与回报,其操作直接影响整体收益,对精度和策略性要求极高。
(这里提供了一种基于大模型的实现方法,也可以通过强化学习等技术优化复杂决策)
2.4 风险管理团队
监控和控制公司面临的各种市场风险。
- 分析波动性、流动性与交易对手风险;
- 提出风险控制措施(如止损、资产分散等);
- 为交易代理提供实时反馈,优化交易策略;
- 保证投资行为在公司风险容忍范围内运行。
所有代理均采用 ReAct 提示框架,结合推理与行动,使各角色能在任务中高效协同,具备结构化决策流程。
(可以看到,这里只提供了一个架构,每一个模块都可繁可简,都有进一步的优化空间)
3 TradingAgents:代理工作流程
3.1 通信协议
自然语言虽灵活,但面对复杂、长期任务时容易模糊不清。灵感来自 MetaGPT 等框架,其通过结构化通信大幅降低错误。TradingAgents 使用结构化通信协议,明确每个代理的输入输出:代理仅查询和处理所需信息,并以格式化报告返回,确保交互清晰、责任明确。
这种做法类似 MetaGPT 推崇的一致化工作流程,通过将标准操作程序(SOPs)编码到 prompt 中,促进模块化输出及角色分工有效避免错误传播。
3.2 代理间交互类型
TradingAgents 通过定义精确文档类型,替代自由文本沟通,确保信息规范、有序传递:
- 分析师团队:生成领域内(基本面、情绪、新闻、技术等)结构化分析报告,覆盖关键指标、见解与建议。
- 交易者代理:评估分析报告,生成明确的决策信号及支持证据,并形成结构化报告供风险管理使用。
- 研究员团队:看多和看空立场的代理基于分析报告展开多轮辩论,由主持人总结形成主流观点,并以结构化形式输出。
- 风险管理团队:参考交易者的决策与报告,在风险限制下调整方案,并通过主持人机制输出优化后建议。
- 基金经理:审核风险团队建议,最终确定和更新决策,并在协议中更新交易者的状态。
3.3 骨干 LLM
根据任务特点选用不同模型:
- 敏捷型 LLM(如 gpt‑4o‑mini、gpt‑4o)适用于摘要、检索、表格转文本等快速低深度任务。
- 深思型 LLM(如 o1‑preview)适用于决策制定、循证报告和数据深入推理等需求。
- 专用专家模型 用于情绪分析等专业任务。
架构高度模块化,可灵活替换不同骨干模型,以实现未来扩展与性能优化。
4 实验
TradingAgents 在三个抽样股票上的累计回报率达到了至少 23.21%,年回报率达到 24.90%,以 6.1% 的优势超越最佳基线表现。
图 6:TradingAgents 针对苹果公司($AAPL)的详细交易记录。绿箭头/红箭头分别表示多头/空头仓位 (买入/卖出),展示了模型随时间变化的交易决策。
表 1:使用四种评估指标对所有方法进行性能比较。
- CR% 累计收益 总共赚了多少
- ARR% 年化收益 每年大概赚多少
- SR 夏普比率 每单位风险带来多少回报
- MDD% 最大回撤 最惨时亏了多少
基于 LLM 的代理框架带来了变革性优势:通过自然语言进行决策传达,显著提升了可解释性。
源码分析:开源项目_TradingAgents