基于WD-CNN-LSTM 模型的股票价格预测分析
2023-10-20曹玉贵谢梦醒
曹玉贵,谢梦醒
(华北水利水电大学 数学与统计学院,河南 郑州 450046)
股票市场作为金融领域重要的组成部分,其价格波动的不稳定性不仅会给投资者带来经济损失,还会对国家的经济发展产生影响。由于股价受到宏观因素、产业和区域因素以及新闻舆论等多方面的影响,因此,从本质上来说,股市是一个动态的、非线性的、非平稳的且含有大量噪声的系统,传统的预测方法很难揭示股票价格的变动规律[1]。
目前,国内外对股票价格预测所采用的模型方法主要集中在两大类:传统时间序列算法与机器学习算法。机器学习的出现与发展很好地克服了传统时间序列方法的缺陷,在预测精度上也有了更大的优势。同时,随着机器学习算法理论的不断完善以及计算机网络的不断进步,深度机器学习的理论与技术也迎来了飞速发展。其中,循环神经网络(RNN)与卷积神经网络(CNN)是深度学习领域中的基础模型,也是深度学习发展的重要研究成果,但RNN 存在梯度爆炸和梯度消失等问题,在实际应用中对长时间序列学习效果较差[2]。1997 年,Hochreiter 等以RNN 结构为基础提出了长短期人工神经网络(LSTM)模型,成为RNN 最为经典的变体之一[3]。目前,LSTM网络模型在机器翻译、文本分类、语音识别等领域发挥出了巨大的作用,在金融市场预测方面也得到了国内外学者的青睐[4-5]。随着LSTM 模型实证研究在金融领域的不断深入,人们发现该模型仍然具有一定的局限性,比如,其存在特征提取能力不足等问题。为了提高预测精度,LSTM模型多与其他模型相结合。Kim 等将各种GARCH 模型与LSTM 模型相结合,构建混合模型对股价进行预测[6]。李辉等利用随机森林(RF)选择最优特征集,将其作为输入并利用LSTM 模型对股票价格进行预测,结果表明,与单一模型相比RF-LSTM 组合模型准确度更高[7]。CNN 模型目前已被广泛应用于计算机视觉、自然语言处理等领域,因其拥有强大的学习能力,能够有效地提取图像数据特征,近年来,越来越多的学者利用这些特点将CNN 模型应用于金融市场研究中[8-9]。此外,在对股票价格进行预测时,股市系统信噪比高、非线性、非平稳的特点通常会对预测结果产生影响,应用传统去噪方法处理股票数据时往往存在不足[10],小波分析在时域和频域方面均具有良好的局部化特性,非常适合应用在非线性、非平稳的信号上,因此,可以用来处理复杂的金融时间序列[11-12]。
考虑金融市场股票价格预测的准确性,本研究融合卷积神经网络、LSTM 模型以及小波去噪,构建WD-CNN-LSTM 模型对股票价格进行预测。该模型首先对收集到的股票数据进行小波阈值去噪,去除干扰信号以利于后续的实验分析,其次利用卷积神经网络将去噪后的数据进行特征提取,消除传统预测方法对股票数据有效特征提取的不确定性,最后通过LSTM 模型对股票价格进行预测。在此基础上,对10 个基本行业中的10 只股票、3 种股票指数以及它们不同的时间周期进行分析预测实验,并将得到的预测结果与其他模型进行对比。实证结果表明:与其他模型相比,WD-CNN-LSTM 模型对不同类型的股票和股指价格具有更好的预测效果,即便在不同的时间周期,该模型依然具有较好的预测性能。
一、模型构建
(一)小波阈值去噪(WD)
对于股票数据而言,信息是连续不断的,而数据却是在离散化的基础上进行采集的,这在一定程度上会导致干扰信号增多,影响数据进一步的分析处理。传统的去噪方法属于全局频域上的滤波,容易产生高频信号,并与噪声一起被过滤,低频信号受噪声影响,产生滤波不足的现象,导致其无法做到高低频同时兼顾。1992 年,Donoho 首先提出了小波阈值去噪,该去噪方法属于小波去噪的一种,具有多分辨分析的特点,可以根据信号自适应地调节时频分辨率,这使其更适合处理非平稳的股票数据[13]。
小波阈值去噪流程如图1 所示。首先,选取合适的小波基函数、分解层次等,对含噪声的信号进行小波尺度分解。其次,对小波尺度分解出的高频系数进行阈值处理。最后,对阈值处理后的系数进行小波逆变换以重构信号,并得到去噪后的信号。
图1 小波阈值去噪流程图
小波阈值去噪中的阈值处理需要进行阈值设置方式与阈值函数的选取,阈值设置方式选取原则主要有无偏似然估计原则、固定阈值原则等。其中,固定阈值的计算公式为:
式中N表示信号长度。
经典阈值函数包括硬阈值与软阈值,硬阈值函数在阈值处不连续,信号重构时可能产生震荡,因此选用软阈值函数,其数学表达式为:
式中ωj,k、j,k分别表示去噪前、后的小波系数。
(二)卷积神经网络(CNN)
尽管LSTM 在股票数据分析中表现优异,但其对特征提取的能力比较弱,当特征量相对复杂时,其性能反而会下降,而股票价格预测模型的特征集合往往比较大,因此,特征的提取和选择显得尤为重要。传统的特征提取模型需要人工提取特征,导致工作量大且包含众多不确定因素。而CNN 模型基本结构中的卷积层和池化层能自动对输入特征进行提取和降维,减少了传统模型的不利影响,更适合对股票数据特征进行提取。
卷积层通过卷积核提取输入股票价格序列的一些局部特征,相当于特征提取器。卷积的计算公式为:
式中:Ci和Ci-1分别表示第i层、第i-1 层的特征输出;Wi表示权值向量;*表示卷积运算;bi表示第i层的偏置量。
池化层对卷积层提取出的局部特征进行池化操作,即对股票价格序列进行降维和二次特征提取,从而进一步提升模型的泛化能力。选取CNN 结构中的卷积层和池化层对小波阈值去噪后的股票数据进行处理。
(三)长短期人工神经网络(LSTM)
LSTM 模型拥有较强的长序列数据处理能力,在股票数据分析中表现优异,彭燕等利用LSTM 模型对苹果公司股票价格进行预测,验证了LSTM 模型能够对价格趋势进行合理预测[14];王东等建立LSTM 模型对平安银行股价进行预测,实验结果表明该模型具有应用价值[15]。因此,采用LSTM 模型对股票价格进行预测。LSTM模型是在RNN 基础上改进的神经网络模型,具有更强的泛化能力,解决了RNN 存在的梯度爆炸和梯度消失等问题。与RNN 相比,LSTM 模型增加了遗忘门、输入门和输出门,这些门单元对数据信息进行去除或增添,使其尽可能保留重要的信息,去除干扰信息。
在这些门单元中,首先,遗忘门负责遗忘无用的历史股票信息,接着,输入门则根据输入的股票数据和历史信息更新单元状态:
最后,输出门根据单元状态,输出当前股票信息:
式中:f、i、O分别表示遗忘门、输入门和输出门;σ、tanh表示激活函数(其中σ通常为Sigmoid 函数);W表示权重;ht-1表示前一时刻的状态矩阵;xt表示t时刻的输入向量;b表示常参数矩阵;C表示单元状态。
(四)WD-CNN-LSTM 模型构建
根据股票价格变化特征,在基于卷积神经网络的LSTM 神经网络模型的基础上融合小波去噪,构建WD-CNN-LSTM 模型,其基本原理是:将股票数据进行小波阈值去噪,提取滤波后的低频数据并将其进行归一化处理。针对CNN 模型对股票数据序列特征提取的优势,在LSTM 神经网络结构的基础上加入CNN 模型结构。CNN 将小波阈值去噪后的数据进行特征提取,并将特征提取后的向量以序列的形式作为输入,利用LSTM 模型进行预测。在原有LSTM 结构中加入的卷积层与池化层可以捕捉到更为深层的隐藏信息,以此来提高模型的预测精度。本研究提出的WD-CNN-LSTM 股票价格预测模型流程,如图2 所示。
图2 WD-CNN-LSTM 预测模型流程图
第一,获取股票数据的开盘价、最高价、最低价、收盘价和成交量,将股票数据进行小波阈值去噪,得到低频股票数据,并将去噪后的数据进行归一化处理。
第二,利用滑动窗口将归一化的数据进行窗口化,并划分其为训练集或测试集。训练集中的数据对WD-CNN-LSTM 模型进行训练,训练完成后实现模型的建立。
第三,将测试集中的数据输入训练好的模型中,输出预测股票价格,并对预测结果进行反归一化,汇总得到最终的预测结果。
二、实证分析
为说明WD-CNN-LSTM 模型的有效性与稳定性,实证选取10 个基本行业中的10 只股票和3 种股票指数,运用WD-CNN-LSTM 模型和其他模型对股票收盘价进行预测,并对预测结果的准确性与适用性进行对比分析。
(一)实验环境与评价标准
本实验通过Keras 框架对模型进行搭建。考虑到ReLU 函数计算量小,收敛速度快,还可以避免梯度消失等问题,故将激活函数设置为ReLU。优化算法采用Adam 算法,Adam 优化算法由Kingma 等于2014 年提出,该算法与其他算法相比收敛速度更快,计算更高效[16]。模型迭代次数超150 次时,损失函数收敛,故将迭代次数设置为150。本研究所有实验模型的步长均设置为7[7]。
为全面验证模型的准确性,选取平均绝对误差(MAE)、均方误差(MSE)、均方根误差(RMSE)和决定系数(R2)4 个评价指标[17],作为模型预测效果的评价标准。由于MSE 的收敛速度通常更快,因此,将该模型的目标优化函数设置为MSE。其中,MAE、MSE、RMSE 的数值表示预测值与真实值之间的偏差,值越小,模型的预测效果越好;R2的取值在0 到1 之间,取值越接近1,表明模型的拟合效果越好。
本研究中的其他对比模型包括CNN-LSTM、LSTM 和GRU 模型,其中,GRU 是LSTM 网络非常流行的一种变体,网络结构较LSTM 简单,训练速度更快,效率也更高[18]。
(二)实验数据
数据来源于AkShare 财经数据接口库,该数据库可以实现对股票等金融数据从数据采集、数据清洗到数据存储的过程。实验选取A 股市场10 只股票、3 种股票指数2008 年1 月1 日到2022年12 月31 日每1 天以及每3 天的基本行情数据,高频数据为2022 年3 月1 日到2022 年12 月31 日每5 分钟的基本行情数据,其中基本行情包括开盘价、最高价、最低价、收盘价和成交量,选取的股票基本信息如表1 所示。本实验用前7 次的开盘价、最高价、最低价、收盘价以及成交量数据来预测第8 次的收盘价数据。由于数据归一化不仅可以消除量纲对后续预测结果产生的影响,还可以提高模型性能,减少神经网络的运行时间,因此,对小波阈值去噪后的股票数据进行归一化处理[19]:
表1 股票基本信息
式中:ai表示数据的第i个特征;amin、amax分别表示该特征的最小值、最大值。
(三)实验结果与分析
1.小波阈值去噪
结合此前的相关研究[10,20-21],经过多次实验对比,选取具有正交性、近似对称性的symN(Symlets 系列小波)小波基函数对原始信号进行分解,并将消失矩设置为4。在阈值选取方面采用固定阈值准则,对分解得到的小波系数采用软阈值法进行优化。对于分解层次而言,分解层次越高,去噪效果越明显,但是相应重构信号的失真也会越大[22]。基于选取的股票数据,将分解层次设置为3。股票数据去噪前后的部分结果如图3 所示。
图3 小波阈值去噪前、后中国平安(上)与中体产业(下)股票数据的成交量
图3 从左至右分别为小波阈值去噪前、后中国平安与中体产业每1 天成交量的波形结果。从图中可以看到去噪前股票数据存在较多噪声,严重影响进一步的分析处理。去噪后原始信号的小幅度波动大多数被去除,数据噪声减少,整体更为平滑,且波形结果保留了原始信号的主要特征,去噪效果表现较好。
2.股票价格预测结果分析
为验证WD-CNN-LSTM 模型的有效性和稳定性,利用该模型对10 只股票不同时间周期的股票价格进行预测。此外,为进一步说明WDCNN-LSTM 模型的优越性,将WD-CNN-LSTM模型与CNN-LSTM、LSTM、GRU 模型的预测结果进行对比。
针对不同模型的拟合效果,截取了中国平安与中体产业每1 天股票数据WD-CNN-LSTM 和CNN-LSTM 模型的实验结果对比图,如图4 所示。其中,纵轴表示股票收盘价,横轴表示天数。图4 结果显示,WD-CNN-LSTM 模型的预测测试集与真实测试集具有一致的趋势,预测测试集曲线非常接近真实测试集曲线,滞后性不明显,即便是在股票价格涨跌波动比较剧烈的地方,该模型的预测结果仍然比较精确,数据较为平滑,拟合程度比较好。而CNN-LSTM 模型的预测测试集曲线与真实测试集曲线存在一定的偏差,与WD-CNN-LSTM 模型相比预测效果不理想,在股票价格涨跌拐点处的效果更差,对于股票上涨或下跌趋势的预测存在一定的滞后性。
图4 中国平安(上)、中体产业(下)WD-CNN-LSTM(左)与CNN-LSTM(右)模型预测对比图
为深一步探究WD-CNN-LSTM 模型对不同时间周期股票数据预测的有效性,实验用上述模型对这10 只股票每5 分钟、每3 天的数据进行预测分析,并对不同模型的评价指标进行了计算,以进一步检验该模型的预测性能,最后取10 只股票评价指标的平均值,模型计算结果见表2。在LSTM 神经网络结构中加入CNN 模型结构,有效避免了数据特征量相对复杂时LSTM 特征提取能力弱、性能下降的问题,因此,从表2 中可以看到:CNN-LSTM 模型的预测精度比单一LSTM 模型更高,测试误差MAE、MSE、RMSE 更小,R2更接近于1;GRU 模型的预测结果与CNN-LSTM 模型相比也同样不够优越,测试误差相对较大。而通过对股票数据进行小波阈值去噪处理,WDCNN-LSTM 模型的预测效果在3 种不同的时间周期中均比CNN-LSTM 模型好,拟合度以及精确度都更为优越。从表2 可知,每1 天的股价预测中,WD-CNN-LSTM 模型的测试误差与CNNLSTM 相比,MAE、MSE、RMSE 分别降低了42.27%、71.65%、49.78%,R2提升了4.02%;同样在每5分钟以及每3 天的股价预测结果中,测试误差MAE、MSE、RMSE 均得到了显著降低,R2的值也更加接近1。显然,小波阈值去噪能够提高CNNLSTM 模型的预测精度,也进一步验证了小波阈值去噪在模型预测中的有效性。此外,LSTM、GRU 模型在不同时间周期的预测结果与WDCNN-LSTM 模型相比都比较差,尤其在每3 天的时间周期中,由于股票数据量的减少,预测效果更不理想。综合以上实验结果表明:对于不同时间周期、不同类型的股票数据,对比其他模型,WD-CNN-LSTM 模型的测试误差比较小,预测结果更有效,模型稳定性也更好。
3.股指价格预测结果分析
上文验证了WD-CNN-LSTM 模型对不同行业单只股票价格的预测具有更强的有效性与稳定性,为进一步探究该模型能否准确预测总体股票市场价格变动趋势,分别利用WD-CNNLSTM、CNN-LSTM、LSTM 和GRU 模型对沪深300、中证500、深证综指3 种股指价格进行预测,并将结果进行对比分析,同样取这3 种股指评价指标的平均值,不同预测模型的评价指标平均值见表3。
表3 不同预测模型股指评价指标平均值
从表3 可明显看出,在不同时间周期的股指价格预测中,CNN-LSTM 模型的测试误差与LSTM、GRU 模型相比较小,但与WD-CNN-LSTM模型相比较大。与次优模型CNN-LSTM 相比,在每1 天的股指价格预测结果中,WD-CNN-LSTM模型的测试误差MAE、MSE、RMSE 分别降低了38.14%、49.49%、37.91%,R2提升了2.04%;对于每5 分钟和每3 天的预测结果,测试误差和R2也分别得到了降低和提升。对比结果说明:相较于CNN-LSTM、LSTM 和GRU 模型,WD-CNNLSTM 模型在股指价格中的预测效果依然更为优越,稳定性也更强。
三、结语
针对股票数据往往存在大量干扰信号以及传统预测方法对股票数据的有效特征提取具有不确定性的问题,本研究提出WD-CNN-LSTM模型对股票价格进行预测分析。首先,对10 个基本行业中的10 只股票不同时间周期上的股票数据进行小波阈值去噪,得到更为平滑的数据,再将这些处理过的数据通过CNN 进行特征提取。其次,通过LSTM 模型对提取出的特征信息进行时序建模预测,并将预测结果与其他模型进行对比。最后,运用WD-CNN-LSTM 模型以及其他模型对3 种股指价格进行预测对比分析。综合实验结果表明:与CNN-LSTM、LSTM、GRU 模型相比,本研究提出的WD-CNN-LSTM 模型在股价预测方面具有更好的有效性与稳定性,增强了股票投资者风险防范的能力,给投资者提供了参考。虽然该模型的预测效果比较好,但是由于影响股票价格波动的因素众多,在实际运用该模型时可以考虑尝试加入这些因素,模型的预测精度可能会进一步提高,泛化能力也会更强。