APP下载

基于LSTM神经网络的股票价格预测研究

2021-04-09黄超斌程希明

关键词:股票价格集上预测值

黄超斌,程希明

(北京信息科技大学 理学院,北京 100192)

0 引言

股票价格的预测在商业和金融领域具有重要的意义,但由于股票价格受到众多因素的影响,导致股票价格预测十分困难。国内外许多相关工作者进行股票价格的预测研究,使用的方法大致可以分为3类:使用传统的时间序列模型、使用机器学习算法以及使用神经网络模型。

冯盼等[1]运用ARMA模型(自回归移动平均模型)对股票开盘价格进行预测,证实了ARMA模型在金融时间序列数据上预测的效果;王丽娜等[2]使用ARMA模型在经济非平稳时间序列上进行预测分析;田翔等[3]使用支持向量回归方法(support vector regression,SVR)构建股指短期预测模型,提出一种非线性时间序列预测模型;Wang Shuai等[4]以及Wang Jianzhou等[5]通过使用支持向量机(support vector machine,SVM)构建模型进行沪深300指数的趋势预测,验证了支持向量机在股票价格指数预测中的有效性。近年来,深度学习和神经网络的研究发展迅速,Dixon等[6]使用 BP(back propagation)神经网络模型,预测商品期货和外汇期货在未来5 min的价格波动。

传统的时间序列模型在使用时要求时间序列数据必须是平稳的且无自相关性,在进行中长期的变化趋势预测时误差较大。随着研究的不断进行,许多学者将机器学习算法和神经网络模型应用到股票价格的预测之中。相比于传统的机器学习算法,使用神经网络模型时不需要构建复杂的、特定的特征工程即可构建有效的学习模型,因此在数据预处理阶段会节省大量的工作和时间。神经网络模型可以有效解决股票数据的不确定、非线性、非平稳等问题。许多学者的研究结果显示神经网络模型在预测股票价格上具有很好的效果。本文利用长短期记忆(long short-term memory,LSTM)神经网络模型对上证综合指数数据进行预测研究,并将预测结果与使用BP神经网络模型、卷积神经网络(convolutional neural network,CNN)模型、循环神经网络(recurrent neural network,RNN)模型、GRU(gated recurrent unit)网络模型的预测结果进行对比分析。

1 长短期记忆神经网络

由于神经网络模型更容易对复杂的非线性关系进行拟合,而股票指数、股票价格等金融时间序列数据因受到多种因素的影响呈现出非线性的特征,因此利用神经网络模型可以提高股指以及股票价格预测的精确度。但是传统的BP神经网络只在网络层与层之间建立了全连接,忽略了时间维度上的信息,由此RNN应运而生。RNN通过在神经网络的神经元之间建立连接,对隐藏层的中间结果进行循环利用,使得网络可以从时间维度上提取到有用的信息。RNN神经网络结构如图1所示。

图1 RNN神经网络结构

其中xt-1、xt、xt+1分别表示在t-1、t、t+1时刻神经元节点的输入,ht-1、ht、ht+1分别表示对应的中间输出结果。在t时刻的输出结果ot不仅仅与xt有关,还和t-1时刻的输出结果ht-1有关,这样就有效地保留了时间维度上的历史信息。因此RNN模型比BP神经网络模型更适合处理时间序列上的预测问题。其中t时刻的输出结果ot为

ot=g(V·ht)

(1)

其中:

ht=f(U·xt,W·ht-1)

(2)

神经网络中的误差梯度在反向传播过程中,随着时间序列长度的增加以及网络层数的加深,后层的梯度以连乘的方式叠加到前层。由于网络中使用的激活函数为Sigmoid函数,该函数具有饱和性,在输入达到一定值的情况下,输出不会发生明显变化。当后层梯度较小时,误差梯度传到前层时几乎衰减为0,导致RNN出现梯度消失的问题,无法对前层的网络参数进行学习,以至于预测能力无法提升。为了改进RNN的不足,Hochreiter和Schmidhuber提出了LSTM神经网络结构[7]。LSTM神经网络是一种特殊的循环神经网络,主要是为了解决长序列数据在训练过程中的梯度消失和梯度爆炸问题,相比于RNN,LSTM神经网络可以在更长的序列中取得较好的效果,能够对有价值的信息进行长期的记忆。LSTM神经网络的神经单元结构如图2所示,其中包含了输入门it、遗忘门ft、输出门ot和记忆单元ct。输入门控制当前计算的新状态以多大程度更新到记忆单元中;遗忘门控制前一步记忆单元中的信息有多大程度被遗忘掉;输出门控制当前的输出在多大程度上取决于当前的记忆单元[8]。

图2 LSTM神经网络的神经单元结构

LSTM神经网络在t时刻的输出ht为

ht=ot·tanh(ct)

(3)

其中:

ot=σ(Woxt+Uoht-1+bo)

(4)

(5)

ft=σ(Wfxt+Ufht-1+bf)

(6)

it=σ(Wixt+Uiht-1+bi)

(7)

(8)

LSTM神经网络的神经单元结构中的门控结构使用的是Sigmoid激活函数和tanh激活函数。其中Sigmoid函数为

(9)

tanh函数为

(10)

