基于LSTM神经网络
2021-05-29蒙懿徐庆娟
蒙懿 徐庆娟
摘要:股票价格预测一直受到人们的广泛关注。本文基于长短期记忆网络(LSTM)和马尔科夫链(马氏链)构建了一个新的股价预测模型。以2019年1月2日到2020年10月30日大湾区指数成分股华侨城A(000069)的日收盘价为实证分析对象,先利用LSTM神经网络进行预测,然后运用马氏链模型对其残差进行校正。经测试发现,LSTM神经网络-马氏链模型预测比单一的LSTM神经网络更接近实际。最后,对股价的涨跌趋势及运动周期进行了长期预测。
关键词:股价预测 LSTM神经网络 马尔科夫链
一、引言
全球政治局势、国家宏观调控、金融政策、新冠疫情等多种因素均可导致金融市场的波动,进而对股票市场产生重大影响。因此,如何科学、合理地预测股票价格涨跌趋势已受到人们的广泛关注,其研究成果也日益丰富。
近年来,彭燕等[1]利用长短期记忆网络(LSTM)内部的选择记忆性,对股票价格走势进行预测建模与分析,实现短期的股票预测,给投资者提供一定的参考。冯宇旭、李裕梅[2]通过LSTM神经网络对沪深300指数进行预测分析,并与SVR和Adaboost模型预测结果进行对比,得出LSTM预测结果的均方根误差(RMSE)更低。
受众多随机因素影响,股票价格起伏不定,对其短期、符合内在机理、精准地预测并不容易。从长远来看,股价的波动性似乎又呈现出股价具有某种趋势。国内外不少学者运用马尔科夫链相关理论对股票价格及其走势进行预测。例如,王强[3]用马尔可夫链预测方法分析桂林旅游(SZ000978)价格的波动情况;孟银凤、李荣华等人[4]利用马氏链对申华控股(600653)价格的变动情况分析;王新武[5]运用马氏链相关理论对中国石油股价进行预测。以上运用马氏链相关理论建立股价走势预测模型,给投资者提供了一定的理论参考。
考虑到LSTM神经网络和马氏链模型在股价预测中的优势,本文将以华侨城A(000069)等股票收盘价为实证分析对象,利用LSTM神经网络优良性能对其进行预测,再运用马尔科夫链模型对其残差进行校正,并对收盘价序列进行长期涨跌趋势和运动周期预测,计算结果与实际进行对比分析,以期给广大投资者提供一定的理论参考。
二、LSTM的结构及原理
LSTM神经网络,在时间递归神经网络(RNN)的基础上增加了“门控”结构,可以一定程度上解决RNN处理时间序列问题时出现的梯度消失或爆炸的问题,适合于预测时间序列中间隔和延迟相对较长的重要事件[6]。
LSTM神经网络是由记忆单元和门控单元所组成的,主要通过三个门即输入门()、遗忘门()和输出门()来实现信息的保护和控制。该神经网络t时刻的工作原理见图1所示,表示时刻隐藏状态,对应t时刻的输入,双曲正切函数,为整个细胞单元状态,,,分别对应遗忘门、输入门、输出门。LSTM神经网络内部机制可通过下列公式表示:
其中σ为激活函数,若结果为1,则完全保留上一层的信息;若结果为0,则完全舍弃该信息。,,,分别对应Forget gate、Input gate、cell、Output gate的权值项;,,,分别对应Forget gate、Input gate、cell、Output gate的偏置项;为更新时刻的细胞状态。
三、马尔科夫链模型
马尔科夫链是一种常见的统计随机过程方法,概念直观且易于实现。在随机时间序列研究中有着重要的价值,在医疗、科技、金融等领域具有重要应用。马氏链模型主要有以下特性[7][8]:
第一,(无后效性)即t时刻的状态只依赖t-1时刻的状态,与t-1之前的状态无关。
第二,马尔科夫链有离散型和连续型,一般地转移概率不仅与状态有关,还与转移时间有关,如果转移概率不依赖转移时间的话,则表示马尔科夫链具有平稳转移概率。
第三,对齐次马尔科夫链而言,n步转移概率矩阵就是一步转移概率矩阵的n次方,通过C-K方程很容易得到。
四、基于LSTM-馬氏链的股价预测校正模型
考虑到LSTM神经网络拥有选择记忆性的优点,现阶段金融市场中个别股票价格无后效性,基本符合马尔科夫链的特性,因此本文尝试基于LSTM神经网络和马氏链构建股价预测校正模型,具体步骤如下:
步骤1 利用LSTM神经网络对股票价格进行预测。
步骤1.1 利用标准化方法对原数据进行归一化,消除量纲影响。将股票价格数据收缩到区间,使得训练模型的loss下降更快,可以利用下面的最大-最小标准化公式进行归一:
(7)
其中,代表第i天的收盘价,,分别代表该收盘价序列的最大值与最小值。
步骤1.2 采用时间滑动窗口,将股票价格归一化后的数据划分为训练集和测试集。将前一天的股票收盘价序列作为输入样本,当天的收盘价序列作为输出样本,基于LSTM神经网络对股票价格进行训练,通过反归一化可得预测价格序列。与真实价格序列的残差记为。
步骤2 检验LSTM神经网络训练的残差序列是否具有马尔可夫性。
步骤2.1 根据区间范围及其序列特征将其随机划分为s个小区间:[,),[,),…,[,);
步骤2.2 令=[,),(k=1,2,3,…,s),将视为以,(k=1,2,3,,s)为状态空间的随机时间序列;
步骤2.3 构建统计量,检验是否具有马尔科夫性,具体如下:
若表示,,…,从状态一步转移到状态的频数,则频数矩阵可记为:
(8)
令
(9)
可得到一步转移概率矩阵P=,则当较大时,统计量
(10)
服从自由度为的卡方分布。
选定置信水平α,若>,则在该置信水平下,不能拒绝具有马尔科夫性的零假设,即具有马尔科夫性;否则拒绝具有马尔科夫性的零假设,即不具有马尔可夫性。
步骤3 若具有马尔科夫性,则利用LSTM神经网络对测试集进行预测,得到K个预测值。结合训练集的预测,可得预测价格序列,(K=1,2,3,)。根據马氏性及C-K方程[8][9],以训练集最后一个交易日残差作为马氏链的初始状态,得到的状态概率分布:
,(s=1,2,3,4,5,6;K=1,2,3,…)(11)
均值:
,(K=1,2,3,…)(12)
该均值序列(K=1,2,3,…)是对该测试集校正后的股票价格序列。若不具有马尔科夫性,则说明该股票价格不适合利用马氏链模型校正。
步骤4 利用步骤2.3中得到的一步转移概率矩阵,可预测该股票价格稳态概率下涨跌趋势和运动周期。
五、实证分析
(一)数据来源
本文以2019年1月2日到2020年10月30日,大湾区指数成分股华侨城A(000069)的每日收盘价数据(除节假日外)为实证分析对象,共计443个,其数据来源于锐思金融数据库。该收盘价时序图如下:
由图2可知,华侨城A收盘价涨跌趋势之间具有一定的间隔或延迟,波动较大,但在一定程度上也具有周期性。因此,可考虑先用LSTM神经网络对其收盘价进行预测,再用马氏链模型进行校正。
(二)LSTM神经网络预测
本文模型利用Python3.6编程实现,通过调用库中的Sequential模型构建单层LSTM神经网络。通过前一天数据信息预测第二天的收盘价,选取了华侨城A股票收盘价序列前65%(287个样本)作为训练集,后35%(156个样本)作为测试集,其输出样本个数分别为286个和155个。通过微调参数,可使模型训练达到最优,从而提高模型的预测效果。
为了验证模型的有效性,选取可解释方差、拟合优度(R2)及平均相对误差作为评价指标。通过训练好的LSTM神经网络模型,对收盘价训练集、测试集进行预测,得到华侨城A股票校正前预测结果,如图3所示。从图3(a)容易发现,华侨城A股票训练集的预测值和真实值能较好地吻合,其误差整体都在0上下波动,前期和后期偶尔少许波动,说明预测值随时间t以真实值为“轴线”上下波动,为后期建立马尔科夫链模型提供了可行性基础。由图3(b)可知,通过微调参数后的华侨城A股票测试集预测效果较好。
从表1可知,通过参数微调可得到95.34%左右的可解释方差值,拟合优度达到95.3%,平均相对误差较小,约1.6%,这进一步说明利用LSTM神经网络初步预测华侨城A股票的收盘价是有效的。
(三)基于马氏链模型的进一步校正
利用LSTM神经网络模型预测华侨城A股票收盘价的训练集,可得N个预测值。通过步骤1.2可得残差的区间为。通过图3(a)易知,其残差值均围绕0上下波动,偏离超过10以上的比较少。根据区间范围及其序列特征将其随机划分为6个区间(,,),即=[-29,-10),=[-10,-5),=[-5,0),=[0,5),=[5,10),=[10,17]。此时,是一个以,(k=1,2,3,,6)为状态空间的随机时间序列。
根据步骤2.3检验是否具有马尔科夫性。具体地,利用式(8)可得一步转移频数矩阵:
。
利用公式(9)求得一步转移概率矩阵为:
及为:
=[0.119298 0.273684 0.164912 0.157894 0.154385 0.129824]。
最后,利用公式(10)计算统计量201.74。取置信度α=0.01,查阅相关文献得到=44.31<201.74,故符合马氏链,其状态空间为I={1,2,3,4,5,6}。
下面,将基于LSTM神经网络对测试集进行预测,由步骤3可得预测值,(K=1,2,3,)。根据马氏性及C-K方程[8][9],以训练集最后一个交易日误差作为马氏链的初始状态,其状态为。记初始状态,则的状态概率分布和均值方程见步骤3。
当K=1时,股票华侨城A的实际收盘价=268.562,由LSTM神经网络预测得到的收盘价。由式(12)对该预测值进行校正,计算得到。校正前的相对误差为1.575%,经过马氏链校正后的相对误差为1.286%,显然,校正后比校正前的相对误差降低了0.29%。同理,对以后的预测值进行校正,可得华侨城A股票收盘价的预测值,与真实值的比较见图4。由图4可知,基于马氏链校正后的预测值与实际值比较吻合,这也说明基于LSTM神经网络——马氏链模型对华侨城A收盘价进行预测是有效的。
为进一步验证该校正模型的有效性,对亿纬锂能(300014)、华高科技(000636)、金地集团 (600383)、塔牌集团(002233)、保利地产(600048)5只股票收盘价也利用LSTM神经网络——马氏链模型(校正后)进行预测校正,并与单一的LSTM神经网络模型(校正前)预测进行比较,结果见表1。对比表1中的结果可知,单一的LSTM神经网络预测拟合度都超过90%,多数超过95%,拟合效果较好。LSTM神经网络——马氏链模型校正后的结果,其可解释方差变化不大、拟合优度有所提高,平均相对误差明显降低。当然,结果也发现,该模型对这6只股票的短期预测较好,因为当,也就是经过13天之后,n步转移概率矩阵慢慢趋向平稳,导致后期对LSTM神经网络预测模型的校正有限。但总体来说,经过马氏链校正后的预测值与真实值更加接近,因此,LSTM神经网络——马氏链模型预测性能更优越。
(四)基于LSTM神经网络-马氏链模型的长期预测
1.稳态概率下的涨跌趋势。首先,对华侨城A股票的收盘价进行长期涨跌势预测,并与实际情况对比分析。若一步转移概率矩阵不可约(即当N很大时容易满足),则由文献[3][4]可知,存在平稳分布使得,且。解齐次线性方程,将I-P进行初等变换,可得该方程组的解:=(0.1285,0.2719,0.1452,0.1542,0.1641,0.1361),即为平稳分布。因此,稳态概率下该股票收盘价下跌的概率为=0.5456,上涨的概率为=0.4544。由图3(b)可知,从长期来看,该支股票下跌的概率大于上涨的概率,预测结果与之是一致的。
2.股价的周期预测。其次,基于马氏链模型对华侨城A股票的收盘价进行周期预测。记为收盘价从状态i开始经过时间单位n之后首次进入状态j的概率,即。令为状态转移到状态的平均时间,,()满足方程组[4]。
(13)
解方程组(13)可得,即状态1到状态6的平均时间(由跌到涨的平均时间);以及,即状态6到状态1的平均时间(由涨到跌的平均时间)。方程组(13)也可表示为:
解得=8.8326,同理可解得=8.3081,=7.7843,=7.3472。
从上述结果可知,华侨城A股票的收盘价在2020年3月11日到2020年10月30日这156个交易日期间,由状态1到状态6平均需要9个交易日,由状态6到状态1平均需要9个交易日,即大跌到大涨要9个交易日,大涨到大跌也要9个交易日。,说明该股票收盘价完成一个短线运行周期平均需要18个交易日。=7.7843,=7.3472状态1回到状态1,状态6回到状态6均需要8个交易日,说明该股票收盘价短期波动较大。类似地,对其它5支股票收盘价进行涨跌趋势和周期预测,结果发现与实际情况基本一致。
六、结束语
本文基于LSTM神经网络和马氏链理论提出一种新的股票价格预测模型,并以大湾区指数成分股华侨城A股票日收盘价为研究对象进行实证分析。基于华侨城A股票2019年1月2日到2020年3月10日的日收盘价数据,利用LSTM神经网络进行预测(训练),结果发现预测结果与真实值比较吻合。利用马氏链理论检验,发现该残差具有马尔科夫性。选取华侨城A股票2020年3月11日到2020年10月30日的日收盘价数据进行预测(测试),基于LSTM神经网络——马氏链模型进行预测校正,结果发现LSTM神经网络——马氏链模型比单一的LSTM神经网络预测效果好,前者平均相对误差1.56%比后者的1.62%更低。 此外,本文对亿纬锂能 (300014)、华高科技(000636 )、金地集团 (600383)、塔牌集团 (002233)、保利地产(600048)5只股票收盘价进行了预测,结果发现其平均相对误差都低于2.9%,均比单一的LSTM神经网络预测的平均相对误差低,这也进一步验证了本文预测模型的有效性。
参考文献:
[1]彭燕,刘宇红,张荣芬.基于LSTM的股票价格预测建模与分析[J].计算机工程与应用,2019,55(11):209-212.
[2]冯宇旭,李裕梅.基于LSTM神经网络的沪深300指数预测模型研究[J].数学的实践与认识,2019,49(7):308-315.
[3]王强.基于马氏链的股票价格预测模型[J].江苏技术师范学院学报(自然科学版),2008(2):33-38.
[4]孟银凤,李荣华.股票价格的马氏链预测模型[J].数学理论与应用,2010,30(3):53-57.
[5]王新武.股票价格预测模型[J].陇东学院学报,2012,23(3):40-43.
[6]任君,王建华,王传美,王建祥.基于ELSTM-L模型的股票预测系统[J].统计与决策,2019,35(21):160-164.
[7]鄧凤欣.LSTM神经网络在股票价格趋势预测上的应用[D].广东外语外贸大学,2018.
[8]李航著.统计学习方法[M].第2版.北京: 清华大学出版社,2019.
[9]刘次华.随机过程[M].武汉: 华中科技大学出版社,2011.
基金项目:南宁师范大学博士科研启动项目(20180406001)。
作者单位:南宁师范大学数学与统计学院,徐庆娟为通讯作者