作者:老余捞鱼
原创不易,转载请标明出处及原作者。
写在前面的话:
股票市场变幻莫测,每一个消息都会对股票价格产生影响。传统深度学习模型在股票预测中存在黑箱问题,缺乏解释性。为了解决这个问题,新加坡国立大学的研究者们提出了SEP( Summarize-Explain-Predict )框架,利用自我反思代理和PPO(Proximal Policy Optimization )技术,使LLM能够自主学习生成可解释的股票预测。
论文地址:https://arxiv.org/pdf/2402.03659
Github地址:https://github.com/koa-fin/sep
一、摘要
本文提出了一个名为Summarize-Explain-Predict (SEP)的框架,利用自我反思代理和Proximal Policy Optimization (PPO)来训练一个可以自主生成可解释的股票预测的大型语言模型。该框架可以自我推理过去的股票走势,并使用PPO训练器生成最可能的解释,无需人工注释。使用SEP框架,可以训练出一个专门用于股票分类任务的大型语言模型,其预测准确性和Matthews相关系数均优于传统深度学习和大型语言模型方法。此外,该框架还可以用于投资组合构建任务,并通过各种投资组合指标证明其有效性。
二、简介
有效市场假说认为股票价格反映了所有可用信息,投资者通过挖掘外部数据源来理解新信息对市场的影响,以预测未来股价走势。传统深度学习方法在股票预测中是黑盒模型,缺乏解释性,而大型语言模型(LLMs)则提供了解释预测的可能性。我们的工作通过强化学习框架设计,细调LLM以生成股票预测的解释。
使用LLMs进行可解释的股票预测需要面对多种挑战。首先,社交文本的影响因素多样,需要模型具备权衡新信息影响的能力。其次,加入解释组件会使问题更加困难,需要大量的金融专家样本来训练RL。这需要大量的劳动力和成本,不利于扩展。
本文提出了一个Summarize-Explain-Predict (SEP)框架,利用自我反思代理和PPO技术,让LLM自主学习如何以可解释的方式进行股票预测。该框架通过Summarize模块将大量文本输入数据转换为要点形式的摘要信息,通过Explain模块让自我反思代理自我教育如何生成正确的股票预测和解释其推理过程,最后通过Predict模块使用自我教育的响应进行PPO训练,生成最可能的股票预测和解释。实验结果表明,该框架在二元股票分类任务中的预测准确性和Matthews相关系数方面优于传统的深度学习和LLM方法,并且在投资组合构建任务中也表现出了良好的效果。
三、相关工作
3.1 文本分析在股票预测中的应用历程
早期研究使用不同的文本表示方法,如词袋、名词短语和命名实体,后来被结构化信息所取代。最近的研究则更注重增加其他形式的信息,如音频数据和公司关系图。
3.2 大型语言模型在金融领域的应用
BloombergGPT是最著名的金融领域的大型语言模型之一,其他研究也尝试使用自己的金融领域语言模型。最近的研究则探索使用大型语言模型通过指导调整或预训练模型来进行股票预测。本文则通过增加自我反思代理和PPO训练器来优化股票预测的语言模型。
四、方法
本文介绍了可解释的股票预测任务和数据,并提出了SEP框架,包括总结模块、解释模块和预测模块。总结模块从非结构化文本输入中生成事实信息摘要,解释模块通过自我反思迭代生成股票预测的解释,预测模块使用自动生成的注释样本微调LLM并生成置信度预测。
4.1 预备知识
问题定义。本文旨在通过给定股票的文本语料库,预测下一个交易日的股票价格变动,并提供人类可读的解释。文本语料库包含过去T天的文本,我们需要生成一个二进制价格变动预测和相应的解释。每个语料库包含一个变量数量的未结构化文本,我们需要提取其中的要点。
数据准备。收集2020-2022年的股票和推特数据,共55支股票,使用Yahoo Finance和Twitter API获取数据,利用BERTopic进行聚类,识别每天的代表性推特。
4.2 摘要生成
本模块旨在从非结构化的输入文本中生成摘要信息。当前的LLM已经具备了超越人类的摘要能力。为了避免超出字符限制,我们首先使用LLM生成每天的事实信息的点形式摘要。在提示中,我们还提供了两个示例。
4.3 解释生成
本模块旨在为股票预测生成清晰的解释,并作为LLM自我反思以改进其预测的推理步骤。该模块包含两个变量输入:指定的股票和从上一个模块生成的提取信息序列。通过自我反思循环,LLM可以迭代地改进其过去的响应,从而获得正确和不正确的响应对。
4.4 预测生成
预测模块的目标是通过微调一个LLM来生成好的股票预测和解释。该模块采用了三步微调过程,包括收集演示数据、收集比较数据和使用奖励模型来优化训练策。
五、实验
为了评估SEP模型在股票预测任务中的表现,设计了三个研究问题:
- (RQ1)SEP模型在分类准确性和解释质量方面如何与传统深度学习和其他LLM方法相比?
- (RQ2)每个提出的组件如何帮助提高SEP模型的性能?
- (RQ3)SEP框架是否足够通用,可用于其他金融相关任务,如可解释的投资组合构建?
5.1 实验设置
基线。我们将SEP与传统深度学习模型和微调大型语言模型(LLM)进行比较。深度学习模型包括VAE+Attention、GRU+Attention、Transformer。大语言模型包括GPT-3.5-turbo、Vicuna-7b-v1.5、FinGPT-Forecaster。
根据之前处理二元股票分类任务的工作,我们使用预测精度和马修斯相关系数(Matthews Correlation Coefficient, MCC)作为我们的评估指标。对于所有LLM结果,任何以错误格式做出的预测,或“中性”或“混合”,将被视为不正确的预测。
5.2 结果
预测性能。在预测精度方面,在gpt生成的解释上微调的SEP模型能够获得最佳结果,比使用所有文本的最强基线(GRU+Att)提高2.4%。另一方面,在Vicuna-v1.5生成的解释上进行微调的SEP模型在准确性方面不如基线。在马修斯相关系数(MCC)指标上,SEP模型在所有设置下都能够优于所有模型,这显示了模型在考虑随机猜测后理解自然语言文本对股票运动影响的真正能力。
解释性能。经过SEP微调,我们可以观察到两个主要的改进。第一个是有效的权衡新闻信息以预测股票走势的能力。第二个是生成了更高质量解释的能力。
我们可以观察到:
- 最高分来自更一般化的指标,如信息一致性。
- 所有LLM都给出了高质量的解释,即使预测是错误的。
- 我们的SEP模型在所有指标中得分最高。
5.3 消融分析
本文评估了三个组件的性能。总结模块通过提取重要的事实信息来减少输入文本的噪音和长度。解释模块通过自我反思生成注释样本,提高了模型的预测准确性。预测模块的变体分别去除了𝑛-shot采样、PPO强化学习和注释,结果表明这些组件对模型的性能有重要影响。
5.4 投资组合优化
实验结果表明,使用SEP框架可以教会LLM以二进制方式权衡输入文本中信息的影响,并且可以在生成的解释中量化地权衡信息以生成股票组合权重。使用SEP微调的LLM在股票组合任务中表现优于其他LLM和基线模型。其中,只购买预测为正面的股票的Positive-Only组合已经表现出良好的性能。
我们观察到:
- 原始股票预测模型在实际情况下能够产生良好的交易信号。
- 1/N和市场指数组合方法包含更多的股票,能够更均匀地分散股价波动,但其夏普比率仍低于其他模型。
- 预训练的LLM模型(如GPT-3.5和Vicuna)在大多数指标上表现优于Positive-Only组合方法,说明LLM能够权衡信息以产生组合权重。
- SEP模型在大多数组合指标上表现优于其他方法,且标准差表现相当,展示了SEP框架的有效性。
- LLM模型能够解释生成的组合权重,增加了结果的可解释性和可信度。
六、总结
本文介绍了可解释的股票预测任务的挑战,包括当前LLMs在权衡不同市场因素以进行股票预测的局限性和缺乏用于微调LLMs以进行解释的注释训练样本。为了解决这些挑战,提出了SEP框架,利用自我反思代理和PPO技术,让LLM自主学习如何生成股票解释。实验结果表明,SEP模型在预测准确性和生成解释质量方面优于传统的深度学习和LLM方法。未来的研究可以探索使用其他数据源来提高预测质量,同时也可以帮助探索最新LLM升级的多模态能力。此外,还可以进一步研究评估生成的股票解释的指标。
本文内容仅仅是技术探讨和学习,并不构成任何投资建议。转发请注明原作者和出处。