驱动大模型生成可解释的股票预测,斩获 16.6%收益率

作者:老余捞鱼

原创不易,转载请标明出处及原作者。

写在前面的话:
       股票市场变幻莫测,每一个消息都会对股票价格产生影响。传统深度学习模型在股票预测中存在黑箱问题,缺乏解释性。为了解决这个问题,新加坡国立大学的研究者们提出了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升级的多模态能力。此外,还可以进一步研究评估生成的股票解释的指标。


本文内容仅仅是技术探讨和学习,并不构成任何投资建议。转发请注明原作者和出处。

  • 23
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: CADENCE 16.6是一种EDA(电子设计自动化)工具软件,能够在集成电路设计过程中提供全面的支持和解决方案。生成背钻是CADENCE 16.6中的一个功能,在PCB(印刷电路板)设计中非常常见。 在PCB设计中,背钻是一种将电路板的内部层与外部层之间的连接方式。通过背钻,可以提供更高的电气连接密度和更高的效果,以满足现代电子设备对小型化和高性能的要求。 CADENCE 16.6生成背钻的过程主要涉及以下几个步骤: 1. 设定设计规则:首先,根据设计要求和背钻的特定规范,设置CADENCE 16.6的设计规则。这些规则包括背钻孔的大小、间距等。 2. 创建背钻层:在CADENCE设计平台中,创建与背钻相关的电路板层。这些层包括背钻层和连接层,用于定义背钻孔的位置和尺寸。 3. 铺设信号层:根据电路板设计要求,使用CADENCE 16.6铺设信号层。在这个过程中,背钻层和其他层的铜形状将被定义和铺设。 4. 生成背钻:在信号层铺设完成后,使用CADENCE 16.6的工具来生成背钻。通过设置背钻孔的位置、直径和连接层之间的连线,CADENCE 16.6可以帮助自动生成背钻。 5. 验证和优化:生成背钻后,需要对其进行验证和优化。这可以通过使用CADENCE 16.6的验证工具进行电气和物理验证,以确保生成的背钻符合设计规则和要求。 通过CADENCE 16.6生成的背钻,可以在PCB设计中实现更高的连接密度和更高的效果。它能够在满足设计要求的同时,提高电子设备的性能和可靠性。 ### 回答2: Cadence 16.6是一种用于集成电路设计的软件工具。"生成背钻"是指利用Cadence 16.6软件生成背钻孔的过程。 背钻是一种钻通孔的加工方法,通常用于多层印刷电路板(PCB)的制造。通过在PCB的顶层和底层之间钻孔,实现顶层到底层的电气连接。Cadence 16.6提供了针对背钻的功能和工具,大大简化了这一过程。 在使用Cadence 16.6生成背钻时,首先需要创建一个PCB设计文件,并制定好设计规范和要求。然后,使用Cadence 16.6的背钻生成工具,在PCB上标注背钻孔的位置和数量。通过指定孔的直径、间距和层数,可以精确控制背钻的参数。 接下来,利用Cadence 16.6软件的背钻生成功能,生成包含背钻孔信息的图形文件或数据文件。这些文件可以用于后续的加工工艺,例如钻孔机器的操作。 Cadence 16.6生成的背钻数据具有高度精确性和独立性,可以适用于不同的PCB制造流程和设备。这意味着通过Cadence 16.6生成的背钻数据可以灵活地用于不同供应商的PCB制造,而不需要重新调整和修改。 总而言之,通过利用Cadence 16.6生成背钻,我们可以方便、高效地实现PCB的背钻加工。这样可以提高生产效率,降低制造成本,并保证PCB的质量和可靠性。 ### 回答3: Cadence 16.6是一种集成电路设计软件,用于帮助工程师设计和仿真电路。背钻是一种电路中的特定布局,用于提高电路的性能和稳定性。 在Cadence 16.6生成背钻意味着使用软件的布局工具将背钻特性应用于设计。生成背钻的过程通常包括以下步骤: 1. 设计电路:首先,工程师需要在Cadence 16.6中设计并绘制他们想要生成背钻的电路。这可以包括使用器件、引脚和连接线等元件。 2. 选择背钻参数:接下来,工程师需要选择生成背钻所需的参数。这些参数可以包括背钻孔的位置和尺寸、背钻层的选择以及其他相关参数。 3. 应用背钻特性:一旦参数选择完毕,工程师就可以使用Cadence 16.6的布局工具来应用背钻特性。这可以通过在布局中添加背钻孔和背钻层来实现。 4. 仿真和验证:在生成背钻后,工程师通常会使用Cadence 16.6的仿真工具对电路进行仿真和验证。这可以帮助他们确保背钻的应用对电路性能和稳定性产生了预期的影响。 生成背钻的目的是为了优化电路的性能和稳定性。通过在设计中引入背钻,可以减少信号互相干扰、降低功耗以及提高电路的可靠性。 总之,使用Cadence 16.6生成背钻是一种将背钻特性应用于电路设计的过程。它可以通过选择合适的参数和使用软件的布局工具来实现。通过生成背钻,工程师可以优化电路的性能和稳定性,提高设计的质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老余捞鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值