TradingAgents: 多代理LLM金融交易框架,三个月内的回报率超26%
TradingAgents设计了一款创新的股票交易系统,该系统模仿了实际交易公司内部的合作流程。此框架内设有由大型语言模型(LLM)驱动的各种角色代理,包括基本面分析员、情绪分析员、技术分析员以及具有不同风险承受能力的交易员。
“TradingAgents: Multi-Agents LLM Financial Trading Framework”
项目主页:https://tradingagents-ai.github.io/
论文地址:https://arxiv.org/pdf/2412.20138
Github地址:https://github.com/TradingAgents-AI/TradingAgents-AI.github.io
摘要
TradingAgents设计了一款创新的股票交易系统,该系统模仿了实际交易公司内部的合作流程。此框架内设有由大型语言模型(LLM)驱动的各种角色代理,包括基本面分析员、情绪分析员、技术分析员以及具有不同风险承受能力的交易员。同时,还有Bull和Bear研究专员来评估市场状态,而风险管理小组负责监督风险水平。在这个模拟的协作环境中,交易员依据辩论结果和过往数据来进行决策。实验表明,这一多代理LLM系统在累积收益、夏普比率和最大回撤等关键指标上超越了传统模型,证明了这种框架在金融市场交易中具有显著的应用潜力。
简介
自主代理通过使用大型语言模型(LLMs)来模仿人类的决策流程,尤其适合金融市场的复杂需求,能够分析诸如公司基本面和市场情绪等多维度因素。传统的算法交易系统主要基于定量分析,往往无法充分理解这些复杂因素之间的微妙关系,而LLMs在处理自然语言数据方面有着明显的优势。
然而,在当前的金融领域,语言代理的应用存在两大挑战:首先,它们未能构建真实的组织结构模拟,忽略了实际交易团队内部的动态互动;其次,由于依赖自然语言进行交流,沟通接口效率较低,容易造成信息不完整或上下文混淆的问题。
本文介绍的框架旨在改进这些问题,它模拟了专业交易团队中不同角色间的协作决策过程,并结合了结构化的输出形式与自然语言对话,以此提高沟通效率和决策的灵活性。该框架的有效性是通过历史金融数据测试得出的,评估标准包括累积收益、夏普比率和最大回撤等关键指标。
01相关工作
LLM用于财务助理
通过在金融数据集上进行微调或专门训练金融领域的语料库,大型语言模型(LLMs)增强了对金融词汇和数据的解读能力。这些经过专业训练的助手能够提供分析支持、产生洞见并辅助信息检索,但它们并不参与实际的交易操作。
- 微调金融LLM
PIXIU (FinMA) 通过对136,000条金融指令进行微调,增强了LLaMA在特定金融领域的性能。FinGPT 则采用LoRA技术,在大约50,000个金融样本上对LLaMA和ChatGLM进行了微调。而Instruct-FinGPT是在10,000个金融情感分析指令样本上进行了进一步的微调。这些模型在金融分类任务上的表现超过了其基础版本以及其他开源大型语言模型(LLM),如BLOOM和OPT,并且在多个评估指标上优于BloombergGPT。尽管在生成任务中,它们的表现与通用模型如GPT-4相比相似或略低,但这也突显了构建高质量领域特定数据集的重要性。
- 从零开始训练金融LLM
针对金融领域的大型语言模型(LLM),例如BloombergGPT、XuanYuan 2.0和Fin-T5,通过整合公共数据与金融行业特有的数据进行预训练,从而增强了它们在该领域的适应性。BloombergGPT利用通用文本和金融相关文本进行训练,并借助Bloomberg的专有数据资源,优化了其在金融基准测试中的表现。这些专门化的模型在市场情感分析和生成摘要等任务上的效果超越了通用型的大规模模型(如BLOOM176B和T5),不过与更大规模的闭源模型(如GPT-3和PaLM)相比仍有一定差距。通过微调或从头开始训练以适应特定领域任务,金融领域的LLM显著提升了性能,这突显了领域适应的重要性以及构建高质量金融数据集的潜力。
LLM用于交易
大型语言模型(LLMs)作为交易代理,能够通过解析新闻报道、财务报表和股票价格来做出交易决策。所提出的架构涵盖了三种类型的代理:由新闻引导的代理、以推理为基础的代理以及通过强化学习驱动的代理。
- 新闻驱动代理
新闻驱动的架构将股票相关新闻和宏观经济更新融入大型语言模型(LLM)的提示中,以预测股价的趋势。研究发现,利用情感评分构建的简单多空交易策略,在闭源模型(例如GPT-3.5、GPT-4)以及开源LLM(如Qwen、Baichuan)中均能有效运作。而针对金融领域进行了微调的LLM(像FinGPT、OPT)则表现出了更优异的成绩。更为先进的方法包括对新闻数据进行总结,并推理这些新闻与股价变动之间的关系。
- 推理驱动代理
反思驱动的代理,例如FinMem和FinAgent,通过采用分层记忆结构和多模态数据的总结输入,来提高决策的质量。这些代理结合了技术分析指标,不仅表现出色,还减少了生成内容中的幻觉现象。而辩论驱动的代理,如TradingGPT,则通过模拟不同角色之间的辩论过程,强化了推理能力和确保事实的准确性,从而提升了情感分类和交易决策的稳健性。
- 强化学习驱动代理
强化学习方法通过回测期间的奖励机制来调整大型语言模型(LLM)的输出,使其与预期行为更好地对齐。SEP(Koa等人,2024)采用强化学习结合记忆和反思机制,依据市场历史数据优化LLM的预测能力。在交易框架中应用的传统强化学习方法,则是将LLM生成的嵌入式表示与股票特征相结合,并使用诸如PPO算法(Ding等人,2023;Schulman等人,2017)等进行训练,以改进模型的决策过程。
LLM用于Alpha因子挖掘
QuantAgent(Wang等人,2023)运用大型语言模型(LLM)来生成alpha因子,采用了一种内外循环的架构设计。在内循环中,写作代理负责生成策略脚本,而评判代理则提供反馈以改进这些脚本;在外循环中,生成的代码会在实际市场环境中进行测试,交易结果反过来用于优化评判代理的表现。同样地,AlphaGPT(Wang等人,2023)也提出了一种人机协作的alpha因子挖掘框架,其架构与QuantAgent相似。研究显示,由LLM驱动的alpha因子挖掘系统在自动化和加速交易策略开发方面展现了巨大的潜力。
02TradingAgents:角色
明确界定大型语言模型(LLM)代理的角色和目标,能够有效将复杂的任务分解为更易管理的子任务,金融交易就是一个复杂性的典型示例。交易公司通常依靠由不同专家组成的团队来分析海量数据,包括财务指标、价格变动和成交量等,以发现市场趋势并进行预测。TradingAgents框架定义了七个专门的代理角色:基本面分析师、情绪分析师、新闻分析师、技术分析师、研究员、交易员和风险经理。每个代理都拥有独特的名称、具体的角色描述、工作目标和操作约束,并配备了相应的工具和技术。例如,情绪分析师会利用网络搜索和情感分析算法来评估市场情绪,而技术分析师则专注于编写代码和解析交易模式。这种分工有助于提高整个系统的效率和准确性。
分析师团队
分析团队由一系列专门的代理构成,专注于市场数据的收集与分析,以为交易决策提供支持。其中,基本面分析代理负责评估公司的基本状况,通过审查财务报表和内部交易记录来识别可能被市场低估或高估的股票。情绪分析代理则关注社交媒体动态和情感评分,以预测投资者情绪对股价短期内可能产生的影响。新闻分析代理的任务是解读最新的新闻报道和宏观经济指标,找出那些能够左右市场走向的重要事件。技术分析代理使用诸如MACD和RSI等技术指标进行计算,分析价格走势和成交量,从而预测未来的价格变动趋势。这些代理协同工作,整合多方面的信息,为研究团队构建起一个详尽的市场分析框架。
研究员团队
研究团队的任务是评估分析团队所提供的信息,并通过多轮辩论来深化理解。在这一过程中,牛市研究员专注于寻找投资机会、评估增长潜力以及识别市场的有利因素,以支持积极的投资决策。与此同时,熊市研究员则更关注潜在的风险和市场发出的警告信号,对投资策略提出质疑并提供谨慎的意见。通过这种辩论的方式,研究团队旨在形成对市场状况的全面而平衡的认识,从而辅助交易代理做出更加明智和审慎的决策。
交易代理
交易代理依据分析团队和研究团队的综合分析结果来执行交易决策。其核心任务涵盖评估分析师与研究员的建议、确定最佳的交易时机和规模、发出买卖指令以及调整投资组合。在动态变化的市场环境中,交易代理需要权衡潜在收益与风险,确保能够做出精确且战略性的决策。
风险管理团队
风险管理团队负责监控和控制市场风险,确保所有交易活动都在既定的风险参数和监管要求之内。其主要职责:
1. 监控与控制市场风险:
- 确保所有交易活动符合设定的风险参数和监管要求。
- 持续监督市场动态,识别潜在风险。
2. 评估市场特性:
- 评估市场的波动性、流动性和对手方风险。
- 分析这些因素对投资组合的影响。
3.实施风险缓解策略:
- 设置止损订单以限制潜在损失。
- 推行投资多元化策略,分散风险。
4.提供风险反馈与建议:
- 向交易代理提供详细的风险评估反馈。
- 根据风险分析结果,建议调整交易策略。
5. 确保合规与目标一致:
- 确保整体投资组合符合公司的风险承受能力和投资目标。
- 维护公司政策与市场实践的一致性。
6. 维护财务稳定与资产保护:
- 通过有效的风险管理措施,保护公司资产。
- 确保公司的财务稳定,支持可持续的长期表现。
7.促进动态决策过程:
- 所有交易代理遵循ReAct框架,将推理与行动紧密结合。
- 保证决策过程的灵活性和适应性,以应对不断变化的市场条件。
03TradingAgents:工作流
通信协议
现有的基于大型语言模型(LLM)的代理框架主要依赖自然语言进行通信,但在处理复杂的长期任务时,这种交流方式的效果并不理想。纯自然语言的沟通容易导致信息的遗忘或扭曲,类似于“电话游戏”中的信息失真。受到MetaGPT等框架的启发,一种新的结构化通信协议被提出,以规范代理之间的交互。该协议明确规定了每个代理的状态,确保在交互过程中仅提取必要的信息,并在处理后返回完整的报告。通过这种方式,简化了交互步骤,减少了信息失真的风险,从而使得代理在执行复杂任务时能够保持高效的沟通和协作。
Agent交互类型
在TradingAgents框架中,代理之间通过结构化文档和图表进行沟通,以避免冗长对话可能引起的信息稀释和数据丢失。分析团队负责撰写简洁明了的分析报告,其中包含关键指标、专业见解和具体建议。交易员依据这些分析报告生成决策信号,并附上详细的决策理由和支撑证据,以便风险管理团队审查和使用。研究团队则通过自然语言对话展开辩论,汇集多元化的观点,最终将辩论结果整理为结构化的条目记录。风险管理团队从不同的风险角度调整交易计划,并通过自然语言讨论来细化策略,其讨论结果由主持代理进行记录。基金经理根据风险管理团队的讨论结论,更新交易决策并调整报告的状态,确保所有行动都与最新的风险评估保持一致。
LLMs
根据任务的复杂性和对速度的要求,选择不同的大型语言模型(LLMs)以最大化其优势。对于需要快速响应且深度要求不高的任务,如生成摘要、数据检索和表格转文本,可以选择较为轻量级的模型,例如gpt-4o-mini和gpt-4o。而对于推理密集型的任务,如决策制定、证据报告和深入的数据分析,则更适合使用深度模型,如o1-preview,这类模型能够支持多轮推理并提供深刻见解。
在选择模型时,优先考虑那些既可靠又具有扩展性的选项,以确保在各种市场条件下都能有最佳表现。为了保证分析的稳健性,分析节点采用深度模型进行处理;而快速模型则用于API和工具中的数据检索任务。研究人员和交易者依赖深度模型来生成有价值的洞察,辅助做出明智的决策。通过这种方式,该框架实现了效率与推理深度之间的平衡,非常适合构建有效的交易策略。
此外,TradingAgents框架设计为无需GPU即可部署,仅依靠API信用额度运行,这不仅支持了未来模型的无缝替换,还赋予了系统高度的可扩展性和灵活性,使其能够适应不断变化的需求。
04实验
交易数据
该数据集涵盖了多种资产和模式,包括苹果、英伟达、微软、Meta和谷歌等主要股票。数据范围从2024年1月1日至3月29日,包含了每日的历史股价信息,具体字段有开盘价、最高价、最低价、收盘价、成交量和调整后收盘价。此外,数据集整合了来自彭博社、雅虎财经、EODHD、FinnHub和Reddit的每日新闻报道,内容涉及公司动态、全球事件、宏观经济趋势以及政府政策更新。
数据集中还包含了社交媒体帖子及其情感分析,主要来源于Reddit和X/Twitter等社交平台,提供了对市场情绪的洞察。同时,数据集提供内幕情感和交易信息,这些信息基于公开资料和公司的正式备案文件。财务报表和收益报告也是数据集的一部分,为用户提供详细的公司财务状况和历史表现。为了支持技术分析,数据集计算了60种标准指标,如MACD、RSI、布林带等,帮助用户进行深入的市场分析。最后,数据集还包括了各公司的简介和财务历史信息,为投资者提供全面的背景资料。
仿真设置
模拟交易环境的时间范围是从2024年6月19日至11月19日。TradingAgents框架支持即插即用的交易策略,方便与基准模型进行对比评估。每个交易日结束时,基于当日的数据生成交易决策,确保不使用未来数据,从而避免前瞻性偏差。系统会生成买入、卖出或持有的信号并执行相应的交易操作。完成交易后,计算相关的分析指标,为下一个交易日做好准备。
基线模型
为了评估TradingAgents框架的性能,我们将其与多个基准策略进行了比较:
- 买入持有策略:该策略将资金均匀分配到所有选定的股票上,并长期持有,不进行主动买卖操作。
- MACD策略:这是一种趋势跟随策略,通过监测MACD线与信号线的交叉点来生成买入和卖出信号。
- KDJ与RSI组合策略:此动量策略结合了KDJ和RSI指标,用以识别市场的超买或超卖状态,从而决定买卖时机。
- ZMR策略:这是一种均值回归策略,基于价格偏离零参考线的程度来进行交易,假设价格会回归到平均值。
- SMA策略:作为另一种趋势跟随策略,SMA通过短期和长期移动平均线的交叉来生成交易信号,帮助捕捉市场趋势的变化。
这些基准策略提供了不同的交易逻辑,从长期持有的被动投资到基于技术指标的主动交易,为评估TradingAgents框架提供了一个全面的对比基础。
评估指标
- 累积收益(CR):计算模拟期内的总回报,使用公式 CR = ((V_end - V_start) / V_start) × 100%,其中 V_end 是期末价值,V_start 是期初价值。
- 年化收益(AR):将累积收益标准化为年度收益,采用公式 AR = (1 + CR)^(1/N) - 1) × 100%,这里 N 表示投资期间的年数。
- 夏普比率(SR):评估经风险调整后的收益水平,通过公式 SR = (R̄ - R_f) / σ 计算,其中 R̄ 是平均投资回报率,R_f 是无风险利率,σ 是回报的标准差。
- 最大回撤(MDD):衡量投资组合从峰值到后续谷值的最大下降幅度,反映了投资者可能面临的最严重亏损情况。
05结果和分析
表现对比
TradingAgents在盈利能力上显著超越了现有的基于规则的交易基线,实现了至少23.21%的累计回报和24.90%的年回报,超出最佳基线至少6.1个百分点。特别是在AAPL股票上,TradingAgents在市场波动期间表现出色,三个月内的回报率超过了26%。
Sharpe Ratio指标显示,TradingAgents在风险调整后的回报方面表现卓越,针对AAPL、GOOGL和AMZN,其Sharpe Ratio至少达到了5.60,比次优模型高出至少2.07点,这表明它在各种市场条件下都具有良好的适应性和稳健性。
虽然基于规则的基线在风险管理方面表现较好,但TradingAgents成功地在高回报与相对较低的最大回撤(不超过2%)之间找到了平衡,展示了其有效的风险控制机制。此外,当前深度学习交易方法往往因为复杂性而难以解释决策过程,而基于LLM的TradingAgents通过自然语言沟通其决策,提供了更高的透明度和可解释性。TradingAgents的交易日志详细记录了其决策过程,增强了系统的透明度和可控性。
分析
整合多个专业LLM代理并促进它们之间的辩论显著提升了交易表现。该框架高效地融合了多种数据源和专家分析,帮助交易代理根据其风险偏好做出明智的决策。反思代理和专门的风险管理团队在优化交易策略和降低风险方面发挥了关键作用。通过这种方式,框架不仅实现了优异的收益捕获,还保持了强大的风险管理指标,有效地平衡了收益最大化与风险最小化的目标。多代理LLM框架利用自然语言处理确保了高透明度和可解释性,超越了传统方法和深度学习模型的表现。
06总结
TradingAgents是一个利用大型语言模型(LLM)构建的股票交易框架,模拟了多代理协作的交易公司环境。通过促进不同代理之间的互动和辩论,该框架提升了交易决策的质量和风险管理的效率。它集成了多种角色的代理,每个代理都有不同的风险偏好,从而显著优化了交易结果和风险控制。实验结果显示,与传统交易策略相比,TradingAgents在累计回报、夏普比率等关键绩效指标上表现更优。未来,计划将该框架部署到实时交易环境中,进一步扩展代理的角色,并加强其处理实时数据的能力。
更多推荐
所有评论(0)