一、结论写在前面
论文标题:Large Language Model Agent in Financial Trading: A Survey
论文链接:https://arxiv.org/pdf/2408.06361
交易是一项高度竞争的任务,需要策略、知识和心理素质的结合。随着大型语言模型(LLMs)的最新成功,将LLM agent的智能应用于这一竞争领域并探讨其能否超越专业交易员显得极具吸引力。
论文系统地回顾了所有利用LLMs作为交易agent的相关工作,重点关注其架构设计、数据输入和评估方法。
由于基于LLM的agent是一个新兴的研究课题,相对较少研究探讨了将这一技术应用于金融交易。论文回顾了27篇研究使用LLMs进行金融交易的论文,其中7篇在其标题中明确包含了“agent”一词。论文通过多个使用关键词如“LM for trading”和“GPT stock agent”的Google Scholar搜索确定了这些论文。每篇论文都经过手动评估,以确认其与使用LLMagent进行金融交易的相关性。这是首篇综述关于金融交易领域中LLM agent的论文。
二、论文的简单介绍
2.1 论文的背景
金融领域见证了LLM应用的大量探索。在金融市场中,开发由LLM驱动的交易agent已成为一种新兴趋势。专业交易员需要处理来自各种来源的大量信息并迅速做出决策。因此,LLMs因其能够快速处理大量信息并生成有见地的总结而非常适合这一角色。
论文对利用大型语言模型(LLMs)作为金融交易agent的研究进行了系统性分析。论文的目标是识别研究中的共同领域,并提供对未来研究方向的洞察。具体而言,论文旨在解答以下问题:
•在基于LLM的交易agent中,常见的架构有哪些?
•LLMs用于做出明智交易决策时,使用了哪些类型的数据?
•目前LLMs在金融交易中的表现如何,以及它们的潜力和局限性是什么?
2.2 架构
在设计基于LLM的agent时,架构是一个至关重要的方面,它通常由agent的目标决定。一般而言,交易agent的主要目标是通过其在特定时间段内的交易决策来优化回报。此外,其他与风险相关的指标在评估agent性能时也至关重要。尽管存在为各种金融任务设计的基于LLM的agent,例如总结财经新闻[1]或充当财务顾问,论文的关注点将集中在旨在实现投资回报的交易agent上,因为这构成了该领域研究的大部分内容。
这些架构大致可以分为两种类型:LLM作为交易员(LLM as a Trader)和LLM作为阿尔法挖掘者(LLM as an Alpha Miner)。LLM交易员agent利用LLM直接生成交易决策(即买入、持有、卖出)。另一方面,阿尔法挖掘者agent将LLM作为高效工具,用于生成高质量的阿尔法因子,这些因子随后被整合到下游交易系统中。图1展示了一个树状图,展示了所有这些架构的层次结构和发展。
2.2.1 LLM作为交易员
LLM交易员agent的架构侧重于利用LLM直接进行交易决策。这些系统旨在分析大量的外部数据,如新闻、财务报告、股票价格,并从这些数据中提炼信息以生成买入或卖出信号。本节讨论了LLM作为交易员agent的不同子类型,包括新闻驱动型、反思驱动型、辩论驱动型和强化学习(RL)驱动型agent。
图1:金融LLMagent架构概览。
2.2.1.1新闻驱动型
新闻驱动架构是最基础的类型,其中个股新闻和宏观经济更新被整合到提示上下文中。随后,LLM被指示预测下一个交易周期的股价变动。现有研究[29, 50]评估了闭源LLM(如GPT3.5/4)和开源LLM(如Qwen、Baichuan等)在金融情绪分析中的表现。他们还基于这些情绪评分回测了简单的多空策略,展示了使用此类策略进行交易的有效性。此外,[18, 56]研究了专门用金融相关数据微调的LLM(如FinGPT、OPT等)的性能,并通过将LLM与领域特定知识对齐,展示了进一步的改进。
更高级的架构涉及新闻数据的总结、提炼以及新闻数据与股价变动关系的推理。[10]开发了多个总结模块,包括渐进式每日新闻总结、基本面和宏观经济总结以及股价动量总结。这些总结由一个记忆模块管理,并被称为“记忆”。在交易阶段,相关的“记忆”被检索作为“推荐”上下文,以生成最终的交易决策。作者还发现,通用型LLM如GPT4在面向金融的任务中具有强大的上下文学习能力。LLMFactor首先利用LLM的推理能力,通过让LLM分析历史新闻与相应股价变动之间的关系来识别重要因素。然后,agent从每日新闻中提取这些因素,并在交易期间预测股价。
2.2.1.2 反思驱动型
反思[38]基于大型语言模型(LLMs)对提取记忆的总结构建。它是从原始记忆和观察中逐步聚合的高级知识和洞察。此类反思用于做出交易决策。本节中,论文将调研那些在其架构中融入反思机制的金融LLMagent。
FinMem [53] 引入了一种具有分层记忆和特征的交易agent。原始输入,如每日新闻和财务报告,被总结为记忆。当新观察到来时,相关记忆被检索并结合这些观察生成反思。记忆和反思都存储在分层记忆桶中。在交易阶段,这些记忆和反思被检索并由决策模块利用以生成最终交易决策。检索方法考虑了信息的时效性、相关性和重要性。
FinAgent[57] 提出了首个具有类似分层记忆和分层反思设计的跨模态agent,并额外配备了一个跨模态模块,该模块接收数值、文本和图像数据。此外,决策模块结合了移动平均收敛/发散(MACD)[9]和相对强弱指数(RSI)[11]等技术指标以及分析师指导,有效捕捉市场动态。该框架在回测中相较于包括FinMem在内的其他agent展示了优越性能。
记忆和反思的设计亦可在认知科学[6]中找到根源。类似于人类学习,人类与环境互动、吸收反馈、生成记忆并将所学应用于任务解决,LLMs基础交易agent中的记忆和反思机制与之相似。在基于LLM的算法中加入记忆和反思提供了显著优势,如减轻幻觉风险[15]和获得对环境的高层次理解[39]。
2.2.1.3 辩论驱动型
在LLM之间进行辩论已被证明是提高推理和事实准确性的有效方法。这种方法在LLM金融agent中也得到了广泛采用。[51]提出了一种异构辩论框架,其中具有不同角色的LLMagent(如情绪agent、修辞agent、依赖agent等)相互辩论,从而提高了新闻情感分类的性能。TradingGPT[27]提出了一种类似于FinMem[53]的架构,增加了一个步骤,即agent们就彼此的行动和反思进行辩论,从而提高了反思的鲁棒性。
2.2.1.4 强化学习驱动型
强化学习方法,如RLIIF和RLAIF,已被证明能有效将LLM输出与预期行为对齐。然而,一个挑战是如何高效且系统地获取高质量反馈。在金融交易中,回测提供了一种成本效益高的方法,用于生成关于交易决策的高质量反馈,并且直观上可以作为强化学习中奖励的来源。SEP[19]提出了在交易agent中利用强化学习与记忆和反思模块结合的方法。该方法使用从金融市场历史中提取的一系列正确和错误的预测来细化LLM在实际市场中的预测。
此外,强化学习因其特性[16]而众所周知,是游戏和交易中决策的经典方法。[8]开发了一个基于RL的框架,包括局部-全局(LG)模型和自相关强化学习(SCRL),这些模型由多层感知器构成。LLM用于从新闻标题生成嵌入,这些嵌入随后被投影到股票特征空间中。这些嵌入与现有的股票特征相结合,作为LG模型的输入。LG模型作为策略网络,通过从训练交易周期中采样的轨迹,采用近端策略优化(PPO)进行训练。
2.2.2 LLM作为Alpha挖掘者
另一重要类别涉及使用LLM作为Alpha挖掘者的agent,其中LLM生成Alpha因子而非直接进行交易决策。
QuantAgent展示了这种方法,利用LLM生成Alpha因子的能力,通过内循环-外循环架构实现。在内循环中,编写者agent接收人类交易者的通用想法并生成脚本作为其实现。评判者agent提供反馈以优化脚本。在外循环中,提交的代码在真实市场环境中测试,交易结果用于增强评判者agent。已证明这种方法使agent能够以合理的效率逐步逼近最优行为。
随后的研究中,AlphaGPT提出了一种人在回路的Alpha挖掘框架。该方法在一个类似架构和实验环境中实例化了一个Alpha挖掘agent。两项研究均展示了LLM驱动的Alpha挖掘agent系统的有效性和效率,这对于资源密集型的Alpha挖掘工作尤为宝贵。
2.2.3 agent中的LLM选择
最后,为了研究不同LLM模型的使用情况,论文包含了一个直方图(见图),以概述模型范围。值得注意的是,OpenAI的模型,特别是GPT-3.5和GPT-4,由于其卓越的通用性能而在研究使用中占据主导地位。同时,开源模型的选择呈长尾分布,满足更灵活和专业化开发的需求。值得注意的是,GPT-3.5的使用频率甚至超过GPT-4,表明对其成本效益和低延迟的偏好。
2.3 数据集
LLM驱动的交易agent严重依赖多样化的数据源来生成交易信号。在论文的调查中,论文识别了各种agent使用的广泛数据类型,并将其分类为四大组:
•数值数据:包括数字或统计数据,如股票价格和交易量。
•文本数据:基于文本的信息,如股票新闻、财务报告。
•视觉数据:包含与金融市场相关的图表和图像。
•模拟数据:包含来自模拟股票市场和新闻事件的数据。
图2:金融agent使用的基本LLM直方图(一篇论文可能包含多个agent)
2.3.1 数值数据
在传统的量化交易模型中,数值数据扮演了至关重要的角色[2, 31]。然而,LLM本质上设计用于处理文本数据。为了适应数值数据,必须将其转换为文本字符串,以确保与LLM架构的兼容性。尽管LLM在算术问题和推理方面存在已知的弱点[12],但许多研究已成功地将数值数据融入基于LLM的交易agent中。[57]从原始股票价格数据中计算常见的股票价格特征,如三天的价格变化。这些特征随后由LLM描述和总结,形成短期、中期和长期信号。这些信号有助于LLMagent的低级反射过程。
在[48]中,作者进一步使用额外的数值市场数据,如开盘价和收盘价、最高价和最低价,来创建指导外部反馈循环的交易思路。这些数据还作为评估生成的阿尔法策略的手段。论文的研究结果表明,纳入数值数据是必不可少的,因为它本身反映了金融市场的特征。例如,高交易量和上涨价格通常标志着积极的市场预期,往往与公司业绩相关。
2.3.2 文本数据
新闻或财务报告等文本数据对金融交易者至关重要。论文发现,本论文回顾的所有基于LLM的agent都使用文本金融数据作为输入。根据金融行业常用的术语,论文将文本数据分为两类:基本面数据和替代数据。
2.3.2.1 基础数据
基础数据包括用于评估资产稳定性和健康状况的主要特征和财务指标信息。LLM交易agent使用的基础数据包括财务报告和分析师报告。
财务报告。财务报告,如Form 10-Q和Form 10-K文件,对于了解公司业绩至关重要。这些文件为LLMagent提供了关于公司财务状况、业绩和未来预期的洞察。金融交易agent如FinMem [53]、TradingGPT [27]和FinAgent [57]广泛利用这些报告来丰富agent的记忆并做出明智的交易决策。
分析师报告。除了财务报表外,行业专业人士的分析师报告和投资研究提供了宝贵的数据。这些来源提供了高质量的见解、意见和预测,超越了公开财务报告和新闻文章中的信息。例如,FinAgent [57]将来自SeekingAlpha的专家指导作为其决策模块的关键输入。它与其他数据源(如市场情报、价格变动分析和历史交易决策)一起使用。
2.3.2.2 替代数据
替代数据指的是用于评估公司和市场的非传统信息。这种类型的数据补充了传统的财务报告等来源。通过利用替代数据,交易agent可以获得对各种问题的独特视角,从而增强其投资决策过程。
新闻来源,如彭博社、《华尔街日报》、CNBC电视台或股票研究平台,提供了关于市场动态、行业趋势和公司特定发展的实时信息。这种类型的数据在各种研究[20, 27, 51, 53, 57]中被广泛使用,以保持对现实世界金融市场的最新了解。具体而言,LLM擅长从新闻数据中提取情感信息,这可能是交易决策的关键信号。
社交媒体数据。除了传统新闻来源,研究人员还可以利用社交媒体数据,如Twitter、Stack-Exchange、StockTwits和Reddit帖子,来捕捉关于金融主题的非正式、实时讨论。有许多机器学习模型利用社交媒体数据进行股票价格预测,例如[14, 40, 58]。然而,SEP [19]是论文审查的唯一一项将实时社交媒体数据纳入LLM交易agent的工作。在SEP中,LLM用于从特定股票的Twitter数据中生成和总结关键事实。
整合社交媒体数据是一个研究不足但潜力巨大的领域。
2.3.3 视觉数据
数值和文本数据在交易agent设计中占主导地位,而视觉数据作为附加数据源则较少被探索。这种差异的原因之一在于现有LLM模型在有效处理和理解金融视觉数据方面面临的挑战。
尽管最近提出的多模态LLM如LLaVA [28]、GPT-4v[35]具备处理视觉数据的能力,但大多数这些模型并未专门针对如K线图、成交量图等金融视觉数据进行训练和评估。FinAgent 57]在交易agent环境中使用GPT-4v整合视觉数据的早期实验显示了其潜力。FinAgent整合了K线图和交易图表以及数值和文本数据。与仅使用类似架构但无视觉输入的FinMem相比,它展示了显著的交易性能提升。这项工作通过利用交易图表信息,这是技术分析的基石,广泛被交易者使用,代表了在交易应用中利用视觉数据在LLM框架内向前迈出的重要一步。这一开创性工作为将视觉数据整合到基于LLM的交易agent中指明了有希望的方向。
2.3.4 模拟数据
模拟数据和环境旨在复制真实世界场景,为金融专业人士提供有效工具,以理解市场动态和大型语言模型(LLM)agent行为。在[54]中,一组具有不同性格的LLM股票agent在模拟环境中进行交易。该模拟不仅包括市场价格波动,还包括合成事件,如利率变化和财务报告的发布。此外,agent可以通过公告板系统进行交流。实验显示,不同性格的agent反应各异,外部因素对其行为有显著影响。
模拟数据对于在受控方式下研究LLM在极端情况下的偏差、伦理和鲁棒性行为也极为宝贵。[41]定义了包括极端压力在内的几种现实场景,以考察LLMagent在这些情况下的行为。研究发现,在高压力条件下,LLM能够采取不道德行为,如利用内幕信息进行交易以获利,甚至编造欺骗性解释来掩盖此类行为。这项研究强调了在金融交易中使用LLM可能带来的监管风险。因此,在将其部署到生产环境之前,必须彻底调查这些问题。
2.4 评估
在论文调查的论文中,由LLM驱动的交易agent在回测中展示了卓越的性能。讨论由LLMagent生成的交易策略,以及用于通过回测评估LLM性能的评价指标和基线。
2.4.1 交易策略
LLM通过分析市场新闻或财务报表等文本数据,生成简单的交易信号,如“买入”、“持有”、“卖出”。在FinMem[53]和FinAgent[57]中,信号直接用于特定股票的交易行动。然而,在管理多只股票的投资组合时,常用方法是采用基于排名的策略。这些策略需要一个数值分数来对股票进行排名,并根据这些分数的大小分配资金。在FinLlama[20]中,LLM对标普500指数中的所有股票进行排名,前35%的股票分配到多头仓位,而底部35%的股票分配到空头仓位。类似的策略在[18, 29]中也被采用,其中多空策略在回测中显示出优于仅多头和仅空头策略。另一方面,[50]将多头仓位分配给整体新闻情绪积极的股票,空头仓位分配给情绪消极的股票,不考虑情绪分数的大小。这种方法未能充分利用信号,导致在其实验中多空策略表现不如仅多头策略。在[56]中,股票根据其信号排名进行分组,排名最高的组显示出比其他组更好的回报。
在执行交易策略时,股票通常要么等权重分配,要么基于市值大小进行加权。在[18]和[29]中,市值加权的投资组合显示出略高于等权重投资组合的回报率。论文推测,由于新闻报道的偏见,大型公司的文本信号质量优于小型公司。
2.4.2 指标
投资组合绩效指标。论文所调研的几乎所有研究都使用常见的绩效指标来评估交易agent。累计回报率和年化回报率用于衡量交易策略的整体盈利能力。夏普比率[44]和最大回撤用于评估交易表现的风险。论文观察到的一个现象是,尽管风险和利润指标普遍使用,但很少有研究在其评估中考虑交易成本。
信号指标。有时,投资组合绩效指标并不能直接反映交易agent的性能或交易信号的有效性。因此,监测生成信号的预测能力同样重要。在[18]和[60]中,F1分数和准确率用于衡量新闻情感预测的准确性。同时,[10]和[56]使用胜率来衡量所有执行交易中盈利交易的比例。在QuantAgent[48]中,信息系数(IC)[55]被计算出来,以量化预测信号与未来回报之间的相关性。
系统指标。利用由语言模型(LM)驱动的交易agent处理信息并生成交易信号通常涉及利用商业大型语言模型(LLM)API,如ChatGPT。然而,QuantAgent是论文所遇到的唯一一项研究,它涉及生成LLM令牌的成本以及训练和推理的计算时间复杂度。这可能是因为与投资组合的资金规模相比,令牌生成的成本通常可以忽略不计。
2.4.3 回测设置
表1:回测涵盖的年数
为了评估由大型语言模型(LLM)驱动的agent的性能,大多数工作使用真实市场数据的回测。对于在单一股票投资组合上评估的agent,选择可访问新闻数据量最大的股票进行测试。例如,选择了TSLA、AMZN、MSFT、COIN、NFLX、GOOGL、META、PYPL等股票中进行交易。对于管理多股票投资组合的agent,通常选择指数成分股,如SP500[45]和CS1300[5]的成分股。
大多数基于agent的模型仅在股票市场上进行回测。在14篇使用真实市场数据进行回测的论文中,9篇专注于美国股票市场,5篇专注于中国市场。只有FinAgent[57]将其回测扩展到了加密货币市场,特别是交易ETH[4]。
论文观察到大多数评估将回测期间设定在2020年至2024年之间,这与作品的发表日期相吻合。平均而言,测试期间的中位数仅为1.3年(表1),具体的开始和结束日期选择相当随意。尽管LLMagent在回测期间表现出强劲的性能,但短期且单一的回测周期可能会降低结果的可信度。
2.4.4 基线与性能
在回测过程中,基线方法可以分为三大类:基于规则的、基于机器学习(或深度学习)的和基于强化学习的。在[31, 53, 57]中,如“买入并持有”、“均值回归”和“短期反转”等基于规则的策略被用作基线。鉴于分类模型可用于新闻情绪预测,随机森林、LightGBM、LSTM和BER等机器学习或深度学习模型也被用作基线。此外,强化学习算法在量化交易中日益流行[25]。PPO和DQN等深度强化学习框架也在[53, 57]中被用作基准。
总体而言,由语言模型驱动的交易agent在回测中展示了强大的性能。论文的调查[8, 29, 53, 57]显示,LLMagent在回测期间使用真实市场数据实现了15%至30%的年化回报率,超过了最强的基线,这展示了在金融交易中使用LLM的巨大潜力。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。