TradingAgents多智能体交易框架

在金融领域,大多数系统要么使用单个智能体执行特定任务,要么使用多个独立工作的智能体。

构建像真实交易公司一样协作的多智能体系统的想法尚未得到深入探索。

TradingAgents (Github下载)是 Tauric AI 推出的一个开源的股票交易框架,其中基于 LLM 的智能体可以承担基本面分析师、情绪分析师、技术分析师以及具有不同风险级别的交易员等角色。

该系统还包含牛市和熊市智能体来分析市场,以及一个风险管理团队来跟踪风险敞口。

交易员将辩论中的洞见和过往数据相结合,从而做出更明智的决策。实验表明,这种协作模式优于传统模型,能够提升收益和风险指标。

1、引言

使用大型语言模型 (LLM) 的自主智能体可以通过模拟人类工作流程,将复杂问题分解成更小的部分,从而改变决策过程。在金融领域,这极具价值,因为市场受公司基本面、市场情绪和宏观经济等诸多因素的影响。

传统的交易系统依赖于量化模型,这些模型无法完全捕捉这种复杂性,而且通常缺乏可解释性。LLM 可以更好地分析文本数据,例如新闻和报告,而近期的多智能体 LLM 框架则能够提供更清晰、基于证据的决策。

然而,目前大多数系统存在两个主要问题:

  • 它们没有真实地模拟真实的交易公司如何协同工作,过于狭隘地关注单个任务。
  • 它们主要依赖于自然语言信息,这些信息随着时间的推移可能会变得混乱并失去上下文。

为了解决这个问题,我们提出了一个受真实交易团队启发的新框架。它包含专业代理——例如基本面分析师、情绪分析师、技术分析师以及具有不同风险水平的交易员——以及牛熊辩论员和风险管理团队。

我们还通过将结构化输出(以提高清晰度和控制力)与自然语言辩论相结合来改善沟通。

我们基于历史金融数据测试了该系统,发现其在收益、夏普比率和回撤方面均优于基准模型,展现了其在金融交易领域的潜力。

2、相关工作

2.1 LLM 作为金融助理

大型语言模型 (LLM) 可以通过基于金融数据进行微调或基于金融文本从头训练来支持金融领域。

  • 像 PIXIU (FinMA)、FinGPT 和 Instruct-FinGPT 这样的微调 LLM 通过在金融特定样本上进行训练,将通用模型应用于金融领域,从而提升了情绪分析和分类等任务的性能。虽然它们通常胜过 BLOOM 或 OPT 等开源模型,但在生成任务方面仍然落后于 GPT-4 等强大的通用模型。
  • 从零开始训练的 LLM(例如 BloombergGPT、轩辕 2.0 和 Fin-T5)使用金融专用语料库和专有数据,以实现更好的适应性。这些模型在金融任务中的表现优于同等规模的通用 LLM,展现了领域适应性的优势。

总体而言,专门用于金融的 LLM 在金融分析任务中表现更佳,凸显了高质量金融数据对训练的价值。

2.2 LLM 作为交易者

LLM 还可以通过分析新闻和价格等数据直接充当交易代理。主要有三种方法:

  • 新闻驱动的代理:利用新闻或宏观更新中的情绪来预测股票走势。闭源和开源的 LLM 都在这方面取得了成功,尤其是在针对金融任务进行微调后。更先进的方法会总结新闻并推理其对价格的影响。
  • 推理驱动的代理:通过代理之间的反思和辩论来改进交易决策。例如,FinMem 和 FinAgent 使用记忆和多模态数据,而 TradingGPT 则利用辩论来增强推理能力并减少幻觉。
  • 强化学习驱动的代理:训练 LLM,使其根据历史回测结果将决策与奖励相结合。方法包括使用记忆式强化学习和 PPO 等经典算法来优化预测。

2.3 LLM 作为 Alpha 矿工

LLM 并非直接进行交易,而是可以帮助生成 Alpha 因子——用于交易策略的信号。

  • 像 Quant Agent 这样的系统使用 LLM 编写和优化新因子的代码,在市场数据上进行测试,并通过反馈循环进行改进。
  • AlphaGPT 使用类似的人机交互流程来迭代优化策略。

这些方法表明,LLM 可以加快新交易信号的发现和测试,帮助量化分析师更快地制定策略。

3、TradingAgents:角色专业化

将 LLM 代理分配到具有特定目标的明确角色,有助于将复杂的任务分解为更小、更易于管理的部分。

金融交易是一个理想的例子,因为它需要整合许多不同的数据源和专家分析。真正的交易很多公司通过组建专业团队(例如分析师和交易员)来共同做出决策。

受此启发,TradingAgents模拟了一家拥有七名专业 LLM 代理的交易公司:

基本面分析师、情绪分析师、新闻分析师、技术分析师、研究员、交易员和风险管理师。每位代理都有自己的名称、角色和与其工作相关的工具。

