arXiv | https://arxiv.org/abs/2311.13743
GitHub | https://github.com/pipiku915/FinMem-LLM-StockTrading/
摘要:
大型语言模型的最新进展在不同领域的问答(QA)任务中表现出显著的功效,在整合广泛的网络知识方面的实力激发了人们对开发基于LLM的自主智能体的兴趣。虽然LLM在解码人类指令和通过整体处理历史输入得出解决方案方面是有效的,但过渡到目的驱动的智能体需要一个补充的理性架构来处理多源信息,建立推理链,并确定关键任务的优先级。为了解决这个问题,我们引入了FINMEM,这是一种新的基于LLM的智能体框架,用于财务决策。
它包含三个核心模块:分析 Profiling,用于定制智能体的特征;记忆 Memory,采用分层消息处理,帮助智能体吸收分层财务数据;决策 Decision-making,将从记忆中获得的见解转化为投资决策。FINMEM的记忆模块与人类交易者的认知结构密切相关,提供强大的可解释性和实时调优。同时,其可调节的认知范围允许保留超越人类感知限制的关键信息,从而提高交易结果。此外,该框架使智能体能够自我发展其专业知识,对新的投资线索作出敏捷反应,并在动荡的金融环境中不断改进交易决策。
一、引言
随着来自网络的各种金融数据流的涌入,交易者面临着来自各种来源的海量信息,这就要求他们快速理解、记忆和过滤投资决策中的关键事件。然而,先天的认知局限性限制了人类交易者在其感知和记忆能力范围内处理信息,为了克服人类交易者记忆系统的物理限制,研究人员一直致力于设计自主交易智能体系统。
本文提出了FINMEM,一种创新的基于LLM的自主交易智能体,具有新颖的分层记忆系统和动态角色设定。与之前金融领域的LLM智能体不同,FINMEM包含一个记忆模块,可以熟练地处理具有不同时效性和自适应特征设置的多源金融数据,以适应波动的市场环境。
主要贡献:
- **FINMEM提供了一个最先进的基于LLM的交易智能体,具有与人类一致的记忆机制和角色设定,特别用于捕获金融市场的投资见解。**在记忆模块设计上,FINMEM创新性地模拟了人类的工作和分层的长期记忆机制,有效地利用了金融数据的时间敏感性。分析模块包括动态角色设定功能,提供有关专业背景和可调整风险倾向的种子信息。
- **FINMEM可以利用其独特的特征扩展智能体的感知范围,超越人类的限制,做出明智的交易决策。**人类工作记忆一次只能回忆起5到9个事件。FINMEM的记忆模块可以通过从分层长期记忆的每一层中选择灵活数量的顶级事件来调整认知负荷,使FINMEM保持敏捷性,并在数据丰富的环境中提供卓越的交易决策。
- **FINMEM使用数量有限且时间跨度短的训练数据实现了令人印象深刻的交易性能。**实验表明,在六个月到一年的时间里,用每天收集的数据训练FINMEM就足以产生稳健而显著的交易结果,比其他可比模型所需的时间要短得多。这种效率是通过对多源输入数据的最佳利用和对交易决策关键信号的精确识别来实现的。
二、FINMEM 架构
FINMEM有三个核心组件,即分析、记忆和决策模块。
- 分析模块使FINMEM能够自适应地为特定的交易任务量身定制角色设置。
- 记忆模块利用金融数据的多种时效性属性,增强其交易效能。
- 决策模块使FINMEM能够将其记忆流与市场事实同步,促进高质量的交易决策。
2.1 分析模块 Profiling Module
FINMEM 的分析模块使其能够开发一个动态的智能体角色,专门设计用于有效地驾驭金融市场的复杂动态。FINMEM 的动态特征包括两个主要组成部分:首先是类似于交易专家的基础专业知识库,其次是具有三种不同投资风险倾向的智能体。
第一个组成部分包括两种类型的信息:
- Trading Sectors:股票相关的主要交易行业的介绍
- Historical Financial Performance Overview:从训练开始到结束期间股票历史财务业绩的简要概述。
第二个组成部分包含三种不同的风险倾向选项:风险寻求、风险厌恶和自适应风险。
- 风险寻求的设定使智能体朝着积极的、高回报的策略发展
- 风险厌恶的设定则使其朝着保守的、低风险的策略发展。
- 自适应风险能够根据当前的市场情况在这些风险设置之间动态交替。具体来说,当累积收益在短时间内(如三天)降至零以下时,它会改变风险偏好,反之亦然。
2.2 记忆模块 Memory Module
FINMEM 的记忆模块模拟了人类交易者的认知系统,因此它可以有效地处理分层金融信息,并优先考虑高质量投资决策的关键信息。此外,它灵活地调整记忆广度,使智能体能够在更长的检索周期内操作更大范围的事件。FINMEM 的记忆模块包括具有分层处理能力的工作记忆和长期记忆。
2.2.1 工作记忆 Working memory
工作记忆是指人类认知系统的临时存储和多种操作功能。将这一概念融入到 FINMEM 的记忆模块中,为明智的决策创造了一个中央工作空间,且具有根据特定要求扩展容量的能力。工作记忆是为将金融数据转化为交易行为而量身定制的,它包含三个关键操作:总结、观察和反思。
- 总结 Summarization:利用外部市场数据来获得针对特定股票交易查询的关键投资见解和情绪(“您能否在2023年1月24日对特斯拉做出投资决策?”),有效地提取和总结股票投资决策的相关数据和情绪。随后,FINMEM 将这些见解根据信息的时间敏感性引导到长期记忆架构中相应的层中(每日新闻、季报、年报)。
- **观察 Observation:**观察收集市场事实,在训练和测试阶段所获得的信息不同。
- 训练阶段:可获得所有股票价格信息,将第二天与当天的价格差异用作市场碎标签,即上涨对应买入,下跌对应卖出。
- 测试阶段:无法访问未来价格数据,重点转向对历史股价走势的分析,依靠对过去M个交易日累积回报的回顾性评估来推断未来的市场趋势。
- **反思 Reflection:**包括即时反思和拓展反思。
- 即时反思 Immediate reflection:每天根据观察操作的市场趋势和每个长期记忆层的Top K 事件进行反思,生成当天的交易决策(买入、卖出或持有)、决策原因、最具影响力的记忆事件。
- 拓展反思 Extended reflection:在指定跟踪周期(每周或每月)内重新评估即时反思结果,通过观察操作的市场趋势重新评估及时反思的策略有效性,最终存储在深度处理层中以调整未来交易策略,体现长期记忆。
2.2.2 分层长期记忆 Layered long-term memory
FINMEM 的长期记忆在分层结构中进行分层金融数据洞察,灵感来自于人类认知系统信息处理层中衰减速度的变化,采用分层结构来适应不同类型金融数据固有的不同时间敏感性。记忆中的见解由工作记忆的总结操作产生的,根据及时性和衰减率对总结的见解进行分类,深层的衰减率较小,保留时间较长;而浅层的衰减率较大,保留时间较短。其中每个记忆事件只能属于一层。
FINMEM 从每一层检索前 K 个关键记忆事件,并引导到工作记忆的直接反思中,排序按照其信息检索得分 γ l E \gamma_l^E γlE 降序排列, E E E 表示给定的记忆事件, l l l 代表浅加工层、中加工层、深加工层,每层的得分均由三个指标及时性、相关性、重要性缩放至 [ 0 , 1 ] [0,1] [0,1] 后加总得到:
γ l E = S Recency t E + S Relevancy t E + S Importance t E \gamma_l^E=S_{\text{Recency}_t}^E+S_{\text{Relevancy}_t}^E+S_{\text{Importance}_t}^E γlE=SRecencytE+SRelevancytE+SImportancetE
及时性 Recency: S Recency t E = e − δ E Q l S_{\text{Recency}_t}^E=e^{-\frac{\delta^E}{Q_l}} S