在股票市场,信息变化无常,对股票价格的影响千变万化。传统深度学习模型在股票预测中存在黑箱问题,缺乏解释性。近年来,大型语言模型(LLM)的兴起为解决这一问题提供了新的思路。来自新加坡国立大学的研究者们提出了SEP( Summarize-Explain-Predict )框架,利用自我反思代理和PPO(Proximal Policy Optimization )技术,使LLM能够自主学习生成可解释的股票预测。
代码:https://github.com/koa-fin/sep
论文地址:https://arxiv.org/abs/2402.03659

添加图片注释,不超过 140 字(可选)
一、摘要
本文的目标是利用自我反思大型语言模型生成可解释的股票预测。为了实现这一目标,作者提出了Summarize-Explain-Predict框架,包括总结模块、解释模块和预测模块。

添加图片注释,不超过 140 字(可选)
自我反思代理和PPO技术使LLM能够自主学习生成可解释的股票预测。在股票分类任务上,SEP框架的有效性得到了验证,并优于传统深度学习和LLM方法。此外,作者还证明了SEP框架具有足够的泛化能力,可应用于投资组合构建等金融相关任务。
二、相关工作
文本分析在股票预测中的应用:早期股票预测研究首先研究了使用不同文本表示的新闻的效果,如词袋、名词短语和命名实体。后来,基于注意力模型的文本分析技术得到了广泛的应用。
大型语言模型在金融领域的应用:目前已有一些利用LLM进行金融文本分析的研究,如BloombergGPT、FinMA和FinGPT等。然而,这些研究主要分析单个文本,而非一系列文本。
三、方法

添加图片注释,不超过 140 字(可选)
3.1 Preliminaries
问题定义和数据收集:给定股票s及其过去T天的相关文本数据,目标是生成下一天的股票预测,包括二进制价格变动和解释性文本。
3.1.1 Problem Formulation: 给定股票s及其过去T天的相关文本数据 ���−�,…,���−1 ,目标是生成下一天的股票预测 �^�� ,包括二进制价格变动 �^�� 和解释性文本 �^�� 。每个文本数据集 ��� 包含 ��� 个文本。
3.1.2 Data Collection and Clustering: 作者构建了一个新的数据集,包含2020-2022年的55只股票的微博数据和股价数据。微博数据通过Twitter API获取,股价数据来自Yahoo Finance。使用BERTopic进行聚类,提取每天最具代表性的微博文本作为输入。
3.2 Summary Generation
该模块的目标是从无结构化文本中生成要点式总结。使用LLM生成每个交易日的事实要点总结X_s^t,例如:“Big Tech stocks, including Apple (AAPL), Google, Amazon, and Facebook, beat earnings expectations.”,可表示为: ���=��(�,���) 。
3.3 Explanation Generation
3.3.1 Explanation Prompting: 给定股票s和总结序列,LLM生成响应 ��� ,包括价格变动 ��� 和解释 ��� ,即: ���=��(�,���−�,…,���−1) 。

添加图片注释,不超过 140 字(可选)
3.3.2 Self-Reflective Process: LLM作为自主代理,通过迭代自我反思过程来改进预测。首先将初始响应作为迭代0,对每个迭代i,评估价格变动与真值的对齐,对错误样本,LLM生成反馈 ��� ,i,解释错误原因和改进计划。反馈加入长期记忆 ��� ,i,再次输入LLM生成下一个迭代的价格变动和解释。通过这个过程,获得了正确和错误的响应对。
3.4 Prediction Generation
3.4.1 Model Fine-Tuning: 使用SFT预训练、奖励模型训练和PPO强化学习进行模型微调。首先用初始正确的样本训练SFT模型,然后用正确错误的响应对训练奖励模型,最后用奖励模型优化SFT模型。

添加图片注释,不超过 140 字(可选)
3.4.2 Confidence-based Sampling: 测试时,使用预训练LLM总结文本,用训练好的模型生成预测,并基于奖励模型评分选择最佳响应。
四、实验
4.1 Experimental Settings
4.1.1 Baselines: 比较了以下基准模型:
传统深度学习模型:VAE+Attention、GRU+Attention、Transformer
大语言模型:GPT-3.5-turbo、Vicuna-7b-v1.5、FinGPT-Forecaster
4.1.2 Implementation Details: 使用GPT-3.5-turbo-16k和Vicuna-13b-v1.5-16k进行Summarize和Explain组件的评估,使用Vicuna-7b-v1.5-16k进行训练。使用4-bit量化低秩适配器(LoRA)进行训练,推理时使用n-shot采样。
4.2 Performance Comparison (RQ1)
SEP框架优于所有比较方法,预测准确率和MCC(Matthews correlation coefficient)相关系数最高。

添加图片注释,不超过 140 字(可选)
4.2.1 Prediction Performance: SEP模型在预测精度和Matthews相关系数(MCC)上优于所有基准模型。与最强的基准模型GRU+Attention相比,SEP在GPT-3.5上提升了2.4%的准确率和0.0177的MCC, 在Vicuna上提升了0.0014的MCC。

添加图片注释,不超过 140 字(可选)
4.2.2 Explanation Performance: SEP模型生成了更好质量的解释。通过自我反思和强化学习,SEP框架教会了模型更好地比较这些因素,以生成更好的预测。

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)
4.3 Ablation Study (RQ2)
验证了每个模块的作用,证明了SEP框架的有效性。

添加图片注释,不超过 140 字(可选)
4.3.1 Summarize Module: 与使用原始微博文本相比,使用总结文本提供了更好的结果。
4.3.2 Explain Module: 通过迭代自我反思过程,模型生成了更多决定性和正确的样本。

添加图片注释,不超过 140 字(可选)
4.3.3 Predict Module: PPO强化学习带来了最大的改进,从SEP(no PPO)到SEP(1-shot)提升了14.8%。

添加图片注释,不超过 140 字(可选)
4.4 Portfolio Optimization (RQ3)
将SEP框架应用于投资组合构建任务,通过投资组合指标证明了其有效性。

添加图片注释,不超过 140 字(可选)
4.4.1 Portfolio Task: SEP模型用于生成多只股票的权重。通过自我反思迭代和PPO训练,选择具有更高收益的权重作为“更好”的响应。

添加图片注释,不超过 140 字(可选)
4.4.2 Portfolio Comparison: SEP模型生成的组合在大多数组合指标上优于其他方法。
五、结论
SEP框架使LLM能够自主学习生成可解释的股票预测,在股票分类任务上验证了其有效性。此外,SEP框架还具有足够的泛化能力,可应用于投资组合构建等金融相关任务。