1. 引言
随着全球经济的快速发展和金融市场的日益成熟,股票市场成为了众多投资者的重要投资渠道之一。股价作为股票市场中最为关键的指标,其波动性和不可预测性吸引了大量的研究兴趣。在股票市场中,准确的股价预测对于投资者的决策制定和金融机构的风险管理具有重要意义。随着金融市场的复杂性和不确定性的增加,传统预测方法在应对非线性数据时存在一定局限性。因此,探索更加高效和精准的股价预测方法成为当前金融研究的一个重要方向。
近年来,深度学习技术在各个领域取得了显著进展,门控循环单元(Gated Recurrent Unit, GRU)解决了循环神经网络(Recurrent Neural Network, RNN)存在的梯度爆炸问题,因其在处理时间序列数据方面的优越性能而受到广泛关注。然而,GRU模型的预测效果在很大程度上依赖于其参数的优化,为了解决这一问题,本研究提出了一种改进的河马优化算法,寻找最优参数组合以提升GRU模型在股价预测中的表现,更好地捕捉股价变化的规律。
本研究的创新之处在于结合改进的河马优化算法与GRU模型,以提升股价预测的精度和稳定性。本文将使用中信银行2018年4月10日到2024年4月10日的历史数据,构建IHO-GRU模型,通过对比实验和模型评估,期望为投资者和金融机构提供更加可靠的决策支持,促进优化算法和深度学习在金融领域的应用和发展。
2. 文献综述
股票预测的传统方法包括VAR、ARIMA和GARCH模型等,许伟和周园媛[1] (2021)结合VAR和GARCH模型,系统分析了多种宏观经济变量对新能源股价的影响,提供了较为全面的研究视角。万睿[2] (2022)采用GARCH模型根据沪深300指数对股市波动性推理预测,考虑了时间序列中的异方差性,具有较高的实际应用价值。翁紫霞[3] (2023)使用ARIMA模型对建设银行的股价进行了短期预测,结果显示模型对短期内股价变化具有较高的预测准确性。
由于股票数据存在一定的波动性和干扰因素的影响,传统方法在应对股票数据时存在一定局限性。同时随着人工智能等前沿技术的兴起,机器学习方法被广泛应用于股价预测以及交易决策的研究中。尹湘锋等[4] (2021)采用了孪生支持向量机(TSVR)这一较新的机器学习方法,对股票价格进行预测,使用两种不同的核函数并通过遗传算法和粒子群优化算法进行参数优化,相较于传统方法具有更好的泛化性能和计算效率。孙丽丽等[5] (2021)通过网格搜索算法优化XGBoost (Extreme gradient boosting)模型的参数,选取了贵州茅台的实际的股票数据,尤其是在疫情期间的数据,验证了模型在应对突发事件时的预测能力,具有较强的实际应用价值。
近年来,随着深度学习的发展,神经网络由于其强大的学习能力和非线性拟合能力,在股价预测中得到了广泛应用。牛红丽和赵亚枝[6] (2022)通过创新性地结合Bagging算法和GRU神经网络,将Bagging算法引入GRU神经网络的训练过程,验证了模型在不同市场上均具有更高的预测准确性和稳定性.向朝菊[7] (2023)将灰狼优化算法(Grey Wolf Optimizer, GWO)与BP神经网络结合,利用GWO优化BP神经网络的权重和偏置,使用了今创集团的股票数据进行实证分析,证明优化算法与神经网络结合的有效性。韩金辰等[8] (2023)对多种深度学习模型进行了分类和扩展,包括卷积神经网络(Convolutional Neural Network, CNN)、长短期记忆网络(Long Short-Term Memory, LSTM)、门控循环单元(GRU)及其组合模型,展示了不同深度学习模型在股票预测中的实际应用效果,验证了深度学习技术在处理复杂和大量数据方面的优势。
3. 理论介绍
3.1. 河马优化算法
河马优化算法(Hippo Optimization Algorithm, HO)是由Mohammad于2024年提出的较新的群智能优化算法[9],该算法受河马在自然环境中行为的启发。由于HO算法是基于随机搜索的元启发式算法,存在收敛速度慢,容易陷入局部最优而难以跳出等缺点。针对上述出现的问题,采用Sine混沌映射[10]和精英反向学习策略[11]提高初始种群的质量,引入非线性递减策略[12],调整步长,在河马优化算法能够在全局搜索和局部搜索之间取得平衡。河马优化算法主要分为三部分:位置更新、防御阶段和躲避阶段。
HO的初始化阶段涉及随机初始解的生成,决策变量初始化阶段的生成公式
(1)
其中r为(0, 1)内的随机数,
和
分别为第j个维度的上界和下界。
阶段一主要关注河马在水域中的位置更新,这一阶段模拟河马群体的社会结构和动态变化。雄性河马的位置更新公式
(2)
其中
表示第i只河马在第j维的位置,
是统治雄性河马的位置,
是[0, 1]区间内的随机数,
代表距离减少的因子。雌性或未成熟的河马的位置更新公式
(3)
(4)
(5)
其中
是[1, 2]区间内的整数,
表示从群体中随机选择的一些河马的平均位置,
和
均是一个[0, 1]区间内的随机数,
和
是随机抽取的数字或者向量。下式描述河马在群体中的位置更新
(6)
阶段二主要模拟河马在面临掠食者威胁时的防御行为,通过模拟河马的防御行为来避免算法陷入局部最优解,捕食者位置表示为
(7)
其中
是一个在[0, 1]范围内的随机向量。
河马对掠食者的反应
(8)
其中
是具有莱维分布的随机向量,用于模拟在遭遇掠食者攻击时河马的快速变动行为,f,c,d,g是随机数,用于控制河马反应的强度和方向。使用下面公式更新第i只河马位置
(9)
第三阶段是关于河马逃离掠食者的行为,这一阶段专注于在解空间中进行有效的局部搜索,以提高解决方案的精确度和质量。河马逃跑位置更新:
(10)
(11)
3.2. 改进策略
3.2.1. Sine混沌映射
Sine混沌映射(Sine Chaotic Map)是一种常用的混沌映射方法,通过正弦函数生成混沌序列增强优化算法的种群多样性。Sine混沌映射通过以下递推公式生成混沌序列:
(12)
其中
是第n次迭代的值,
是第
次迭代的值,a是混沌参数。
根据混沌序列进行逆映射,可得到种群初始位置的解
(13)
其中
为由Sine混沌映射产生的河马个体初始位置。
3.2.2. 精英反向学习策略
精英反向学习策略基于反向学习的概念,从当前种群和对立种群选择最优秀的个体作为初始种群,增强算法的全局搜索能力,提高初始种群的质量。
假设
是第t次迭代产生的一个初始种解,
为其对应的反向解,
为目标函数,用于衡量解的质量。
(14)
其中r是(0, 1)的随机数,
和
分别为第j维度上的最小值和最大值,
是由精英群体构造的区间。
3.2.3. 非线性递减策略
非线性递减策略动态调整河马移动步长,旨在河马优化算法能够在全局搜索和局部搜索之间取得平衡。因此在防御捕食者阶段引入非线性递减参数
,动态调整河马的移动步长RL,改善由于随机步长导致HO的寻优结果不稳定。
(15)
引入非线性递减策略的河马对掠食者的反应的位置更新
(16)
3.3. 门控循环单元
门控循环单元是在保留了LSTM存储长期状态能力的同时,参数数量少,训练速度快,大大降低了计算复杂度。GRU能够捕获不同时间尺度上的依赖关系,充分利用时间序列数据的内在特征,解决RNN中存在的梯度爆炸问题。一个GRU单元可以定义为:
(17)
(18)
(19)
(20)
其中
为更新门,指定前一状态下记忆的信息在下一状态保存量;
是重置门,指定如何将前一状态的信息与新的输入信息相结合;
是当前时刻的输出值,
表示当前时刻的隐藏状态信息。
4. 仿真实验与结果分析
为了检测改进的河马优化算法的性能,使用基准测试函数[13]比较不同算法的表现。采用平均值和最优值全面评估优化算法的表现。选取了10个基准测试函数和其他6个优化算法:改进的河马优化算法(IHO)与原始河马优化算法(HO)、麻雀搜索算法(Sparrow Search Algorithm, SSA) [14]、海洋捕食者算法(Marine Predators Algorithm, MPA) [15]、蜜獾优化算法(Honey Badger Algorithm, HBA) [16]、灰狼优化算法(Grey Wolf Optimizer, GWO) [17]、正余弦优化算法(Sine Cosine Algorithm, SCA) [18]与哈里斯鹰优化算法(HHO) [19]。为了保证实验的公平性与可靠性,在相同的条件下对所有的算法进行测试。每个算法在每个测试函数上随机运行30次,种群大小设置为30,迭代500次,测试函数的维度为30。测试函数如表1。
4.1. 模拟结果分析
8个优化算法在10个基准测试函数的表现如表2所示,其中Avg代表优化算法的寻优平均值,Best代表算法的最优值。优化算法在测试函数上独立运行30次后,实验结果如表2所示。
Table 1. Testing function
表1. 测试函数
函数 |
定义域 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Table 2. Test function results
表2. 测试函数结果
|
指标 |
IHO |
HO |
SSA |
MPA |
HBA |
GWO |
SCA |
HHO |
F1 |
Avg |
0.00E+00 |
0.00E+00 |
5.20E−61 |
4.44E−23 |
1.28E−135 |
1.43E−27 |
9.2697 |
6.09E−96 |
|
Best |
0.00E+00 |
0.00E+00 |
0.00E+00 |
7.02E−25 |
5.48E−146 |
1.31E−29 |
7.84E−03 |
7.90E−114 |
F2 |
Avg |
1.40E−240 |
3.44E−184 |
2.93E−28 |
2.72E−13 |
3.98E−72 |
1.22E−16 |
4.39E−02 |
3.17E−49 |
|
Best |
8.33E−259 |
2.15E−194 |
1.32E−193 |
1.83E−14 |
6.65E−76 |
1.48E−17 |
6.89E−05 |
9.59E−61 |
F3 |
Avg |
0.00E+00 |
0.00E+00 |
5.80E−25 |
7.57E−04 |
7.83E−94 |
7.92E−06 |
9.79E+03 |
8.54E−70 |
|
Best |
0.00E+00 |
0.00E+00 |
3.78E−97 |
6.17E−10 |
1.88E−105 |
9.90E−08 |
1.75E+03 |
1.78E−98 |
F4 |
Avg |
5.84E−235 |
4.48E−184 |
1.22E−30 |
3.66E−09 |
3.60E−57 |
8.10E−07 |
3.75E+01 |
6.22E−49 |
|
Best |
1.22E−263 |
6.59E−194 |
8.25E−284 |
1.12E−09 |
7.92E−60 |
5.70E−08 |
1.62E+01 |
9.09E−58 |
F5 |
Avg |
3.11E−05 |
9.50E−02 |
3.52E−05 |
2.53E+01 |
2.41E+01 |
2.71E+01 |
2.80E+05 |
1.68E−02 |
|
Best |
5.59E−10 |
2.05E−05 |
8.33E−10 |
2.44E+01 |
2.31E+01 |
2.59E+01 |
4.20E+01 |
4.23E−05 |
F6 |
Avg |
0.00E+00 |
0.00E+00 |
0.00E+00 |
0.00E+00 |
0.00E+00 |
0.00E+00 |
1.68E+01 |
0.00E+00 |
|
Best |
0.00E+00 |
0.00E+00 |
0.00E+00 |
0.00E+00 |
0.00E+00 |
0.00E+00 |
0.00E+00 |
0.00E+00 |
F7 |
Avg |
1.13E−04 |
1.67E−04 |
1.67E−03 |
1.38E−03 |
3.36E−04 |
1.87E−03 |
1.51E−01 |
1.96E−04 |
|
Best |
6.03E−06 |
2.25E−05 |
3.62E−05 |
2.52E−04 |
5.22E−05 |
6.90E−04 |
9.81E−03 |
2.18E−05 |
F8 |
Avg |
0.00E+00 |
0.00E+00 |
1.18E−53 |
3.78E−61 |
1.72E−300 |
9.89E−97 |
1.53E−04 |
6.22E−125 |
|
Best |
0.00E+00 |
0.00E+00 |
1.10E−189 |
8.75E−68 |
2.47E−323 |
7.45E−108 |
2.30E−10 |
5.83E−143 |
F9 |
Avg |
0.00E+00 |
0.00E+00 |
8.60E−60 |
6.68E−24 |
5.85E−136 |
1.99E−28 |
2.23E+00 |
1.15E−94 |
|
Best |
0.00E+00 |
0.00E+00 |
0.00E+00 |
1.04E−26 |
2.39E−143 |
1.82E−30 |
7.75E−05 |
3.79E−111 |
F10 |
Avg |
0.00E+00 |
0.00E+00 |
1.64E−29 |
3.12E−17 |
2.19E−121 |
9.13E−22 |
1.57E+07 |
2.88E−88 |
|
Best |
0.00E+00 |
0.00E+00 |
2.39E−137 |
5.68E−20 |
5.20E−132 |
3.23E−23 |
1.24E+04 |
2.74E−110 |
从表2可以看出,在上述10个测试函数上,IHO的表现能力均为最好,意味着在30次独立实验中,IHO的寻优性能强于其他的智能优化算法,表明其在处理各种类型优化问题时具有广泛的适用性。在上述测试函数表现上,SCA算法的性能最差,它的平均值、标准差和最优值是8个算法中距离理论值最远的。
4.2. 收敛曲线分析
迭代曲线的斜率是评价优化算法性能的一个重要指标。通过分析斜率的陡峭程度、变化趋势和波动情况,可以深入理解算法的收敛速度、搜索效率、稳定性和整体优化行为。图1是8种算法在部分基准测试函数上的迭代收敛图,横坐标代表迭代次数,纵坐标代表迭代过程的适应度函数值,最终收敛时的适应度值越小,代表算法的寻优精度越高。对于测试函数F1和F9可以看出,IHO算法虽然与HO算法在三个指标上的表现相当,均优于其他6个算法,且两个算法都达到了理论最优值。但是很明显IHO算法具有更快的寻优速度。
Figure 1. Test function convergence curve
图1. 测试函数收敛曲线
5. 实证研究
5.1. 数据选取
在股票价格预测中,通常参考开盘价、收盘价、最高价和最低价四个指标。然而,股价在股市中是时变的,不同时间点的供求关系通过最高价和最低价来反映,这使得它们不适合用于整体股价预测。开盘价是前一日的收盘价,反映了前一天的供求关系,而收盘价则代表了整个交易日结束时的价格,是股票投资者对当日价格走势的最终判断。因此,本文选择收盘价作为股票预测的变量,以此更准确地反映投资者对股价的总体评价和市场趋势。
本研究使用了东方财富的数据作为数据来源,选择中信银行2018年4月10日到2024年4月10日的股票数据,股票代码601998,采用中信银行的股票数据集的前80%作为训练集用于模型训练,剩下的20%则用作测试集来验证模型的泛化能力。
5.2. 模型评估标准
实验采用均方根误差(RMSE)、平均绝对误差(MAE)、平均绝对百分比误差(MAPE)作为模型的评价指标。这些指标的值越小,表示模型在测试集上的性能越好。
5.3. 模型预测结果对比分析
用上述改进的优化算法构建IHO-GRU模型预测中信银行的收盘价,采用GRU、LSTM模型作为对比,观察不同模型对股价预测的结果,如表3所示。
图2为股票真实值与预测值的对比折线(蓝色线条为股票真实收盘价,红色线条为模型预测价格)。结合表和图来看,本文构建的模型能够更精确地预测股票价格,且在三个指标上表现均为最佳。
Table 3. Results of prediction model evaluation index
表3. 预测模型评价指标结果
算法 |
RMSE |
MAE |
MAPE |
IHO-GRU |
0.1124 |
0.0738 |
1.2316 |
GRU |
0.1131 |
0.0745 |
1.2344 |
LSTM |
0.1141 |
0.0747 |
1.2391 |
Figure 2. IHO-GRU model prediction results
图2. IHO-GRU模型预测结果
6. 结论
本文利用改进的河马优化算法(IHO)优化门控循环单元(GRU)模型,以提高股价预测的准确性和稳定性。研究结果表明,采用改进的河马优化算法后,GRU模型在预测股票收盘价时表现出更高的精度和更好的稳定性。具体而言,改进后的GRU模型能够更有效地捕捉股价的时间序列特征,减小预测误差。
本研究不仅丰富了股价预测方法的理论体系,也为实际金融投资提供了有价值的参考。未来的研究可以进一步探索其他先进的优化算法和深度学习模型的结合,以持续提升股价预测的效果。
基金项目
贵州省数据驱动建模学习与优化创新团队项目(黔科合平台人才[2020]5016)。