1. 引言
随着金融市场全球化和数字化的深入发展,股价的转变不仅受到企业内部影响因素的影响,还受到宏观经济环境、政策变化、市场情绪等外部因素的驱动。因此,能够准确预测股价走势对市场参与者来说至关重要。对于投资者来说,股价的准确预测能够让其更好地把握股价的发展趋势,避免掉一些未来风险;对于监管机构来说,股价的准确预测能够帮助其预警和应对潜在的系统风险,从而能够维护金融体系的安全性和稳定性,确保股票市场稳定发展,保护投资者利益;对于企业来说,股价预测有助于评估市场对公司战略的反应,从而优化资本运作和业务决策。此外,股价预测还能提升金融市场的透明度和稳定性,促进金融体系的健康发展,因此,股价的分析与预测一直是金融领域研究的热点。
2. 文献综述
历史上的金融市场活动表明,股票市场在某种程度上具有可预测性[1]。在国内外的研究中,布林带和MACD一直被视为进行价格预测的关键技术指标,Kannan和Sekar等人指出布林带能够在一定程度上预测股票的收盘价[2],Wang和Kim通过应用平滑异动移动平均线(MACD)有效预测了股票的市场价格[3]。股票价格作为时间序列数据,国内外学者也广泛采用自回归综合移动平均线(ARIMA)模型进行预测,其通过捕获数据中的标准时间结构来处理时间序列数据,Ariyo和Ayo等人[4]、刘红梅[5]以及吴玉霞和温欣[6]等学者都采用此模型进行股价预测,该模型也基于实验得出了可接受的结果。然而,尽管其在线性分析中具有强大的功能,但由于缺乏对历史数据之间依赖关系的充分建模,类似ARIMA的时间序列模型无法处理股价数据中的非线性部分。
近年来,随着人工智能理论和技术的快速发展,越来越多的研究人员将人工智能方法应用于股价预测。另外,在自然语言序列、蛋白质序列、交通流量序列等领域,序列建模问题在人工智能研究中具有重要性[7] [8]。其中最典型的人工智能方法是神经网络,它具备强大的非线性泛化能力。庞德鹏通过构建支持向量回归模型、随机森林回归模型、K近邻回归模型、长短期记忆网络(LSTM)模型对股票收盘价进行预测,通过实验结果对比证实长短期记忆网络模型在股票预测方面精度优于传统机器学习模型[9]。
本文中研究的股票价格数据同时具有线性和非线性特征,而ARIMA模型和LSTM模型能够分别捕获数据中的线性特征和非线性特征,且在股票价格预测方面综合运用ARIMA模型与LSTM模型相结合的研究相对较少,基于此,本文采用ARIMA-LSTM的组合预测模型进行预测,该组合模型与单一模型相比在预测精度方面有所提高。
3. 相关模型原理介绍
3.1. ARIMA模型
ARIMA模型作为传统的预测模型之一,在时间序列的预测上已被广泛应用。ARIMA模型有三个主要参数分别为p、d、q,因此ARIMA模型可写为ARIMA (p, d, q),其中,p为自回归阶数,d为使原始数据成为平稳序列所需做的差分次数,q为移动平均阶数。传统ARMA (p, q)模型适用于平稳时间序列数据的预测,而ARIMA (p, d, q)模型适用于差分后为平稳时间序列数据的预测,因此,ARIMA (p, d, q)模型相当于做了差分后的ARMA (p, q)模型。该模型先通过d阶差分将非平稳序列变为平稳序列,然后使用ARMA (p, q)模型进行拟合[10]。ARMA (p, q)模型的数学表达式如下:
(1)
其中,X为时间序列t时刻的值,
代表自回归系数,p代表自回归阶数,
代表移动平均系数,q代表移动平均阶数,
代表残差白噪声序列。
ARIMA模型包括平稳性检验、模型定阶、白噪声检验、模型预测等部分。ARIMA模型的具体建模流程如图1所示:
Figure 1. ARIMA model modeling flowchart
图1. ARIMA模型建模流程图
3.2. LSTM模型
LSTM网络是循环神经网络(RNN)的一种特殊变体,针对RNN的不足进行了改进。传统的RNN不仅容易出现梯度爆炸或梯度消失的问题,还难以处理长时间依赖关系。作为RNN的增强版本,LSTM通过引入“门”机制,实现了时间上的记忆功能。这使得LSTM不仅有效克服了RNN在处理长时依赖时的局限性,也缓解了梯度消失的问题。LSTM网络通过使用记忆单元和三个主要的“门”——遗忘门、输入门和输出门,分别控制信息的遗忘、输入和输出,从而优化信息处理和储存的方式[11]。LSTM网络单元结构图如图2所示。
Figure 2. LSTM network unit structure diagram
图2. LSTM网路单元结构图
设
为信息输入,
为隐藏状态。
遗忘门(Forget Gate):判断来自前一时刻的细胞状态
中的信息是被记住还是不相关并且可以被遗忘。将前一时刻的隐藏状态
和当前时刻的信息
同时输入,通过Sigmoid激活函数将数据变为0到1之间的数,当
的值为0时,则网络将忘记所有内容,当
的值为1时,则网络不会忘记任何内容,具体函数表达式如下:
(2)
其中,F表示遗忘门,
表示激活函数,
和
分别为
和
的权重参数,
为偏置参数。
输入门(Input Gate):尝试从输入中学习重要信息,用于更新细胞状态。输入门的状态更新分为两个过程,第一个过程是将输入的信息通过Sigmoid激活函数将数据变为0到1之间的数,以此来决定需要被更新的部分。第二个过程是将输入信息传递到tanh激活函数,生成一个新的候选向量
。最后将遗忘门输出和上一时刻细胞状态相乘加上输入门两部分的乘积来更新细胞状态。具体函数表达式如下:
(3)
(4)
(5)
其中,I表示输入门,
和tanh表示激活函数,
、
、
、
分别为
和
的权重参数,
、
为偏置参数,C表示细胞状态。
输出门(Output Gate):单元将更新的信息从当前时刻传递到下一时刻。输出门也由两个过程组成,第一过程是通过Sigmoid激活函数对数据输出范围进行控制,第二个过程是将当前细胞状态通过tanh激活函数来控制输出范围,最后通过这两部分乘积来更新当前时刻隐藏状态输出。具体函数表达式如下;
(6)
(7)
其中,O表示输出门,
和tanh表示激活函数,
、
分别为
和
的权重参数,
为偏置参数,C表示细胞状态,H为当前时刻隐藏状态输出。
3.3. ARIMA-LSTM组合模型
研究的股价数据既具有线性变化趋势,又具有非线性变化趋势。而单一预测模型具有一定的局限性,对于股价预测效果不够理想,针对此问题,本文采用了一种ARIMA-LSTM组合预测模型来对股价数据进行预测。首先使用ARIMA模型对股价序列数据进行预测,从中提取线性趋势部分。然后,将预测误差(残差)作为输入传递给LSTM神经网络,利用LSTM模型对这些残差进行进一步的非线性预测。具体而言,ARIMA模型用于筛选和过滤股价数据中的线性趋势部分,残留的非线性部分则包含在ARIMA模型的残差中。接下来,LSTM模型通过训练残差数据,输出对非线性趋势的预测结果。最后,将ARIMA和LSTM模型的预测结果相加,得到最终的组合模型预测结果,以此修正ARIMA模型的预测偏差[12]。
ARIMA-LSTM组合模型建模流程如图3所示:
Figure 3. Process diagram of composite model modeling
图3. 组合模型建模流程图
其中,
为输入序列值,
为ARIMA模型输出的残差,
为ARIMA模型输出的除去残差部分值,
为LSTM模型输出值,
为组合模型最终预测值。
4. 实验
4.1. 数据来源
本文的实验数据选取贵州茅台(600519) 2018年1月2日到2023年12月29日之间的每个交易日的日收盘价进行实验,共计1457条数据,数据来源于东方财富Choice金融终端。原始数据的时间序列图如图4所示。
4.2. 数据分析
对于时间序列数据,首先需要进行平稳性检验,本文采用了ADF(Augmented Dickey-Fuller)检验方法,并对原始序列和一阶差分序列进行了检验。结果在表1和表2中。ADF检验表明,原始序列是非平稳的,一阶差分序列是平稳的,一阶差分序列图如图5所示。ADF的T检验值(第一个值)同时小于1%、5%、10%即成功拒绝了平稳性假设。对于所分析的数据,ADF检验的结果为−1.3998,这个值大于所考虑的三个显著性水平的统计值。因此,我们可以得出结论,原始数据是具有非平稳性的。而对原始数据进行一阶差分后,其ADF检验的结果为−10.8169,这个值小于所考虑的三个显著性水平的统计值,由此可得一阶差分数据具有平稳性。
Figure 4. Original data time series diagram
图4. 原始数据时间序列图
Table 1. ADF test of the original sequence
表1. 原始序列的ADF检验
度量标准 |
值 |
ADF统计量 |
−1.3998 |
p值 |
0.5824 |
临界值(1%) |
−3.435 |
临界值(5%) |
−2.864 |
临界值(10%) |
−2.568 |
Table 2. ADF test of first-order difference
表2. 一阶差分的ADF检验
度量标准 |
值 |
ADF统计量 |
−10.8169 |
p值 |
0.0000 |
临界值(1%) |
−3.435 |
临界值(5%) |
−2.864 |
临界值(10%) |
−2.568 |
Figure 5. First order difference diagram
图5. 一阶差分图
4.3. 模型对比
4.3.1. ARIMA模型股价预测
通过前述的分析,我们可以得到原始序列是非平稳的,对其一阶差分后得到的数据是平稳的,由此可以确定d = 1,接下来通过一阶差分序列的自相关图(ACF)和偏自相关图(PACF)来确定参数q和p,由图6可以得到其ACF图是截尾的,在order = 2时截尾,由此可以选定MA (2),其PACF是截尾的,在order = 2时截尾,由此可以选定AR (2),从而可以确定参数p = 2,q = 2,选定的模型为ARIMA (2, 1, 2)。
我们将数据划分为训练集和测试集,将2022年10月21日前的数据作为训练集,该时间点后的数据作为测试集,将数据带入ARIMA模型中进行数据预测,图7为应用ARIMA模型对2022年10月21日到2023年12月29日的股票收盘价进行预测的结果对比图。
4.3.2. LSTM模型股价预测
由于原始数据不能直接输入到LSTM模型中,因此需要对数据进行归一化处理。归一化的目的就是使得预处理的数据被限制在一定范围内,使得不同维度的数据能够在数值本身上进行比较。本文采用的归一化方法是Min-Max方法,该方法通过线性变换,能够使数值映射到0到1之间。具体公式如下:
(8)
其中,
表示单个数据的取值,
表示数据所在列的最小值,
表示数据所在列的最大值。
搭建LSTM模型,划分数据的前80%作为训练集,其余的数据作为测试集,使用pytorch来实现预测,采用Python进行程序编写,定义的LSTM包含3个隐藏层,每层64个神经元,学习率为0.01,优化函数为Adam函数,损失函数为MSE,训练次数为100次。图8为LSTM模型预测结果。
Figure 6. ACF (above) and PACF (below) diagrams of first-order difference sequences
图6. 一阶差分序列的ACF (上图)和PACF (下图)图
Figure 7. ARIMA model prediction results
图7. ARIMA模型预测结果图
Figure 8. LSTM model prediction results
图8. LSTM模型预测结果图
4.3.3. ARIMA-LSTM模型股价预测
在ARIMA模型和LSTM模型基础上,提出了ARIMA-LSTM组合预测模型,首先采用ARIMA模型对股价数据进行预测,然后将预测误差(残差)输入到LSTM模型中进行预测,最后将ARIMA模型的预测结果与LSTM模型的残差预测相加,得到最终的预测值,图9为ARIMA-LSTM组合模型预测结果。
Figure 9. ARIMA-LSTM model prediction results
图9. ARIMA-LSTM模型预测结果图
4.4. 模型评价指标
由三个预测结果图可以得出ARIMA线性模型由于只考虑了线性因素,而没有考虑非线性因素,预测结果与真实值之间的差异非常大,LSTM非线性模型的拟合效果虽然优于ARIMA线性模型,预测精度得到一定提升,但预测结果与真实值之间还有较大差异。ARIMA-LSTM组合预测模型,既考虑了线性因素的影响,又考虑了非线性因素的影响,其预测效果优于单一模型的预测效果。
为了更加直观地比较不同模型之间的预测效果,本文使用了平均绝对误差(Mean Absolute Error, MAE)、平均绝对百分比误差(Mean Absolute Percent Error, MAPE)和均方根误差(Root Mean Square Error, RMSE)作为模型性能评价指标。具体表达式如下所示:
(9)
(10)
(11)
其中,
表示预测值,
表示真实值,n为样本总量。评价指标用来表现预测值与真实值之间的差距,值越小,模型精度越高,预测效果越好。本实验三种预测模型评价指标结果对比如表3所示。
Table 3. Comparison of evaluation index results of three prediction models
表3. 三种预测模型评价指标结果对比
模型 |
MAE |
MAPE |
RMSE |
ARIMA |
145.9401 |
0.0865 |
160.0004 |
LSTM |
35.6168 |
0.0219 |
46.9236 |
ARIMA-LSTM |
31.2300 |
0.0192 |
41.7794 |
从表3可以看出,在3种误差评价指标中,ARIMA-LSTM组合预测模型的误差均低于其他两种单一模型的误差。与ARIMA模型和LSTM模型相比,ARIMA-LSTM组合预测模型的MAE分别降低了78.60%和12.32%,MAPE分别降低了77.80%和12.33%,RMSE分别降低了73.89%和10.96%。从上述实验数据可以看出,本文所采用的ARIMA-LSTM组合预测模型与单一的ARIMA模型和LSTM模型相比,该模型的预测精度有所提高。
4.5. 数据对比实验
经过前述的分析已经知道ARIMA-LSTM组合模型比单一模型的预测精度好,但只是在贵州茅台的数据上实现的,为了探究其是否也适应于其他数据,本文采取良品铺子(603719) 2020年2月24日到2023年12月29日之间的每个交易日的日收盘价数据和比亚迪(002594) 2018年1月1日到2023年12月29日之间的每个交易日的日收盘价数据进行验证,得出的结果如表4所示,数据来源于东方财富Choice金融终端。
从表4可以看出,在两个数据集下,都是ARIMA-LSTM组合模型的评价指标小于两个单一模型,这与在贵州茅台数据下所进行的实验结果一致,表明ARIMA-LSTM组合模型适用于其他数据,该模型具有一定的泛化能力。
Table 4. The results of evaluation indexes of the three models were compared under different data
表4. 三种模型在不同数据下评价指标结果对比
模型 |
良品铺子 |
比亚迪 |
MAE |
MAPE |
RMSE |
MAE |
MAPE |
RMSE |
ARIMA |
10.5152 |
0.4634 |
11.3598 |
16.5552 |
0.0735 |
23.9352 |
LSTM |
5.2808 |
0.2367 |
5.8107 |
6.1401 |
0.0265 |
8.0494 |
ARIMA-LSTM |
4.2297 |
0.1901 |
4.6923 |
5.3325 |
0.0229 |
6.8809 |
5. 结论
我们研究了股价预测问题,采用了一种基于ARIMA-LSTM的股价组合预测模型。通过实验结果分析和比较表明,该组合预测模型相较于单一的ARIMA模型和LSTM模型,既考虑了股价数据的线性特征,又考虑到了非线性特征,因而预测精度相较于单一模型预测精度有所提高,并且经过不同数据的对比实验表明ARIMA-LSTM组合模型具有一定的泛化能力。模型预测精度的提高,极大地提高了对未来股价数据预测的准确性,有利于投资者把握买卖时机,优化投资组合,提升投资收益的同时有效规避风险;股价反映了市场对公司战略的预期,准确的股价预测有助于企业管理者优化资本运作、融资决策以及并购策略。此外,股价预测还能提高金融市场的透明度,促进市场稳定,帮助监管机构识别潜在风险并采取相应措施。因此,股价预测不仅影响个体决策,还对金融市场的健康发展至关重要。但由于所提出的组合预测模型是基于神经网络的模型,所以在神经网络优化方面还存在一定的提升空间,在后续的研究中可以继续完善该预测模型,进一步提高模型的预测精度,使该模型能够应用于其他领域。