简单概括
股价预测一直是一个长期以来的挑战性问题,这主要是由于股市的高波动性。最近的研究已经致力于建模复杂的股票相关性,以实现联合股价预测。现有的研究共享一个共同的模型架构,该架构学习来自个别股票序列的时间模式,并混合时间表示以建立股票相关性。然而,它们仅考虑时间对齐的股票相关性,这些相关性源自所有输入股票特征,这受到两个限制。首先,股票相关性通常是瞬时和跨时间的,其次,特征的有效性会随着市场变动而动态变化,这影响了股票序列模式及其相关性。为了解决这些限制,这篇文章引入了MASTER,一个市场引导的股票Transformer,它模拟了瞬时和跨时间的股票相关性,并利用市场信息进行自动特征选择。MASTER优雅地解决了复杂股票相关性问题,通过交替进行股票内部和股票间信息的汇总。实验表明,与先前的工作相比,MASTER的优越性,并可视化捕捉到的现实股票相关性,以提供有价值的见解。
论文题目:MASTER: Market-Guided Stock Transformer for Stock Price Forecasting
作者:Tong Li 1*, Zhaoyang Liu 2, Yanyan Shen 1†, Xue Wang 2, Haokun Chen 2, Sen Huang 2
单位:上海交通大学、阿里巴巴
代码:https://github.com/SJTU-Quant/MASTER
关注微信公众号,获取更多资讯
1 背景知识
股票价格预测是利用从股票市场收集的历史数据来预测未来趋势,是股票投资盈利的一项重要技术。不像固定时间序列通常表现出规律的模式,如周期性和稳定的趋势,股票价格序列的动态是复杂的,因为股票价格波动受多种因素的影响,包括宏观经济因素,资本流动,投资者情绪和事件。各种因素的混合将股票市场交织成一个相互关联的网络,这使得在不考虑其他股票的情况下,很难准确预测股票的个别行为。
之前的大部分作品(Feng et al. 2019;许等人2021;Wang等人2021,2022;Wang, Qu, and Chen(2022)在股票相关性领域依赖于预定义的概念、关系或规则,建立了静态相关性图,即同一行业的股票相互连接。虽然这些方法提供了股票之间关系的见解,但它们不能解释实时股票相关性。例如,同一行业内的不同股票在某一天可能会经历相反的价格变动。此外,预定义的关系可能不能推广到一个不断变化的市场中的新股,在这个市场中,公司上市、退市或主营业务变化等事件通常会发生。另一项研究(Yoo et al. 2021)遵循Transformer架构(Vaswani et al. 2017),并使用自关注机制来计算动态股票相关性。这种数据驱动的方式更加灵活,适用于市场中时变的股票集。
尽管建立股票相关性的方案不同,但现有的方法通常遵循共同的两步计算流程。如图1所示,第一步是使用顺序编码器总结股票特征的历史序列并获得股票表示,第二步是通过使用图编码器或注意机制聚合来自相关股票的信息来细化每种股票表示。然而,这种流动受到两个限制。
图1:现有工作的架构。虚线 表示潜在的瞬时和跨时间股票的相关性,它们位于一些(stock1, time1)、 (stock2, time2)对之间。
首先,现有的研究提炼了一个整体的股票表示,模糊了股票序列的时间特定细节,导致对事实上的股票相关性建模的弱点,这种相关性通常以瞬时和跨时间的方式发生 (Bennett, Cucuringu, and Reinert 2022)。具体来说,股票相关性是高度动态的,可能存在于不一致的时间步长,而不是通过整个回顾期。这是因为股票价格的主导因素是不断变化的,不同的股票对同一因素的反应可能有不同的延迟。例如,上游公司的股价对原材料短缺的反应可能比下游公司更快,个别股票表现出许多追赶和落后行为。
由于股票相关性可能存在于每个股票对和时间对之间,因此模拟瞬时和跨时间相关性的一种直接方法是收集 t x |S|特征向量进行成对关注计算,其中t为回顾窗口长度,S为股票集。然而,除了计算复杂度增加之外,这种方法还面临着实际困难,因为股票预测任务处于强烈的数据饥饿状态。直观地说,每年只有大约250个交易日,对股票的观察有限 (个人理解:数据量很小)。当模型采用如此大的关注域,而训练样本又不足时,往往难以优化,甚至可能陷入次优解。虽然聚类方法如局部敏感散列(Kitaev, Kaiser和Levskaya2020)已经被提出来减少注意力字段的大小,但它们对初始化很敏感,这是一个致命的问题在像股票预测这样的数据饥渴领域。为了解决这些挑战,我们提出了一种专门为股票价格预测设计的新型股票Transformer架构。我们的模型不是直接使用基于聚类的近似方法对τ x |S|注意力场进行建模,而是交替地聚合来自不同时间步长和不同股票的信息,以模拟真实的股票相关性并促进模型学习。
现有工作的另一个局限是它们忽略了不同市场状况的影响。在市场变化的长期实践中,投资者观察到的一个重要特征是动态生效和失效的。特征的有效性影响股票内部序列模式和股票相关性。例如,在牛市中,由于投资者的乐观情绪,股票之间的相关性更加显著。传统的投资者通过反复的统计检验来选择有效特征,在与基于学习的方法相结合时,统计检验过于详尽,存在一定的差距。为了节省人力,我们为库存Transformer配备了一种新颖的门控机制,该机制结合了市场信息来执行自动特征选择。我们将提议的方法命名为MASTER,代表市场导向股票Transformer。总的来说,我们的主要贡献如下:
- 我们提出了一种新的股票价格Transformer预测,以有效地捕捉股票相关性。就我们所知,我们是第一个用基于学习的方法挖掘瞬时和跨时间股票相关性的。
- 我们引入了一种新的门控机制,该机制集成了 市场信息,以自动选择相关特征,并适应不同的市场场景。
- 我们进行了实验来验证我们 提出的方法的设计,并证明了其与 基线相比的优越性。可视化结果为股票相关性的实时动态提供了有价值的见解。
2 详细方法
在每个时间步 t ∈ [ 1 , τ ] t \in[1,\tau] t∈[1,τ]收集每个股票的指标 u ∈ S u\in \mathcal{S} u∈S,形成特征向量 x u , t ∈ R F x_{u,t} \in \mathbf{R}^F xu,t∈RF。继现有的股票市场分析{feng2018enhancing, sawhney2020spatiotemporal, huynh2023efficient}的工作,我们的重点是股票价格的变化,而不是绝对价值的预测。收益率为 d d d天内相对收盘价变化,为 r ~ u = ( c u , τ + d − c u , τ + 1 ) / c u , τ + 1 \tilde{r}_{u}=(c_{u,\tau+d}-c_{u,\tau+1})/c_{u,\tau+1} r~u=(cu,τ+d−cu,τ+1)/cu,τ+1,其中 c u , t c_{u,t} cu,t为时间步长 t t t时股票 u u u的收盘价, d d d为预先确定的预测区间。与绝对价格变化相比,回报率使不同股票之间的市场价格变化正常化。由于股票投资是为了对最赚钱的股票进行排名和选择,我们对回报率进行每日Z-score归一化,用排名来编码标签 r u = N o r m S ( r ~ u ) r_{u}={\rm Norm}_\mathcal{S}(\tilde{r}_{u}) ru=NormS(r~u),就像之前的工作{yang2020qlib}一样。
定义1:股价预测
给定股票特征 { x u , t } u ∈ S , t ∈ [ 1 , τ ] \{x_{u,t}\}_{u\in \mathcal{S},t\in [1, \tau]} { xu,t}u∈S,t∈[1,τ],股票价格预测就是共同预测未来归一化收益率 { r u } u ∈ S \{r_{u}\}_{u\in \mathcal{S}} { ru}u∈S。
2.1 概述
图2描述了我们提出的方法MASTER的体系结构,它由五个步骤组成。
- (1)市场导向门控。我们构建了一个代表当前市场状态的向量 m τ m_τ mτ,并利用它通过门控机制重新缩放特征向量,实现市场导向的特征选择。
- (2)股内聚集。在每只股票的序列中,在每个时间步,我们聚合来自其他时间步的信息以生成一个局部嵌入,该嵌入保留股票的时间局部细节,同时沿时间轴收集所有重要信号。本地嵌入的 h u , t h_{u,t} hu,t将作为继电器,将采集到的信号传输到后续模块的其他库存。
- (3)股间聚集。在每个时间步,我们使用注意机制计算股票相关性,并且每个股票进一步聚集其他股票的局部嵌入。聚集的信息 z u , t z_{u,t} zu,t,我们称之为时间嵌入,它不仅包含t时刻相关的股票的信息,还保留了 u u u的个人信息。
- (4)时间聚集。对于每只股票,最后的时间嵌入查询所有历史时间嵌入来产生一个综合的股票嵌入 e u e_{u} eu。
- (5)预测。综合的股票嵌入被发送到预测层进行标签预测。我们将在以下小节中逐步详细说明MASTER的细节。
预测
综合的股票嵌入被发送到 预测层进行标签预测。我们将在以下小节中逐步详细说明MASTER的 细节。
2.2 Market-Guided Gating
市场状况表示
首先,我们建议将两个方面的信息组合成一个向量 m τ m_\tau mτ,以对当前市场状况进行丰富的描述。
- (1)市场指数价格。市场指数价格是一组股票的价格按其市值份额的加权平均值。 S ′ \mathcal{S'} S′通常由市值最高的顶级公司组成,代表特定的市场或部门,在投资 S \mathcal{S} S时可能与用户感兴趣的股票不同。我们既包括 τ \tau τ的当前市场指数价格,也包括历史市场指数价格,历史市场指数价格用过去 d ′ d' d′天的平均值和标准差来描述,以揭示价格波动。这里, d ′ d' d′指定在应用程序中引入历史市场信息的可参考间隔长度。
- (2)市场指数交易量。 S ′ \mathcal{S'} S′的交易量揭示了投资者的参与,反映了市场的活跃程度。我们将过去 d ′ d' d′天的市场指数交易量的平均值和标准差纳入其中,以揭示市场的实际规模。 S ′ \mathcal{S'} S′和 d ′ d' d′与上述定义相同。现在我们提出了市场导向的股价预测任务。
定义2 :市场导向的股价预测
给定 { x u , t } u ∈ S , t ∈ [ 1 , τ ] \{x_{u,t}\}_{u\in \mathcal{S},t\in [1, \tau]} { xu,t}u∈S,t∈[1,τ]和构造的市场状态向量 m τ m_\tau mτ,市场导向股价预测就是共同预测未来归一化收益率 { r u } u ∈ S \{r_u\}_{u\in \mathcal{S}} { ru}u∈S。
2.3 门机制
门控机制为每个特征维度产生一个缩放系数,以放大或缩小特征的大小,从而强调或减少从特征流向后续模块的信息量。
通过模型训练学习门控机制,并根据特征对预测性能的贡献程度来优化系数,从而反映特征的有效性。
给定市场状态表示 m τ , ∣ m τ ∣ = F ′ m_\tau, |m_\tau|=F' mτ,∣mτ∣=F′,我们首先使用单个线性层将