例如,情绪分析师使用网络搜索和情绪评分等工具,而技术分析师则分析模式并计算指标。这种设置反映了真实的交易团队如何协作处理复杂的市场数据。

3.1 分析师团队

分析师团队收集并分析不同类型的市场数据,以全面了解市场状况:

  • 基本面分析师研究财务报表和报告,以判断公司的真实价值。
  • 情绪分析师追踪社交媒体和内部人士情绪,以了解公众情绪如何影响价格。
  • 新闻分析师查看新闻、政府动态和宏观经济数据,以发现可能影响市场的事件。
  • 技术分析师计算MACD和RSI等指标来分析价格趋势和交易量。
TradingAgents分析师团队

他们共同提供全面的分析,为进一步的研究和决策奠定基础。

3.2 研究员团队

该团队通过辩论批判性地审查分析师团队的见解:

  • 看涨研究员论证投资机会并强调积极信号。
  • 看跌研究员指出风险和负面趋势。
TradingAgents研究员团队:看涨观点和看跌观点

通过辩论,他们旨在找到平衡的策略,并帮助交易者做出更明智的决策。

3.3 交易代理

交易代理根据分析师的数据和研究员的辩论来决定进行哪些交易。

  • 他们选择交易的时间和数量。
  • 他们下达买入/卖出订单。
  • 他们根据新数据的到来调整投资组合。
TradingAgents 的交易员决策流程

他们的决策直接影响交易表现。

3.4 风险管理团队

该团队通过以下方式确保交易保持在可接受的风险水平:

  • 监控市场波动和其他风险。
  • 设置止损单等风险控制措施。
  • 为交易员调整策略提供建议。
TradingAgents 风险管理团队和基金经理审批工作流程

他们帮助保护投资组合,并使其与风险政策保持一致。

4、TradingAgents:代理工作流程

4.1 通信协议

大多数基于 LLM 的代理框架使用自然语言进行通信,通常通过消息历史记录或生成文本集合进行。然而,对于需要规划多个步骤的复杂、长期任务,仅依赖自然语言会变得困难。

这类似于“电话游戏”,由于上下文长度限制和不必要的细节,信息可能会在许多消息中被遗忘或扭曲。

为了解决这个问题,我们借鉴 MetaGPT 等框架,引入了一种结构化通信协议:

  • 每个代理都有明确定义的状态。
  • 代理仅查询并提取必要信息,处理后返回简洁的结构化报告。
  • 这确保了交互的高效性,避免了消息损坏,并确保了即使对于复杂且长期的任务也能保持专注。

4.2 代理交互类型

与之前严重依赖自由形式对话的多代理交易系统不同,TradingAgents 的代理主要通过以下方式进行通信:

  • 结构化文档
  • 图表

这些文档以清晰有序的方式概括关键洞察,减少无关细节。通过将结构化报告写入全局代理状态,代理可以直接访问所需内容——避免冗长而脆弱的对话,并防止上下文溢出或数据丢失。

以下是各个团队的交互方​​式:

分析师团队:

  • 基本面、情绪、新闻和技术分析师分别创建简洁的分析报告。
  • 报告包含基于其专长的指标、洞察和建议。

交易员代理:

  • 审查分析师报告并生成决策报告。
  • 每份报告都阐述了交易决策的依据并提供支持性证据。
  • 这些报告随后被提交给风险管理团队。

研究团队:

  • 每位研究代理查询分析师报告并形成意见。
  • 两位代理分别代表对立的观点:看涨和看跌。
  • 他们进行n轮自然语言辩论,由一位主持人主持。
  • 主持人回顾辩论内容,并将所选观点作为结构化条目记录在通信协议中。

风险管理团队:

  • 查询交易员的决策报告。
  • 从三个角度讨论交易计划:风险偏好、中性和风险保守。
  • 进行n轮主持的自然语言讨论。
  • 主持人将讨论结果汇编成结构化报告。

基金经理:

  • 审查风险管理团队的反馈。
  • 确定在执行交易策略之前要应用的最终风险调整。

5、主干大模型

为了应对多样化的速度为了满足我们框架的复杂度和性能要求,我们根据大型语言模型 (LLM) 的具体优势,策略性地选择它们:

a) 快速思考模型:像 GPT-4O-mini 和 GPT-4O 这样的模型可以高效处理快速、低深度的任务,例如:

  • 摘要
  • 数据检索
  • 将表格数据转换为文本。它们的设计优先考虑速度,使其成为近乎实时响应的理想选择 (OpenAI et al., 2024)。

b) 深度思考模型:像 O1-preview 这样的模型在推理密集型任务中表现出色,包括:

  • 决策制定
  • 撰写基于证据的报告
  • 复杂数据分析。这些模型针对多步骤推理进行了优化,使其能够产生连贯且逻辑严密的洞察。

此外,我们还针对情绪分析等特定子任务使用辅助专家模型,以提高特定领域的准确性。

