基于深度学习股票风险预测方法的研究
2022-03-15罗晓婷
罗晓婷
随着社会经济的加速发展,市场发展股份制已经成为一种新的组织形态。越来越多的上市公司通过吸收投资大众的储蓄资金扩大筹资来源来赋予公司更大的经营自由度。但是股票属于商品范围,其价格波动不仅受市场的供求关系影响,同时还受到国家政策、基本面和行业景气度的影响。因此,如何准确的预测股票走势对商业回报和金融领域具有重要意义。
近年来,深度学习不但能够实现机器学习在众多场景的应用,而且拓展了人工智能的领域范围,并使得基于数据驱动的机器辅助功能变为可能。卷积神经网络(Convolutional Neural Network,CNN)是一种常见前馈神经网络,是多层感知机(Multilayer Perceptron,MLP)的变种。卷积神经网络通过自身的局部感受特点可以分别处理每个时间段的数据,将长输入序列转换为高级特征组成的更短序列,以此提取各数据的位置特征实现序列空间特征的编码。长短时记忆网络(Long Short Term Memory Network, LSTM)属于循环神经网络(Recurrent Neural Network,RNN)。当RNN网络处理序列较长的数据时,由于网络自身的记忆能力有限,在模型训练过程中无法结合之前的信息对当前数据赋予权重,从而导致网络梯度消失。而LSTM网络在处理数据序列时和残差网络相似,通过对信息元各时间段的相加相乘绕过网络中的部分单元信息从而记住更长的时间步骤,解决了一直以来RNN存在的缺陷。
股票作为典型的时序数据,越来越多的学者通过神经网络致力于对股票数据的研究分析。早在1990年,Kimoto等人通过模块化神经网络对东京证券交易所的数据进行预测分析,取得较好效果。1996年Gen等人利用神经网络对道琼斯工业指数进行建模研究测试,证明了股票市场回报的可预测性。Rodriguez等人在2000年利用传统神经网络实现了股票预测上的可收益性。2021年黄润鹏通过将微博情感融入到筛选出的股票指标中对股票涨跌情况进行预测,结果证明预测模型具有较高的准确性。
在时间维度上,股票市场的当前开盘价是在之前收盘价的基础上加减百分比。在空间维度上,成交量数值的变化对于股票的涨跌影响较大,一般而言,成交量不断增加股价也将随之上升。基于此,我们提出一种基于卷积神经和长短时记忆的混合网络,该网络综合考虑股票数据序列之间存在的时空特性。通过卷积神经网络提取出最高价、前收盘等输入属性在空间位置上对收盘价产生影响的特征。利用长短时记忆网络捕捉时间维度上之前各属性和当前预测值之间的关系特征。
近年来,CNN在图像处理方面的运用取得了良好成果,尤其是在步态识别和人脸识别方面取得的成果较为突出。CNN 可以很好地识别出数据中的简单模式,可以从较短固定长度数据集片段中获得感兴趣特征,并且该特性在数据片段中的位置不具有高度相关性。另外,由于CNN 网络本身包含池化层、全连接和卷积层,有效降低模型的复杂度提高网络参数的利用率。因此,通过CNN可以学习数据集内在关系属性,从而将股票间多元关系信息引入到传统的时序建模中,进行端到端的趋势预测。
RNN是根据以往的先验知识预测当前节点的数值,在自然语言等方面运用的比较多。但是,当需要的历史数据时间间隔比较大时,RNN很难处理长距离依赖问题,导致在实际应用中很难训练具有长时间关系的数据特征。LSTM网络是一种特殊的递归循环神经网络,由于包含的特殊记忆门结构,因此通过LSTM可以深度挖掘股票数据中存在的时序特征解决RNN训练过程中造成的梯度消失和梯度爆炸等问题。
一、模型构建原理
为了充分提取股票序列数据中存在的时空特性,本文提出了一种基于卷积神经和长短时记忆网络的模型。该模型首先通过CNN提取出输入数据的空间特性,然后将其输出作为LSTM网络的输入提取时间特性。
预测模型结构。基于混合神经网络的股票预测系统,该系统主要包括五部分,分别是输入层、基于二维卷积神经网络的局部空间特征子模型、基于长短时记忆网络的时间特征提取子模型、用于融合全部特征的全连接层和输出层。
(一)局部空间特征提取子模型
历史股票数据作为输入数据,通过多层卷积神经网络提取数据序列之间在空间位置上存在的关系形成一定的规则,然后通过最大池化减少模型的复杂度,最后通过全连接网络对提取的特征进行拼接和融合。局部空间特征提取子模型每层网络的叙述如下:
輸入层:对长度为n的股票数据序列做数据清洗,将其作为整个模型的输入,输入数据具体表示为,式中代表股票的最高价、最低价、开盘价、收盘价和收益量等。
多层二维卷积神经网络:CNN的作用是提取历史各数据中的空间特征,本文中为了实现局部感知提高特征质量设置了两层CNN,数据在该层中主要通过卷积核提取抽象特征。此外,由于CNN具有权值共享机制有利于减少网络中的复杂参数,提高整个模型的健壮性。池化层采用的是最大池化,有利于特征降维,避免网络训练过程中容易出现的过拟合现象。
输出层:CNN层通过卷积、池化等操作提取出数据序列之间的空间特征,将位置关系相对独立的特征数据相互关联起来。
(二)时间特征提取子模型
CNN在学习过程中对于时间序列的敏感度不高,因此本文将CNN 提取出的特征作为LSTM网络的输入进行时间序列维度方面的预测,从而解决网络在训练阶段容易出现的梯度爆炸和梯度消失等问题。时间特征提取子模型网络描述如下:
为了提高特征提取的质量,同时减少整个网络的复杂度,我们在时间特征提取子模型中设置了三层LSTM网络,LSTM网络主要包括遗忘门、输入门和输出门和细胞结构。遗忘门的主要作用是帮助网络在训练的过程中选择性的过滤掉特征不明显的信息,以此提高网络的存储记忆能力,具体的计算公式如下:
(1)式中ft是遗忘门的输出;ht-1和Xt代表遗忘门的输入;bf是偏置参数,wf是线性关系的系数。
输入门的作用是决定当前细胞的输入需要加入多少新信息,用来决定细胞中的哪些信息需要更新哪些信息被用做备用更新内容。具体的表达方式如下:
(2)和(3)式主要包括两部分内容,第一步首先通过sigmod函数决定网络需要更新的数据,第二步是通过函数用来创建候选值Ct,以此去掉网络中暂时不需要的信息,有效提高网络存储数据的能力。
输出门决定模型的输出,首先是通过sigmoid层得到初始输出,然后通过tanh函数将Ct的值缩放到[-1,1],再与sigmoid得到的输出逐对相乘,从而得到模型的输出,表达公式如(4)和(5)式:
(三)特征融合及输出
通过CNN和LSTM网络提取到数据时空特征后,为了提高特征的区分性,本文进一步利用全连接线性方程对应的超平面逼近或者拟合了复杂的超曲面,整合了卷积层或者池化层中的局部信息,实现了特征的有效提取。输出是指全连接层经过高维到低维映射之后实现的回归线性输出,输出特征只包括一个预测收盘价格。
二、实验与结果
(一) 数据集介绍
本文的实验数据选用的是从网易财经获取到的1992年到2021年沪深300指数。原始数据总共包括6700条,每条数据包括日期、股票代码、名称、收盘价、最高价、最低价、开盘价、前收盘、涨跌额、涨跌幅、成交量和成交金额12个属性。经数据清理筛选出了6000条数据作为实验数据,其中5500条作为训练数据,300条数据作为验证数据,剩余的200条数据作为测试集。同时,由于日期、股票代码和名称等属性在网络训练过程中对于每个神经元没有特征区分度,去除掉这些属性减少网络的输入复杂度。
模型的输入包括8个属性分别是最高价、最低价、开盘价、前收盘、涨跌额、涨跌幅、成交量和成交金额,输出是收盘价。由于股票属于时序数据,所以当前收盘价作为标签数据受到过去多个输入数据的影响。因此在本文中利用前15条输入数据预测第16天的股票收盘价,具体的输入输出数据样例如表1所示:
(二)网络超参数设置
本文提出的CNN+LSTM混合网络由两个卷积层,一个最大池化层与全连接层组成,其中为了把特征保留并映射出來,本文采用修正线性单元(Rectified linear unit, ReLU)作为提取空间特征神经元的激活函数。第一层卷积层有32个卷积核、尺寸为1*4;第二层卷积层有16个卷积核,尺寸为1*2,步长为4。在CNN网络之后设置了三层LSTM网络、隐藏层为64、学习率设置为0.00008,迭代总次数为500个epoch,每次输入网络中的数据批次为500。
在CNN和LSTM网络前向传播阶段,依次调用每个网络层的Forward函数,得到逐层的输出,采用均方误差(MSELoss)将最后一层与目标函数比较得到损失函数,然后计算二者误差更新网络中各个神经元的权重。经多次调参之后,最终模型接近收敛时验证集损失函数。
横坐标代表迭代次数,纵坐标代表随着模型的训练收盘价预测值和真实值之间产生的损失值。当迭代次数接近于50步时,损失值的变化趋于稳定。
(三)评价指标
本文采用实际数据(target data, td)和预测数据(predicted data, pre)之间的平均相对误差(Mean Relative Error, MRE)和平均绝对误差(Mean Absolute Error, MAE)作为模型预测的评价指标,具体的计算公式如式(6)和(7)所示:
以上两个指标用来衡量模型的预测能力,在股票预测系统,如果值越小则代表预测值和实际股票的差值越小,模型预测的精度越高。
(四)实验结果分析
为了验证我们提出方法的可靠性和模型的精确性,本文对于收盘价的预测值和真实值做了对比,其中横坐标代表不同时间点,纵坐标代表不同时间点上的收盘价格。此外,本文设置了三组控制组试验,分别是:CNN+全连接、LSTM+全连接和CNN+RNN。
如果只通过CNN网络预测收盘价,由于卷积神经网络只提取的是特征数据之间的空间位置特性,对于股票这种时序数据的敏感度不高,因此模型效果较差。通过LSTM网络预测收盘价,虽然LSTM网络能够提取数据之间的时间特性,但是迭涨额和前收盘属性在空间位置上存在关联,因此效果不理想。利用CNN+RNN网络得到的预测值可以看出和真实值差值比较明显,主要原因是RNN网络存在的特有时间依赖性,导致网络在训练过程中不能关联长时间距离节点的信息,从而使得网络梯度消失。利用本文提出的方法得到的收盘价预测值接近于真实值,效果最好。为了更直观的展现各个方法的精确性,4种模型的平均相对误差和平均绝对误差。
在各模型超参数达到最优的条件下,我们提出的模型精确度明显优于其它三个控制组,利用LSTM+全连接的模型精确度高于CNN+全连接,而结合CNN网络模型精确度在四个控制组里最低。
三、结语
股票市场通过促进资本的集中,有利于企业资本的有机构成,在很大程度上加快了商品经济的发展。但由于受多种因素影响,股价的波动是一个极其复杂的非线性动力学系统,近年来对股价预测的研究结果往往不尽人意。利用神经网络的复杂函数非线性无限逼近能力使深度学习在这一领域取得了令人瞩目的成果。本文提出了一种基于卷积神经和长短时记忆的混合网络,该网络首先通过卷积神经网络提取出输入数据在空间位置上的相关性,并经过池化、全连接等操作实现特征的降维和压缩,简化整个的网络复杂度,然后利用长短时记忆网络提取出了信息之间的时间相关性,最后通过全连接网络同时提取数据的时空特性。通过与控制组实验结果的分析和比较,证明利用本文提出的混合网络预测股票收盘价的预测方法在精确度方面较其他方法具有明显的优越性。