摘" 要:为解决股指时序预测趋势难问题,提出了引入多元宇宙优化算法(Multi-Verse Optimization, MVO)的双向长短期记忆网络(BiLSTM)与卷积神经网络(CNN)相结合的股票预测混合模型(MVO-CNN-BiLSTM)。该模型的意义在于多元宇宙优化算法具有全局搜索能力和收敛速度快的特点,适用于优化问题;卷积神经网络(CNN)能够在前几层有效地提取数据中的特征,而BiLSTM则可以在后续层中建模这些特征之间的时序关系。最后通过对沪深300指数2002—2024年共5 378组数据进行仿真结果表明,确定最佳时间步长后,该方法预测效果明显优于传统CNN-LSTM网络模型以及CNN-BiLSTM网络模型,能够有效降低预测误差。
关键词:双向长短期记忆网络;多元宇宙优化算法;卷积神经网络
中图分类号:TP391.4" 文献标识码:A" 文章编号:2096-4706(2024)19-0134-07
Time-series Prediction Model of Stock Price Based on MVO-CNN-BiLSTM
LI Mengyu
(Hubei University of Technology, Wuhan" 430068, China)
Abstract: In order to solve the difficult problem of predicting the trend of stock index time series, a hybrid model (MVO-CNN-BiLSTM) for stock prediction is proposed, which introduces MVO, and combines BiLSTM and CNN. The significance of the model is that the MVO has the characteristics of global search ability and fast convergence speed, which is suitable for optimization problems. The CNN can effectively extract features from the data in the first few layers, and BiLSTM can model the time-series relationship between these features in subsequent layers. Finally, the simulation results of 5 378 sets of data from 2002 to 2024 of CSI 300 index show that the prediction effect of this method is obviously better than that of traditional CNN-LSTM network model and CNN-BiLSTM network model after determining the optimal time step, which can effectively reduce the prediction error.
Keywords: Bidirectional Long Short-Term Memory network; Multi-Verse Optimization; Convolutional Neural Network
0" 引" 言
股票市场中,股票价格时间序列的趋势预测一直是学术界一个重点关注的研究方向,目标是从历史的股票指数价格中抓取相关信息,预测将来的股票价格时序数据。目前关于股票时序数据预测研究可以分为传统时序预测方法、机器学习方法、深度学习方法三个方面。
在传统时序预测方法中,宫嘉成等[1]人应用ARMA模型进行股票价格预报。李丽[2]在GARCH模型中纳入ARMA结构的均值方程来描述股票价格和成交量之间的关系。吴朝阳[3]提出对小波基方程和分解层数这2个特征进行参数化,然后定量地对所有子模型的特征参数进行统一、综合的评估,以达到建立最佳组合模型的目的,Rathnayaka等[4]利用ARMA调查了2007年至2012年科伦坡证券交易所(CSE)市场价格和交易量的方向和运动。Ye等[5]提出了一种基于直接建模周转序列的ARMA-VWAP方法。上述方法的共性特征为对于股票时序数据数据的平稳性要求很高,但是纵观股市,股票数据为非线性、非平稳的时间序列,导致传统时间序列分析方法的局限强,准确率不高。
机器学习方法的出现,一定程度上弥补了传统时间序列预测股票价格趋势的不足[6-8]。刘恒等[9]采用贝叶斯正则化(Bayesian Regularization, BR)算法尝试解决BP神经网络初始权值随机引起的局部最优的问题。林明松等[10]利用马氏距离的类间隔可分性,提出了结构化最大间隔双支持向量机,分别寻找正类样本和负类样本的非平行的超平面,使其欧式距离尽可能小,同时离异类超平面的马氏距离尽可能大。预测效果有一定的改善。Kang等[11]创新地使用了二进制引力搜索算法(BGSA)优化SVM的输入与参数。蔡毅等[12]提出反向混频数据抽样模型(R-MIDAS)与机器学习算法结合的新模型R-MIDAS-GWO-SVR,来捕捉基金仓位变化对股市的信息增益作用及二者相关性,此模型风险调节的绩效优度较高。Yu等[13]在支持向量机中引入主成分分析(PCA)用以提高训练精度和效率。尹湘锋等[14]用非线性孪生支持向量回归对股票价格的走势进行分析,对股票价格进行预测。在应用中分别对使用线性核函数和多项式核函数的非线性孪生支持向量回归预测性能进行了比较;在回归中的参数寻优上,分别利用遗传算法和粒子群优化算法进行寻优。邹婕等[15]基于双层GRU网络提取股票因子间的依赖关系,再利用SA加强对重要因子的关注和因子内部的联系,得到加入注意力权重后的股票因子数据,通过全连接层输出股价预测值,从而构建RF-SA-GRU混合模型。实验显示RF-SA-GRU模型在股指预测方面依旧具有更好的预测性能。李晓寒等[16]提出了一种融合改进遗传算法(IGA)和图神经网络(GNN)的预测模型IGA-GNN解决股票评价特征选择困难及时序关系维度特征缺失。武大硕等[17]等人提出了利用遗传算法改进LSTM神经网络股票指数的方法。以上机器学习方法优很强的泛化能力强,局部最优的问题也得到了很大缓解,但是在处理大量多维特征的股票时间序列数据时,却无法解决过拟合的问题。
卷积神经网络(CNN)利用卷积核提取历史时间数据特征,预测未来。丛敬奇等[18]构建了一种CEEMD-CNN-LSTM模型。该模型基于互补集成经验模态分解(CEEMD),以及卷积神经网络(CNN)与长短期记忆网络(LSTM),将原始金融时间序列分解重构为高频项、低频项和趋势项,同时应用CNN-LSTM模型分别对各分项进行预测,并将各分项的预测值集成为最终预测结果。周润佳[19]针对股票趋势预测难的问题,提出一种利用CNN和LSTM进行特征提取,并结合注意力机制和对抗训练的股票趋势预测算法——AACL(Adversarial Attentive CNN-LSTM)算法。该算法利用CNN提取股票的整体趋势信息,LSTM[20]提取股票的短期波动信息,并通过注意力机制将多个股票联系起来,捕捉股票之间的涨跌关系。耿晶晶等[21]针对股票价格数据具有高频性、非线性和长记忆性等特点,并且认为投资者行为是影响股票价格的重要因素,在其研究中利用成交量加权平均价(VWAP)指标量化投资者行为,构建了基于卷积神经网络(CNN)与长短期记忆网络(LSTM)的混合预测模型。结果表明,CNN-LSTM模型在预测方面有较高的预测准确率和普适性。赵红蕊等[22]基于上证指数进行对比实验,通过对比实验预测结果和评价指标,验证了在LSTM与CNN结合的网络模型中加入CBAM模块的预测有效性和可行性。
1" MVO-CNN-BiLSTM网络模型结构
股市时间序列数据无法呈现出一个长期趋势并最终趋于一个常数或是一个线性函数。由于其为非线性、多尺度、非平稳的区间时序数据,在这种情况下传统方法适用性较低,无法综合考虑其高噪声、时变、动态等特性。因此相比于众多机器学习和深度学习模型,LSTM在这个问题上有着天然的优势。具有长期记忆功能,其主要采用门的机制,能够一定程度上解决梯度爆炸和梯度消失问题,但其性能还是受其不能并行而有损失。为了解决以上不足,本文将沪深300指数每日的收盘价作为预测的目标。提出了在双向长短期记忆网络(BiLSTM)和卷积神经网络(CNN)相结合的基础上引入多元宇宙优化算法(Multi-VerseOptimizer, MVO)的股票预测混合模型(MVO-CNN-BiLSTM),MVO-CNN-BiLSTM联合应用的意义在于将三种不同的技术结合起来,以充分利用它们各自的优势,从而提高回归预测的准确性和效率。具体而言,这种联合应用的意义在于多元宇宙优化算法(MVO)具有全局搜索能力和收敛速度快的特点,适用于优化问题;卷积神经网络(CNN)能够在前几层有效地提取数据中的特征,BiLSTM则可以在后续层中建模这些特征之间的时序关系。这种级联结构使得网络能够逐层抽象和学习输入数据的复杂表示,网络能够捕捉时间序列数据中的长期依赖关系。将它们结合使用,能够充分利用各自的优势,提高模型的整体性能。
本试验使用了MATLAB软件进行代码实现,采用沪深300指数2002—2024年共5 378组数据进行时间序列价格预测,首先建立包含CNN和Bi-LSTM层的深度学习模型。CNN用于提取数据的空间特征,Bi-LSTM用于捕捉时间序列特征。然后定义适应度函数,优化CNN-Bi-LSTM模型的超参数。在此基础之上实现多元宇宙优化算法(MVO)并结合MVO和CNN-Bi-LSTM模型,将CNN- Bi-LSTM模型的超参数作为MVO算法的优化变量,通过MVO算法搜索最优的超参数组合,以优化模型的性能。使用训练数据集对CNN- Bi-LSTM模型进行训练,先确定了使模型性能最优的时间步长。通过比对CNN-LSTM以及CNN-BiLSTM模型评价指标优度,验证了BiLSTM与CNN结合的模型中加入多元宇宙优化算法(MVO)算法预测模型的有效性。本文总体框架如图1所示。
1.1" 理论基础
1.1.1" 多元宇宙优化算法
多元宇宙优化算法(Multi-VerseOptimizer, MVO)是一种群智能优化算法。该算法的灵感来自物理学中的多元宇宙理论,该理论认为除了我们生活的宇宙之外,可能存在其他宇宙。MVO仿真了种群在虫洞、黑洞和白洞的共同影响作用下的运动行为,将这种行为用于解决优化问题。以下是MVO算法的主要特点介绍:算法的个体构成如下:
(1)
其中d为变量的数量,n为宇宙的个数(候选解):
(2)
其中为第i个宇宙的第j个体黑洞的位置,Ui为第i个宇宙位置,NI(Ui)为指第i个宇宙的标准膨胀率。为由轮盘对赌机制产生的第K个宇宙的第j个黑洞的位置。最优宇宙中黑洞的位置更新:
(3)
其中TDR为旅行距离率是一个动态的参数,H为阀值,这里我们取H = 0.5的经验值。r3,r4为[0,1]区间的随机数,为当前最佳黑洞位置。通过演进算法,持续迭代最佳位置,当产生最佳黑洞位置后,会对和的匹配适应能力进行比较,如果的适应度优则会成为下一代新的黑洞个体,否则会被保存至下一代。其中虫洞存在率WEP的表达式如下:
(4)
其中min和max取经验值,min = 0.2,max = 1,l为当前迭代次数,L为最大迭代次数。其中旅行距离率TDR的表达式如下:
(5)
1.1.2" 卷积神经网络模型
卷积神经网络(CNN)是近年来研究最热门,应用最广泛的深度学习模型之一,CNN模型由卷积层、池化层和全连接层组成。与传统神经网络相比,CNN采用卷积运算代替一般的矩阵运算,可以达到多倍的运算效果。下列式子为一般的卷积运算形式:
(6)
其中s为卷积后的特征映射矩阵,x为输入矩阵,w为权重矩阵(即核函数),为卷积运算符。一般情况下,如式(7)所示,卷积运算的输入为多维形式,因而权重矩阵也是多维的。卷积核的数量可以决定特征提取的抽象程度。卷积核的大小可以根据输入序列数据的大小进行调整。
(7)
其中sp,q为矩阵s的元素,il,m为大小为L×M的2维输入矩阵I的元素,为2维卷积核K的元素。CNN以稀疏连接和共享权值的方式,直接从原始数据中通过卷积层和池化层共同操作来获得有效的特征信息,自动提取数据的局部特征,并形成完整的特征向量。
1.1.3" 双向LSTM网络
双向长短期记忆网络(BiLSTM)由两层LSTM网络组成,它们一个是前向的,一个是后向的。其中,每一个LSTM单元,由又3个门结构组织,分别为遗忘门、输入门、输出门。遗忘门可以过滤掉无用的信息,决定了特征信息的通过量:
(8)
其中t为当前时刻;σ为sigmoid激励函数;W为权重系数矩阵;ht-1为t-1时刻的输出;x为输入;b为偏差向量。输入门纳入最新特征信息,通过sigmoid函数和tanh层更新细胞状态中的信息:
(9)
其中it为输出门输出,Ct为记忆单元输出为tanh函数输出。输出门将当前时刻的特征信息通过Ct,得到单元的输出ht:
(10)
前向LSTM和后向LSTM组合,得到的BiLSTM结构模型,前、后向LSTM的输出层ht连接在了一起,得到BiLSTM的输出yt。BiLSTM的更新方程为:
(11)
其中和为输出层连接权重矩阵,by为输出层偏置。
1.2" MVO-CNN-BiLSTM网络模型结构
基于MVO-CNN-BiLSTM的股票预测网络模型是在卷积神经网络(CNN)和双向长短期记忆网络(BiLSTM)和结合的基础上引入多元宇宙优化算法(MVO)模型展开如图2所示。
2" 算例验证分析
2.1" 试验数据
2.1.1" 数据来源
本文实验的数据是利用Wind下载的沪深300指数2002-01-07—2024-03-07共5 378组数据主要包括最高价、最低价、开盘价、前收盘价、涨跌额、涨跌幅等时序数据以天为时间间隔。沪深300指数是由中国证券指数公司简称中证指数公司编制的,由上海证券交易所与深圳证券交易所联合发布的一种金融指标可以作为评价投资业绩的标准,为指数量化投资创造基础条件。沪深300指数包括沪深两市300只A股,其中包括121只在深圳上市的股票和179只在上海上市的股票,涵盖了不同行业的龙头企业,样本覆盖沪深两市60%的市值,交易流动性非常好,成交量较大,具有良好的市场代表性,如表1所示。
2.1.2" 数据处理
首先分析获取到的沪深300指数原始数据集是否存在乱序缺值并进行相应排序填充处理,另外为加快反向传播过程中梯度下降的过程,提高训练网络的收敛速度。需将所有的收集到的股票数据进行最小最大归一化处理,根据式(12),把股票指数收盘价格映射到[0,1]的区间内:
(12)
2.1.3" 模型评价指标
均方根误差(RMSE):均方根误差是反映真实值与预测值之间差别的指标,通常利用这一指标衡量机器学习模型预测优劣,如式(13)所示:
(13)
平均绝对误差(MAE):表示观测值和真实值之间绝对误差的平均值,绝对值化处理可以解决正负误差抵消的情况因此MAE对异常值敏感性较低,MAE用于评价真实值与拟合值的偏离程度,MAE值越小,说明模型拟合越好,模型预测准确率越高,如式(14)所示:
(14)
R2值:是衡量回归模型拟合优度的统计量,它表示回归模型对观测值的拟合程度,代表了模型中因变量可由自变量解释的百分比。R2的取值范围在0到1之间,R2越大,说明回归模型对观测值的拟合程度越好。比如R2为0.6,说明所有自变量可以解释因变量60%的变化原因,如式(15)所示:
(15)
误差率:由于股价指数单位量介于1 000~ 6 000之间,为更直观的观察模型结果构造误差率指标,即利用MAE与样本均值之比表示误差率,值越接近于0表示模型越优越,如式(16)所示:
(16)
2.2" 试验步长设计
因为BiLSTM时序特性,本文将沪深300指数数据集的前85%作为训练集,后15%作为测试集。通过对比MVO-CNN-BiSTM股票预测网络模型在时间步长 = 5,时间步长 = 10,时间步长 = 15,时间步长 = 20,时间步长 = 25,时间步长 = 30,这几种条件下模型的预测精度,得到如图3至图8的实验结果,通过下图预测值与真实值拟合情况可以发现,控制实验步长,将会影响预测结果精度。
通过观察表2可以发现当时间步长为5时,时间跨度较短,可以较为准确的抓取短时间内舆情等因素规律,预测结果最为优越,各项指标均优于其他时间步长。当时间步长设置为10时,时间跨度变长,极短期特征抓取效果不佳,又因为步数较低,无法判别长期趋势因此预测模型失真。当时间步长增到15时,会稍微缓解这一问题,但是当时间步长扩大至30天时,因跨越时间范围太长,忽视短期趋势导致模型分析预测结论不准确,预测效果随时间步长增加而减退恶化。所以最后为模型精度最优化,将时间步长这一控制变量设置为5天。即用前5天的数据预测第6天的数据,将沪深300指数前5天的收盘价格作为神经单元的输入层,第6天的收盘指数价格价格作为目标预测变量进行模型训练。
2.3" 试验结果
模型预测结果如图9至图11所示,红色星号为沪深300指数收盘价真实值,蓝色圆圈为沪深300指数收盘价预测值,横坐标为样本编号,纵坐标为股票价格指数。
通过观察对比图9至图11的拟合效果图以及表3不同网络模型预测误差可以发现MVO-CNN-BiLSTM的预测效果明显优于单纯的CNN-LSTM时序预测模型和CNN-BiLSTM时序预测模型,因为MVO算法具有全局搜索能力和收敛速度快的特点,适用于优化问题;CNN能够有效地提取数据中的特征;BiLSTM网络能够捕捉时间序列数据中的长期依赖关系。将它们结合使用,能够充分利用各自的优势,提高模型的整体性能。图11中,在第60个测试样本附近,该模型的训练结果出现了跳跃,可能由于股市受到当时的临时法规,政策变动或特殊舆情以及突发情况所造成的而非本文所提出的股价预测时序模型的欠缺所致。因此,本次实证分析检验了本文提出的网络模型结构的有效性与可行之处。
由表3可知,图中的预测价格曲线与实际价格曲线之间的误差走势与模型预测误差中各模型之间的偏差趋势具有相同规律。CNN-LSTM时序预测能力最差,CNN-BiLSTM次之。MVO-CNN-BiLSTM模型的RMSE、MAE、误差率等指标均小于其他模型,R2高达0.992 23高于CNN-LSTM的0.985 71,以及CNN-BiLSTM的0.987 28,解释力度较强。沪深300指数收盘价格的预测值和真实值之间的拟合图的分散度小,预测精度最优。实证表明本文中设计的MVO-CNN-BiLSTM股票价格时序预测模型的有效性。
3" 结" 论
本文通过对双向长短时记忆网络结合卷积神经网络的时间序列预测模型中引入多元宇宙优化算法(MVO)进行理论研究与实证分析对比,并利用MATLAB软件进行代码实现,采用沪深300指数收盘价格进行时间序列预测,通过与CNN-LSTM时序预测模型和CNN-BiLSTM时序预测模型的预测效果进行预测指标优度比较,可以看出MVO-CNN-BiLSTM时序预测模型提升了沪深300指数收盘价格预测精度。表明此模型对股票信息提取以及预测是可行效。CNN作为底层网络可以提取数据中的空间特征,而Bi-LSTM作为顶层网络可以处理时间序列数据,通过这种结合,可以增强模型对数据特征的提取能力,尤其适用于时间序列数据的回归预测任务。MVO算法能够帮助调整Bi-LSTM模型的参数,使其更好地适应特定的回归预测问题,从而提高预测准确性。通过全局优化和参数调整,可以使模型更好地拟合训练数据,并在未知数据上表现更好。鉴于本次实证分析中在样本编号为60的样本附近出现的预测拟合误差波动,将会在将来的研究中考虑结合突发舆情等影响因素,深入挖掘股价时间序列趋势信息,希望能提高时序预测模型对股价预测的精准度,为众多的投资者带来更有价值、更有建设性的投资参考建议。
参考文献:
[1] 宫嘉成,沈美琴.股票价格的ARMA模型预报 [J].天津大学学报,1995(4):589-592.
[2] 李丽.基于ARMA-GARCH模型的股市量价动态关系研究 [J].统计与决策,2011(4):144-146.
[3] 吴朝阳.小波变换和GM-ARMA组合模型的股指预测 [J].智能系统学报,2011,6(3):279-282.
[4] RATHNAYAKA T K M R,SENEVIRATNA N K M D,WANG Z.An Investigation of Statistical Behaviors of the Stock Market Fluctuations in the Colombo Stock Market: ARMA PCA Approach [J].Journal of Scientific Research and Reports,2014,3(1):130-138.
[5] YE X,LI H. ARMA-VWAP Strategy and Its Application in Chinese Stock Market [C]// Proceedings of 2011 International Conference on Social Sciences and Society(ICSSS 2011 V2).Beijing:Intelligent Information Technology Application Association,2011:5.
[6] EIDER A,ANTONIO J F,IÑAKI Q,et al. The Potential Use of a Gadget Model to Predict Stock Responses to Climate Change in Combination with Bayesian Networks: The Case of Bay of Biscay Anchovy [J].ICES Journal of Marine Science,2011,68(6):1257-1269.
[7] HOU Y,XIE B,LIU H. Bayesian Regularization Neural Network Model for Stock Time Series Prediction [J].International Journal of Performability Engineering,2019,15(12):3271-3278.
[8] KUMAR A S,JHA A,SHEKHAR S,et al. Prediction of Stock Prices using Random Forest and Support Vector Machines [J].International Journal of Recent Technology and Engineering (IJRTE),2019,8(4):473-477.
[9] 刘恒,侯越.贝叶斯神经网络在股票时间序列预测中的应用 [J].计算机工程与应用,2019,55(12):225-229+244.
[10] 林明松,杨晓梅,杨志霞.结构化最大间隔双支持向量机在股票预测中的应用 [J].计算机工程与应用,2024,60(11):346-355.
[11] KANG H J,ZHONG X Y,WANG J Y,et al. Binary Gravity Search Algorithm and Support Vector Machine for Forecasting and Trading Stock Indices [J].International Review of Economics and Finance,2023,84:507-526.
[12] 蔡毅,唐振鹏,吴俊传,等.基于灰狼优化的混频支持向量机在股指预测与投资决策中的应用研究 [J].中国管理科学,2024,32(5):73-80.
[13] YU H,CHEN R,ZHANG G. A SVM Stock Selection Model Within PCA [J].Procedia Computer Science,2014,31:406-412.
[14] 尹湘锋,崔浩锋,文雪婷.基于两类核函数的TSVR在股价预测中的比较 [J].统计与决策,2021,37(12):43-46.
[15] 邹婕,李路.RF-SA-GRU模型的股价预测研究 [J].计算机工程与应用,2023,59(15):300-309.
[16] 李晓寒,贾华丁,程雪,等.基于改进遗传算法和图神经网络的股市波动预测方法 [J].计算机应用,2022,42(5):1624-1633.
[17] 武大硕,张传雷,陈佳,等.基于遗传算法改进LSTM神经网络股指预测分析 [J].计算机应用研究,2020,37(S1):86-87+107.
[18] 丛敬奇,成鹏飞,赵振军.基于CEEMD-CNN-LSTM的股票指数集成预测模型 [J].系统工程,2023,41(4):104-116.
[19] 周润佳.基于深度学习的股票趋势预测算法 [J].计算机与现代化,2023(1):69-73+107.
[20] 徐月梅,王子厚,吴子歆.一种基于CNN-BiLSTM多特征融合的股票走势预测模型 [J].数据分析与知识发现,2021,5(7):126-137.
[21] 耿晶晶,刘玉敏,李洋,等.基于CNN-LSTM的股票指数预测模型 [J].统计与决策,2021,37(5):134-138.
[22] 赵红蕊,薛雷.基于LSTM-CNN-CBAM模型的股票预测研究 [J].计算机工程与应用,2021,57(3):203-207.
作者简介:李梦雨(1995—),女,汉族,湖北黄冈人,硕士在读,研究方向:应用统计学。