5.1 任务协调与代理设计

为了在效率和推理深度之间取得平衡,我们将骨干模型与每个代理的具体需求进行协调:

分析师节点:使用深度思考模型,对基本面、情绪、新闻和技术数据进行稳健、全面的分析。

研究人员和交易员代理:同样依赖深度思考模型进行多轮推理、权衡证据并制定有充分依据的交易决策。

快速思考模型:处理时间敏感型任务,例如:

  • 调用外部 API
  • 获取实时市场数据
  • 生成快速摘要

这种有针对性的匹配确保交易代理能够快速准确地运行,这在动态金融环境中至关重要。

5.2 实施策略和可扩展性

我们的框架旨在:

a) 完全通过 API 调用运行,无需本地 GPU 资源。

b) 支持骨干模型的模块化替换:

  • 轻松切换到更新的本地托管模型或专门针对金融市场调优的 LLM。
  • 未来可无缝升级到推理能力更强或领域特定能力更强的模型。

c) 此架构确保交易代理保持以下特性:

  • 高度可扩展:能够适应不断变化的模型可用性或计算环境。
  • 面向未来:能够集成不断涌现的改进型 LLM,而无需进行大规模的重新设计。

通过将每个任务与最合适的 LLM 类型进行仔细匹配,该框架在速度、深度和灵活性之间实现了可持续的平衡,这对于实际交易系统至关重要。

6、实验

6.1 模拟设置

为了评估TradingAgents框架,我们进行了全面的回测模拟,时间跨度为 2024 年 1 月 1 日至 3 月 29 日。本次评估主要关注主要科技股,包括苹果、英伟达、微软、Meta 和谷歌。

交易代理旨在支持无缝即插即用地集成不同的交易策略,使其能够在一致条件下直接与既定基准进行性能基准测试。

在每个模拟周期中,智能体都会根据当天可用的信息生成交易信号——具体来说是买入、卖出或持有的决策——从而完全消除前瞻偏差。执行这些交易后,我们会计算关键绩效指标,然后再计算第二天的数据。

6.2 回溯交易数据

为了模拟真实的交易环境,我们设计了一个多资产、多模式的数据集,以反映现实世界数据的多样性和复杂性。该数据集包括:

  • 历史股价:2024年1月1日至2024年3月29日的每日开盘价、最高价、最低价、收盘价、成交量和调整后的收盘价。
  • 新闻文章:每日数据来源于彭博、雅虎、EODHD、FinnHub和Reddit等平台。涵盖公司特定新闻、宏观经济报告、全球事件和政府公告。
  • 社交媒体帖子和情绪:从Reddit、X/Twitter和类似平台收集的帖子。情绪评分由专门从事情绪分析的辅助LLM计算得出。
  • 内部人士情绪和交易:数据来源于公开数据,包括 SEDI 备案文件和公司官方交易记录。
  • 财务报表和收益报告:公司发布的季度和年度报告。
  • 公司简介和财务历史:行业分类、历史业绩和分析师报告数据。
  • 技术指标:每种资产包含 60 个标准指标,例如 MACD、RSI、布林带,每日计算。

这个多样化的数据集反映了真实交易公司处理的多模态数据格局,使交易代理能够在现实、数据丰富的条件下测试其分析和决策能力。

8、结果与分析

TradingAgents 对 $AAPL 的详细交易历史记录。绿色/红色箭头分别表示多头/空头仓位,显示模型随时间推移的交易决策。

表格显示,我们的方法始终优于现有的基于规则的交易基准,尤其是在以累计收益和年化收益衡量盈利能力时。

具体来说,TradingAgents在回测期间,三只样本股票的最低累计回报率为 23.21%,年化回报率为 24.90%,远超表现最佳的基准模型 6.1%。这一卓越表现凸显了整合多模态数据分析和基于代理的推理相较于固定模式策略的优势。

使用四个评估指标对所有方法进行性能比较。绿色突出显示的结果代表每个模型的最佳性能统计数据。改进行显示了 TradingAgents 相对于表现最佳的基准模型的性能提升。

在考察 $AAPL 股票的结果时,出现了一个特别具有说明性的案例。由于整个测试期间市场波动剧烈,这对传统方法来说极具挑战性。在这种情况下,经典的技术策略难以推广,导致收益不理想甚至为负。

使用 TradingAgents 对 $AAPL 股票的累计收益。该图显示了我们的模型与基准方法在苹果公司 (Apple Inc.) 股票分析中的性能比较。‌‌

相比之下,TradingAgents 有效地适应了这些动荡的市场动态,利用其协作的分析师和研究团队以及风险感知的决策能力。结果,它在短短三个月内就实现了超过 26% 的回报率,展现了在纯规则系统失效的情况下的韧性和适应性。


原文链接:Multi- Agents LLM Financial Trading Framework

汇智网翻译整理,转载请标明出处