两者的区别在于Sigmoid函数的值域为(0,

1),而tanh函数的值域为(-1,1)。两个激活函数都是随着变量x的增大而增大,以实现门控结构的作用。

2 实验与分析

2.1 数据集介绍

本文使用的数据集为通过tushare库获取到的上证综合指数数据,该数据集一共包含11列数据,包括:指数代码(ts_code)、交易日期(trade_date)、收盘点位(close)、开盘点位(open)、最高点位(high)、最低点位(low)、昨日收盘点(pre_close)、涨跌值(change)、涨跌幅(pct_chg)、成交量(vol)、成交额(amount)。该数据集包含了1990年12月19日至2019年12月31日之间共计7101天的股票数据,其数据形式如表1所示。

表1 数据集形式

2.2 实验流程

本文进行上证综合指数预测的流程如图3所示。

图3 上证综合指数预测流程

在数据预处理阶段对原始数据进行简单处理,把数据集中第2天的收盘价作为当天的标签值,然后将数据集划分为训练集和测数集,其中训练数据占70%,用于模型的训练,测试数据占30%,用于测试模型泛化误差。

在数据输入到神经网络模型之前,需要对数据进行归一化处理。对数值类型的特征做归一化可以将所有的特征都统一到一个大致相同的数值区间内。数据的归一化可以消除量纲,从而避免数据对度量单位选择的依赖,并且有助于提高模型性能,有利于进行模型的训练,加快模型的收敛速度。本文采用的归一化方法为

(11)

通过使用不同的神经网络模型在训练集上训练模型并在测试集上进行测试,对比不同的神经网络模型在不同的参数设置下的模型性能。本文选取模型评价指标中的平均绝对误差(MAE)、均方误差(MSE)、平均绝对百分比误差(MAPE)以及预测数据和真实数据之间的相关系数(ρ)作为模型性能的评价指标。

平均绝对误差为

(12)

均方误差为

(13)

平均百分比误差为

(14)

相关系数为

(15)

2.3 实验结果及分析

使用训练集训练不同的神经网络模型,然后在测试集上测试模型的性能,各模型在测试集上的预测结果如图4~9所示。

图4 LSTM神经网络模型在测试集上的预测值

其中图4至图8是使用LSTM神经网络模型、BP神经网络模型、CNN模型、RNN模型、GRU神经网络模型在测试集上的预测值与真实值的对比图,图9是各个模型在测试集上的预测结果与真实值的对比图。从图中可以看出,LSTM神经网络模型和RNN模型在测试集上的预测值和真实值的曲线最为接近,模型的预测结果与真实值之间的误差较小,拟合程度较高;BP神经网络模型和GRU神经网络模型在测试集上的预测值和真实值之间的误差较大,预测值曲线与真实值曲线的拟合程度较低;CNN神经网络模型在测试集上的预测值和真实值之间的误差最大。

图6 CNN模型在测试集上的预测值

图7 RNN模型在测试集上的预测值

图8 GRU神经网络模型在测试集上的预测值

图9 各神经网络模型在测试集上的预测值

各个模型在测试集上的模型评价指标值如表2所示。其中LSTM神经网络模型的平均绝对误差为0.015 799,均方误差为0.000 450,平均绝对百分比误差为0.019 867,在测试集上的预测值和真实值之间的相关系数为0.995 7。从评价指标可以看出LSTM神经网络模型在测试集上的预测效果最好。

通过对以上各种模型在测试集上的预测结果和模型评价指标分析,在相同的样本数据下,LSTM网络模型作为对RNN模型的改进,比RNN模型的预测效果更好。由于RNN模型考虑了时间序列上的先后关系,因此在预测效果上优于BP神经网络模型;而CNN模型表现最差,其原因在于CNN更适合处理图像识别、图像分类以及预测问题,在时间序列上的效果反而不佳。

表2 不同模型在测试集上的评价指标

3 结束语

本文应用深度学习理论,基于金融时间序列数据的特性,使用LSTM神经网络模型进行上证综合指数的预测,将其预测结果和使用BP神经网络模型、CNN模型、RNN模型、GRU神经网络模型的预测结果进行对比,实验结果显示LSTM神经网络模型在测试集上的表现效果最好。作为RNN模型的改进结构,LSTM模型既继承了RNN模型适合处理时间序列数据问题的特点,又进一步解决了时间维度上长期依赖的问题,提高了预测的精确度,其预测效果优于BP神经网络、RNN、CNN、GRU等神经网络模型。

下一步的工作将通过股票网站、论坛、贴吧等提取线上用户对股票、股价的相关评论、新闻报道、公司报表、重大事件等语言文字信息中的相关特征,将其加入到股票价格预测的模型当中,或者将LSTM神经网络模型与其他模型结合起来形成集成模型,以进一步提高模型的预测精确度。

猜你喜欢

股票价格集上预测值
关于短文本匹配的泛化性和迁移性的研究分析
加拿大农业部下调2021/22年度油菜籽和小麦产量预测值
AI讲座:ML的分类方法
基于互信息的多级特征选择算法
自体荧光内镜对消化道肿瘤诊断临床应用分析
上市公司财务指标与股票价格的相关性实证分析
人民币汇率与上证指数互动的实证研究
员工持股计划对股票价格的影响
实证分析会计信息对股价的影响
师如明灯,清凉温润