杨 蓦, 王 静
(西北农林科技大学 经济管理学院,陕西 杨陵 712100)
对股票市场的准确预测可以为投资者提供投资参考,提高金融市场的运行效率。然而,股票市场是一个复杂的、非线性的、有噪声的、动态的系统,因此很难对其进行准确的预测。一方面,许多因素影响股票市场的价格,因此有必要解决外部属性之间的相关性问题。另一方面,股票市场的内部变化是不规则的,容易受到外部属性的影响。特别是在进行长期预测时,外部影响会加剧股价的波动,因此很难提取股价随时间变化的关系。然而,目前大多数方法只在股指的短期预测中取得良好的效果。在神经网络上分配注意力权重已经出现在各种任务中,如文本翻译、图像识别等。主要原因是注意力机制可以自适应地聚焦于特征的信息部分,减少不必要的特征,释放运行内存,从而提高拟合数据时的模型精度。
传统时间序列模型是最早被用于股票价格预测的一类模型,如DEVI等利用四家股票数据验证了ARIMA模型的预测准确性[1]。传统计量经济学模型刻画金融时间序列时假设具体的模型,但是高噪声、非线性的动态金融时间序列数据不能通过参数方程来描述,导致了传统时间序列模型的局限性。
机器学习模型为股市建模和预测提供了一种新的方法。浅层机器学习模型可以从大量训练样本中学习统计规律。然而,在有限样本和计算单元的情况下,浅层学习结构对于复杂函数的表示能力是有限的。相反,深度学习可以通过构建隐藏层多、训练数据量大的模型,实现复杂函数逼近、提高预测的精度,如RATHER等使用递归神经网络(RNN)预测六只股票回报率,并使用遗传算法为模型生成最优权重,得到了准确的预测性能[2]。HOSEINZADE和 HARATIZADEH构建卷积神经网络CNN,预测S&P500、纳斯达克等指数走势,发现CNN的预测性能比基线算法有显著提高[3]。ZULQARNAIN等使用门控递归单元(GRU)层捕捉长期信号相关性,在恒生指数HSI、德国DAX和S&P 500三个股票指数数据集上评估模型,发现基于GRU-CNN方法的预测准确率最高[4]。
HOCHRITER提出的长短期记忆神经网络(LSTM)是近年来最流行的模型之一,因为它可以通过门结构缓解RNN造成的梯度消失和爆炸。近年来,许多基于LSTM的研究兴起。FISCHER和KRAUSS验证了LSTM在股指预测上相对于随机森林模型、DNN等的更高精度[5]。双向长短期记忆神经网络由两个相反方向的LSTM模型组成,在大范围时间序列数据学习中具有显著优势。SIAMI等发现BiLSTM额外的数据训练过程提供了比标准LSTM更好的预测效果[6]。
特征选择是指选择原始输入变量的子集,这些输入变量通常是技术或基本指标。由于所选择的输入子集可以更好地表示数据集的原始特征,因此使用其构造模型可以提高准确性和效率。主成分分析(PCA)是数据降维的有效方法之一。
注意力机制逐渐被应用到时间序列预测中,因为这种方法可以学习动态的时空关系,并为属性赋予不同的权重。其中,空间注意力权重是指属性对预测结果的影响。CHEN等提出了空间注意力机制与BiLSTM相结合的混合模型,其中注意力机制对关键特征赋予更高的权重,从而获得了较好的准确性[7]。
此外,由于培训不稳定和梯度消失问题,LSTM无法记住非常长期的相互依存关系。时间注意力机制可以缓解这一问题,该机制对神经网络模块的隐藏状态进行加权,以确保动态地、选择性地获得所有时间相关性。SHIH等提出了基于时间模式的注意力机制,不仅可以在同一时间步长内,而且可以在多个时间步长内学习变量之间的相互依赖关系[8]。
本文的主要贡献包括以下几个方面:首先,分析了基于注意力机制的时空关系,并将其应用于股指收盘价的多步预测。其次,利用BiLSTM对股指进行预测,探究在LSTM的基础上加入反向LSTM层对预测的效果。第三,提出了两种基于注意力机制的BiLSTM模型,可以学习数据的时空关系,提高BiLSTM模型的性能。
长短期记忆神经网络LSTM(long short term memory)是一种特殊的循环神经网络,由Hochreiter和Schmidhuber提出。它在传统的循环神经网络上添加了记忆存储(Cell)和门结构(Gates),Cell(Ct)用于记录神经元状态,门可以实现选择性地让信息通过,主要通过一个sigmoid的神经层和一个逐点相乘的操作来实现的。LSTM通过三个类似于过滤器的门结构来实现信息的保护和控制:遗忘门(ft)决定从细胞状态中丢弃的信息、输入门(it)决定有多少新的信息加入到Cell中、输出门(Ot)用过滤最终输出信息。LSTM通过门结构可以很好的表达输入中的长期依赖的信息,有效缓解了梯度消失和梯度爆炸的问题。
在通常的时间序列处理中,LSTM往往会忽视未来的信息,双向长短期记忆神经网络BiLSTM(Bi-directional long short term memory)在LSTM基础上使用两个单独的隐藏层在正向和反向两个方向上处理序列数据,将两个隐藏层连接到同一输出层,将先前的信息和后来的信息都存储为时间序列数据的当前时间基础,因此理论上预测表现会比单向LSTM好。BiLSTM的隐藏层输出包括前向隐藏层的激活输出和后向隐藏层的激活输出。
LSTM无法捕捉到不同时点和不同输入特征对收盘价的不同贡献。注意力机制是一种模拟人脑注意力机制的模型,它可以通过计算注意力概率分布,突出某个关键性输入对于输出的影响作用,在计算能力有限的情况下,将计算资源分配给更重要的任务,对于传统的模型具有很好的优化作用。本文提出一种新颖的时空注意力机制,以捕获股票市场上的动态时空相关性,它包含两种注意力机制,即空间注意力机制和时间注意力机制。
2.3.1 空间注意力机制
在空间维度上,不同的输入特征相互影响,并且相互影响是高度动态的,因此,本文使用空间注意力机制自适应地捕获空间维度上节点之间的动态相关性。该部分机制表示总和为1 的注意力权重的外部特征对收盘价的影响。对于每个时间步长t,权重用于衡量一个节点应该在另一节点的状态上集中多少注意力以预测其状态计算未来的收盘价。
2.3.2 时间注意力机制
BiLSTM单元可以通过单元机制存储时间信息,并通过门机制控制时间信息的增加或减少,从而保持长期依赖性。但是,通过门机制的时间信息会导致BiLSTM单元在每个时间窗口T中更改单元状态,与历史的输入相比,此最终状态倾向于保留有关最新输入的更多信息。在较短时序的预测中,该问题不会导致严重偏差。但是,对于较长的预测范围,标准模型可能会低估较早状态的影响,时间注意力机制用于了解每个时间窗口中这些隐藏状态的影响。本文BiLSTM单位存储时间信息,并且注意力机制用于测量这些不同细胞状态对收盘价预测的重要性。
2.3.3 时空注意力机制
空间相关性通过空间注意力机制将注意力权重分配给原始属性来表示,时间关系通过时间注意力机制通过将注意力权重分配给空间注意力中的隐藏状态来表示,时空注意力机制同时结合了空间和时间相关性,使神经网络自动对有价值的信息给予更多关注。
为了全面评估所提出模型用于股票指数收盘价预测的有效性,本文将使用如下几种评价指标测评所提出的模型。平均绝对百分比误差(MAPE)、均方根误差(RMSE)和均值绝对误差(MAE)用于定量评价模型的预测精度,MAPE,RMSE和MAE越小说明精度越高。为了进一步验证模型的有效性,对股指的涨跌趋势进行预测。本文使用预测分类准确率对预测结果进行评价。
为探究上述模型对于实际金融事件序列数据预测的适用性与有效性,本部分将基于注意力机制和BiLSTM神经网络的金融预测模型应用于香港恒生股票指数(HSI)收盘价的预测,数据样本选取区间为1986年12月31日—2020年8月3日。本文的响应变量为恒生指数的日收盘价,影响指标分为行情因子和技术因子,共29个指标,见表1。数据来源于锐思金融数据库。
表1 香港恒生指数特征向量
本文采用如下标准选取数据集:剔除日成交量为0的初期数据,选取自日成交量数据存在至2020年8月3日的所有交易数据。为了观察预测方法对股指短期、中期、长期的预测效果,本文分别对1日(次日),7日,30日,60日,120日的股指收盘价进行预测,其中,25%作为测试集,剩下数据中,15%为验证集,其余数据为训练集。
在使用模型对数据进行拟合之前,为了加快梯度下降速度、提高运算精度,本文先对数据进行归一化处理,对原始数据进行线性处理,映射到[0,1]区间。
本部分训练模型的运行环境如下:2.4GHz+四核+Intel Core i5+8 GB+2133 MHz LPDDR3。本文基于Python语言环境,以Tensorflow为深度学习框架进行模型的训练及预测,Python版本为3.7,Tensorflow版本为2.2.0。
首先,本文选取Adam作为优化器。Adam算法集合了以下两种随机梯度下降扩展式的优点,即:(1)适应性梯度算法:为每一个参数保留一个学习率以提升在稀疏梯度上的性能。(2)均方根传播:基于权重梯度最近量级的均值为每一个参数适应性地保留学习率,这意味着该算法在非稳态和非线性问题上有很有优秀的性能。此外,Adam算法很容易实现,并且有较高的运算效率和较低的内存需求。
BiLSTM模型中有如下参数需要设置,即窗口T中的时间步数:由于本文需要对模型的短期、中期、长期预测效果进行评估,本文选择T∈{1,7,30,60,120},分别计算模型性能;每个注意力模块中的隐藏层个数,编码器中的隐藏层个数m和解码器中的隐藏层个数p:本文设置m=p∈{16,32,64,128,256},其中当m=p=128时在验证集上得到最佳性能以用于评估。
本文构建的Spatial-Temporal-BiLSTM主体结构如下:一个全连接层,一个空间注意力机制,一个BiLSTM递归层,一个时间注意力机制,一个BiLSTM层。为了防止模型过拟合,在每个训练批次中,通过Dropout按照一定的概率随机使某些隐含层节点不工作。Hinton等发现,输入层为0.2的Dropout率适用于各种任务,因此本文将Dropout率设置为0.2。
为剔除神经网络模型训练的随机性,本文对每个模型进行10次训练,记录结果并取均值以评价模型性能。
本节用于对比六种基线模型和四种添加了注意力机制的模型在短、中、长期预测股票指数收盘价的表现。在基线模型中,支持向量回归机(SVR),卷积神经网络(CNN),门控循环单元网络(GRU),标准长短期记忆神经网络(LSTM),双向长短期记忆神经网络(BiLSTM),结合主成分分析的双向长短期记忆神经网络(PCA-BiLSTM),以及四个添加了注意力机制的模型:分别结合了空间注意力机制(Spatial-BiLSTM)和时间注意力机制(Temporal-BiLSTM)的双向长短期记忆神经网络,结合时空注意力机制的标准LSTM模型(Spatial-Temporal-LSTM),以及结合时空注意力机制的BiLSTM(Spatial-Temporal-BiLSTM)。
在进行模型评估指标计算前,为了便于与原始数据进行比较,衡量模型性能,对预测结果进行反归一化。表2展示了十种模型在不同时间步长中的预测表现,本文选取T=7和T=60时的结果进行罗列。总体来看,浅层学习模型模型SVR在所有时间步长中表现都欠佳;深度学习模型CNN,GRU,LSTM表现均优于浅层学习模型;BiLSTM模型由于在LSTM基础上添加了一层反向结构,可以从历史数据中捕获空间特征和双向时间依赖性,BiLSTM 精度高于LSTM,Spatial-Temporal-BiLSTM的精度也高于Spatial-Temporal-LSTM;此外,添加了注意力机制的模型总体上预测效果都要优于没有添加注意力机制的模型。
表2(a)和(b) 模型预测效果比较(T=7和T=60)
图1和图2分别为T=7和T=60时训练集损失和验证集损失随迭代次数的变化趋势。在T=7时,时间注意力机制的作用不是很明显,有时间注意力机制和没有的训练集损失和验证集损失都有逐渐降低趋势。但是当时间步长增加的时候,在T=60时,如果没有时间注意力机制,运算时的验证集损失反而会随着迭代次数的增加而呈上升趋势,而有时间注意力机制的模型,即使时间步长增加,验证集损失也会随着迭代次数增加而呈下降趋势,且当迭代次数在50以后逐渐稳定下降。说明在多步预测中,时间注意力机制可以捕捉数据之间的长期依赖性,因此随着运算迭代次数的增加,模型在训练集和验证集数据上的准确度才会逐渐增加。
(a)包含时间注意力机制 (b)不包含注意力机制图1 T=7时训练集损失函数和验证集损失函数
(a)包含时间注意力机制 (b)不包含注意力机制图2 T=60时训练集损失函数和验证集损失函数
图3中(a)和(b)分别为BiLSTM, Spatial-BiLSTM, Temporal-BiLSTM, Spatial-Temporal-BiLSTM和PCA-BiLSTM的RMSE和MAE随着时间步长增加的变化图。由于主成分分析方法作为比较有效的特征筛选方法,将其与空间注意力机制进行对比,可以评估本文特征筛选方法的有效性。注意力权重可视化不仅可以看到每个特征有多少注意力被关注和接收,还可以识别最重要的特征。对比PCA-BiLSTM和Spatial-BiLSTM,发现使用空间注意力机制筛选特征在任何时间步长都比用主成分分析降维达到更低的预测误差,且当T=1时,PCA-BiLSTM模型预测精度低于原始BiLSTM,原因可能是进行单步预测的时候,PCA会使输入数据损失掉一部分有效信息,反而使原本模型的预测精度降低。而添加了空间注意力机制的模型,可以对输入特征进行筛选和分析,更有效的提取输入指标的数据结构,并对重要变量进行更高的关注度,同时减少了在模型在训练非信息性特征时花费的不必要的计算时间从而降低了高计算成本以及过度拟合的风险,因此在进行预测时可以达到更高的准确率。
(a)不同模型MAE变化 (b)不同模型RMSE变化图3 时间步长改变时有无注意力机制的BiLSTM模型性能比较
由图3可知,随着时间步长的增加,模型的预测精度均会降低,但是Temporal-BiLSTM随着时间步长的增加,其预测误差增加幅度不大,且当T=60时,预测误差相对于T=30有所下降,说明添加了时间注意力模块的模型在预测长时间序列的时候有很大优势,而没有时间注意力机制的模型,当时间步长增加时,模型预测误差会有较大程度的升高,预测精度会大幅度降低,说明时间注意力机制的确可以保持序列的长期依赖性,在长期预测时表现更优。
概而言之,基于注意力的BiLSTM模型通过学习不同属性和不同序列之间的时空关系,可以在股票指数序列预测中实现更好的性能,从而为该神经网络提供了良好的解释性。
图4(a)和(b)分别为T=7和T=60时的模型预测结果和真实收盘价的对比图。可以看出当时间步数变长时,所有模型的拟合误差都会增大。
图4(a) T=7时所有模型的预测价格和真实价格比较
图4(b) T=60时所有模型的预测价格和真实价格比较
本文研究了基于注意力机制的BiLSTM方法在短、中、长期香港恒生股票指数收盘价预测中的有效性。所提出的模型Spatial-Temporal-BiLSTM在几乎所有时间步长的预测中均达到最佳结果。实验结果证明了以下结论:(1)在其他条件相同的情况下,BiLSTM可以在任何时间步长达到比LSTM更优的准确率。(2)基于注意力机制的BiLSTM模型在股票指数的短、中、长期预测中均优于所有基线方法,这是由于时空关系的清晰有效表示和学习能力所致。(3)Spatial-BiLSTM模型在股票指数预测中,准确率高于结合了PCA-BiLSTM模型,表明空间注意力机制可以更有效地提取数据关系。(4)Temporal-BiLSTM模型在股票指数的长期预测中更准确,这表明在长期预测中保持时间序列的长期依赖性很重要。