高阶Transformer提升多模态时间序列数据股票走势预测

高阶Transformer结合多模态数据,有效提升股票走势预测准确率,KDD 2024最新研究成果。

原文标题:高阶Transformer可在多模态时间序列数据上提升股票走势预测

原文作者:数据派THU

冷月清谈:

本文介绍了一种名为高阶Transformer的新型架构,用于预测股票走势。该架构通过扩展自注意力机制和Transformer架构,融合了技术分析和基本面分析,利用历史价格和相关推文的多模态信号,捕捉金融市场中股票和时间两个维度上的复杂动态。为了降低计算复杂度,研究人员采用了张量分解的低秩近似和核注意力技术。在Stocknet数据集上的实验结果表明,该模型在预测股票走势方面优于大多数现有模型。消融研究也证明了多模态数据和核注意力机制的有效性,以及在股票和时间两个维度上应用注意力机制的重要性。

怜星夜思:

1、除了推文,还有哪些多模态数据可以用于股票预测?
2、高阶Transformer的计算复杂度如何控制?
3、如何评估股票预测模型的实际盈利能力?

原文内容

来源:时序人

本文约2800字,建议阅读5分钟

本文提出了一种专为处理多模态股票数据以预测股票走势而设计的高阶 Transformer架构。


对于投资者和交易者来说,预测金融市场中股票走势十分重要,因为这能使他们做出明智的决策并提高盈利能力。然而,由于市场动态的随机性、股票价格的非平稳性以及历史价格之外众多因素的影响,这一任务本质上极具挑战性。


国外研究者通过引入高阶 Transformer 这一专为处理多变量时间序列数据设计的新型架构,解决了金融市场股票走势预测的挑战。将自注意力机制和 Transformer 架构扩展到更高阶,有效地捕捉了时间和变量之间的复杂市场动态。为了管理计算复杂性,研究者提出使用张量分解对可能较大的注意力张量进行低秩近似,并采用核注意力,从而将复杂性降低到与数据量成线性关系。此外,还提出了一个融合了技术分析和基本面分析的编码器-解码器模型,该模型利用了历史价格和相关推文的多模态信号。研究者在 Stocknet 数据集上进行的实验证明了该方法的有效性,凸显了其在提升金融市场股票走势预测潜力方面的作用。该工作已被 KDD 2024 接收。



【论文标题】

Higher Order Transformers: Enhancing Stock Movement Prediction On Multimodal Time-Series Data

【论文地址】

https://arxiv.org/abs/2412.10540


论文背景

传统的股票预测方法主要侧重于技术分析(TA)和基本面分析(FA),分别利用历史价格数据和关键财务指标。虽然这些方法提供了有价值的见解,但它们往往无法捕捉到金融数据的复杂相互依赖性和高维结构。

机器学习,特别是自然语言处理和图神经网络领域的最新进展,已开始通过整合新闻文章和社交媒体情绪等多模态数据源来解决这些局限性,从而更细致地理解市场动态。尽管取得了这些进展,但现有模型在处理高维、多元时间序列数据时,仍难以应对金融数据的庞大数量和变异性,导致预测性能往往不尽如人意。

为了解决这些挑战,研究者引入了一种名为高阶 Transformer 的新型架构。该架构通过在自注意力机制中融入高阶数据结构,扩展了传统的 Transformer 模型,使其能够捕获跨越时间和变量之间更复杂的相互关系。

论文方法

01 标记化 

研究者首先解释了如何对输入的多变量时间序列数据进行标记化。他们为每个股票在每天构建了一个价格向量,包括调整后的收盘价、最高价和最低价。此外,还添加了日期特征,如每月的日期、年份的月份和年份。这些价格和日期特征的组合形成了每个股票每天的六维向量。

受先前工作的启发,研究者在每个时间序列的开头添加了特定于股票的可学习标记,并将其作为 Transformer 编码器中的常见 CLS 标记。类似于 BERT 和 ViT,使用这个特殊标记的隐藏状态作为整个时间窗口内股票的表示,用于分类任务。

02 高阶Transformer 

首先回顾了 Transformer 层中的自注意力机制,然后通过张量化查询、键和值,将其扩展到高阶,从而形成了高阶 Transformer 层。鉴于在张量上计算注意力的成本过高,研究者提出了使用 Kronecker 分解的低秩近似,并结合了注意力核技巧,显著降低了计算复杂度。

  • 标准Transformer层

Transformer 编码层包含两个主要部分:自注意力层和逐元素前馈层。对于一组输入向量,Transformer 层计算特定的公式,包括自注意力和前馈网络的计算。

图片

  • 高阶Transformer层

为了将缩放点积注意力的公式推广到高阶输入数据,研究者将注意力的概念扩展到张量。不仅定义了 Transformer 编码层作为一个函数,包括自注意力和前馈网络的计算,并且注意力分数的计算也进行了相应的扩展。

图片
图片
图片

  • 低秩近似与Kronecker分解

考虑注意力矩阵作为将张量重塑为变量和时间维度的扁平化结果。使用 Kronecker 分解参数化注意力矩阵,并展示了如何通过 Kronecker 分解来近似原始的注意力张量。

图1:使用Kronecker分解的高阶注意力机制

  • 线性注意力与核技巧

采用核化线性注意力,通过使用合适的核函数来近似注意力矩阵,从而实现了线性计算复杂度。

03 模型架构 

模型架构由一个多层 Transformer 网络组成。输入张量通过一个线性投影层进行转换,以使特征与模型及其注意力模块所需的隐藏维度对齐。这里采用了预归一化技术,特别是 RMSNorm,在每一层中遵循 Touvron 等人提出的方法。对于计算时间注意力,则应用了旋转位置嵌入,而对于股票级注意力则不涉及位置嵌入,因为在这个维度上的顺序是无意义的。

如图2所示,推文编码被输入到 Transformer 编码器中,而历史价格数据被输入到 Transformer 解码器中。本文提出的多模态模型遵循编码器-解码器架构,其中编码器和解码器的数据模态不同。具体来说,文本编码由 Transformer 编码器处理,价格时间序列数据由 Transformer 解码器处理。而网络中的跨注意力层促进了这两种模态之间的信息融合。

图2:多模态Transformer架构

实验效果

研究者使用了 Stocknet 数据集来展示高阶 Transformer 在股票市场运动分类中的能力。该数据集包含了从 Yahoo Finance 中提取的88只股票的历史数据,以及从 Twitter 爬取的相关新闻,时间跨度为两年。

实验分析了本文所提出的模型与各种基线模型在 StockNet 数据集上的基准性能。如表1所示,本文所提出的模型在所有评估指标上均优于大多数现有基线模型,仅次于 NL-LSTM 模型,后者在二元股票运动预测中报告了最高的准确率。

表1:分类性能对比

研究者又进一步通过消融研究来调查模型的不同方面的影响,重点关注使用的注意力机制类型、数据模态和注意力方法。结果分别提供在表2和表3中。

表2展示了数据模态对性能的影响。整合了价格数据和 Twitter 新闻的多模态方法显著优于单模态方法,强调了利用多种数据源的好处。此外,文本基础的模型比基于时间序列的模型表现更好,显示出从 Twitter 爬取的新闻数据中存在丰富的上下文,对股票运动预测任务有显著帮助。表2还探讨了在不同模态下使用线性与标准注意力机制的效果。结果突出了线性注意力在效率和效果方面的优势,特别是在多模态设置中。

表3展示了在任一单一维度(股票级或时间级)应用注意力与不使用注意力相比,性能指标有所提高,但在两个维度上同时应用注意力时,性能提升最为显著。

表2:关于数据模态和注意力机制的消融研究表明,使用多模态数据相较于单模态数据更有效,使用核化注意力机制相较于标准注意力机制也更有效

表3:关于注意力维度的消融研究表明,在两个维度上应用注意力机制都是有效的

总结

本文提出了一种专为处理多模态股票数据以预测股票走势而设计的高阶 Transformer架构。通过扩展自注意力机制和 Transformer 架构以纳入高阶交互,该模型能够熟练地捕捉金融市场在股票和时间两个维度上的复杂动态。为了应对计算限制,研究者通过张量分解实现了低秩近似,并整合了核注意力,以实现线性计算复杂度。在 Stocknet 数据集上的广泛测试表明,本文方法在预测股票走势方面显著优于大多数现有模型。消融研究进一步验证了特定架构组件的有效性,凸显了它们对模型性能的贡献价值。未来研究者计划在其他多模态股票数据集上训练模型,并对真实世界的股票数据进行盈利能力分析,以进一步测试所提出方法的实际应用效果和财务可行性。

编辑:王菁



关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。



新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU

我觉得还可以进行一些敏感性分析,看看模型在不同市场环境下的表现如何,比如牛市、熊市、震荡市等等,这样才能更全面地评估模型的稳定性和可靠性。

感觉低秩近似和核方法这些技术还挺复杂的,有没有大佬能深入解读一下?

除了回测,还可以考虑交易成本、滑点等因素,这些因素在实际交易中都会影响最终的盈利。

文章中提到了使用张量分解进行低秩近似和核注意力技术,将复杂度降低到与数据量成线性关系,避免了计算爆炸的问题。

我觉得还可以结合一些宏观经济数据,比如利率、通货膨胀率、GDP增长率等等,这些数据对股市的影响也很大。

可以用回测的方法,用历史数据模拟真实的交易环境,看看模型的预测能不能转化成实际的盈利。

除了推文,还可以考虑新闻报道、财经论坛的讨论、公司公告、甚至卫星图像分析等数据。不同数据源可能反映不同方面的信息,结合起来或许能更全面地预测市场走势。

还可以考虑将交易数据,例如订单簿数据、交易量等纳入模型,这些数据能够直接反映市场参与者的行为,可能包含更及时的信息。

除了文章提到的方法,还可以考虑模型剪枝、量化等技术来进一步降低计算成本,或者使用更高效的硬件,例如GPU、TPU等来加速计算。