股市发展趋势的变化在一定程度上反应了国民经济的强弱, 因此, 几十年来, 对股市预测的研究是人们关注的重点之一. 20世纪, 国外的学者提出了ARMA系列模型, 该模型能较好地处理线性稳定性问题, 在很长一段时间里, 成为了预测研究的热点, 但是股市中遇到的大多是非平稳和非线性的, ARMA系列模型不能很好地处理这些问题. 20世纪后期, 一些学者提出ARIMA模型, 在ARIMA模型的基础上对该模型进行了改进. 以提高模型预测的精确度.
近些年来, 随着预测技术的逐步发展, 神经网络模型开始被人们应用到股价的预测研究中. 神经网络具有良好的自适应能力和较强的非线性逼近能力, 能够较好地解决股市中存在的非线性和非平稳的特点. Göçken M等[1]运用混合人工神经网络模型研究了股市指标与股市之间的关系. Adebiyi AA等[2]对ARIMA模型和人工神经网络模型进行了对比研究, 利用股票数据进行了实验, 对比了两者的预测性能. 卢辉斌等为了提高预测的准确性, 运用改进的PSO对BP神经网络进行优化[3]. 由于经典的神经网络预测模型(如BP神经网络), 使用梯度下降算法完成对权值和阈值的训练, 但是, 如果没有选择正确的初始位置, 该算法将陷入局部最小值, 无法获得全局最优解. 2004年Jaeger等[4]使用回声状态神经网络对时间序列进行了预测, 同比于之前的实验, 效果得到了显著的提高.
回声状态神经网络(ESN)是递归神经网络的一种, 递归神经网络拥有较好的非线性学习能力, 当前已成为时间序列预测的主流工具, 并且得到了学者们的认可, 但经典的ESN学习能力有限, 当用于实际问题下进行预测时, 其泛化能力有待提高.
针对以上缺点, 本文提出一种基于改进的回声状态神经网络(ESNGTP)的个股股价预测模型, 使用改进的粒子群算法(GTPSO)对ESN的输出连接权进行搜索, 获得较优输出连接权, 进而提高算法的学习能力.
GTPSO算法是在经典的PSO算法搜索的过程中, 引入了禁忌搜索算法(TS)中禁忌的思想和遗传算法(GA)中变异的思想, 降低PSO陷入局部最小值的状况, 同时提高PSO搜寻全局的能力.
2 回声状态神经网络(ESN)ESN是递归神经网络的一种, 如图1所示.
ESN有3层: 输入层、储备池和输出层, 其中ESN的储备池, 在训练过程中, 它类似于传统神经网络的隐层. 拥有
$ x\left( {t + 1} \right) = f\left( {{W_{\rm{in}}} \times u\left( {t + 1} \right) + W \times x\left( t \right) + {W_{\rm{back}}} \times y(t)} \right) $ | (1) |
$y\left( {t + 1} \right) = F({W_{\rm{out}}}[x(t + 1),u(t + 1),y(t)])$ | (2) |
ESN在训练的过程中,
ESN的核心是用大规模的递归神经网络代替传统神经网络的隐层. 某种意义上, 降低了算法因递归下降而陷入局部最小值的状况, 同时减少了训练过程中的计算量. 但是在ESN的学习过程中, 如果数据集略有偏差, 最终结果变化会较大, 存在过拟合和泛化能力降低等问题.
3 粒子群优化算法(PSO)粒子群优化算法(PSO)首先是由Kennedy等[5]在1995年提出, 该算法将搜索最优解的过程看成是鸟类觅食活动. 一群鸟在一个地区寻找食物, 假设该地区只有一个食物. 这些鸟之间相互分享信息, 并且它们知道自身的位置以及自身距离食物的位置, 但是它们不清楚食物的位置. PSO从这一活动中受到了启发, 将每只鸟看成是一个拥有速度与位置的粒子, 食物是最优位置, 寻优的问题则看成是所有粒子在多维空间中搜索的过程.
假定PSO在
${X_i}(k + 1) = {X_i}(k) + {V_i}(k + 1)$ | (3) |
${V_i}(k) \!=\! {V_i} \!+\! {c_1} \!\times \!rand \times \!({P_i}(k) \!-\! {X_i}(k)) \!+ \!{c_2} \!\times\! rand \times ({G_i}(k)\! -\! {X_i}(k))$ | (4) |
其中, k代表迭代期间的步骤,
在PSO的搜索过程中, 粒子之间会互相分享信息. 这样的分享方式可以让粒子在刚开始的时候拥有较快的收敛速度. 但是在迭代的后期, 粒子的更新受到限制, 速度变慢, 陷入局部最优的状况增大.
4 禁忌搜索算法禁忌搜索算法(TS)[7]首先是由Glover F等1986年提出, Glover在文献[8,9]中提出了大部分禁忌搜索使用的原则. 禁忌搜索算法如今被广泛使用于解决路径规划和排序等问题, 例如Zhang等利用改进后的禁忌搜索算法[10]解决了汽车排序问题.
TS模拟人的记忆思维模式, 本质上, 它是一种全局逐步最优搜索算法. 在搜索的过程中将过去搜索的方案存储在禁忌表中, 为了避免重复, 使用禁忌即禁止的方法, 这减少了搜索陷入局部最优的状况. 同时在邻域的方案中选择最优的方案, 并且引入特赦的原则, 释放符合原则的禁忌对象, 可以在一定程度上避免搜索过程中因为早熟而达到局部优化.
禁忌搜索的核心是禁止重复之前的操作, 降低陷入局部最优的概率, 但是TS容易过分依赖初始解, 同时, 还需要提高全局搜索的能力.
5 GTPSO算法思想传统的PSO在搜索的过程中容易发生群体粒子集体向当前最优解飞行的现象, 进而出现粒子过早收敛的情况, 提高了算法陷入局部最小值的状况. 为此, 提出改进的PSO算法—GTPSO算法. 通过引入TS中禁忌的思想, 使粒子逃离局部最优的束缚, 同时为了增强PSO对全局的搜寻能力, 引入GA中变异的思想, 并且根据repeatStep的变化状态来判断是否变异, 变异率
GTPSO算法思想如下:
Step 1. 初始化
Step 2. 计算PSO中每个粒子的
Step 3. 判断
Step 4. 判断当前
Step 5. 判断当前
Step 6. 用该次迭代的次优解取代
GTPSO算法思想如图2所示.
GTPSO伪代码如下:
输入: Iter, m, n, TL , Maxstep, c1, c2,
输出:
初始化:
Randomly initialize
Initialize TL
for
if
update
end if
if
repeatStep=0
for it from 1 to n
for it from 1 to m
按照
update
end for
end for
end if
if
if
用次优解取代
else 将
update TL
end if
else
for it from 1 to n
for it from 1 to m
update
update
end for
end for
end if
end for
6 改进的回声状态神经网络针对ESN的泛化能力有待提升的特点, 本文提出一种改进的回声状态神经网络算法—ESNGTP算法. Dutoit等[12]把对ESN的
首先把ESN储备池和输入神经元的数量之和作为PSO的维数. 接着把ESN的误差函数作为PSO的适应度函数, 然后将最优值作为ESN的
ESNGTP算法思想如下.
Step 1. 初始化ESN的参数以及、
Step 2. 加载数据到输入输出, 更新
Step 3. 使用GTPSO算法对
Step 4. ESN预测数据, 最终获得预测结果.
ESNGTP算法流程图如图3所示.
7 实验结果与分析 7.1 实验环境
实验计算机配置: CPU Core(TM)3.40 GHz, 内存16 GB, 显存8 GB; 操作系统: Windows7; 软件环境: Mtalab 2014.
7.2 实验数据获取实验数据的数量一定程度上影响实验的预测效果, 因此本文实验数据选取金螳螂(002018) 2012至2018年每日收盘价价格和中国石油(601857) 2013至2019年每日收盘价价格作为实验数据集. 数据源来自于同花顺, 首先对数据进行手动清理, 将缺失的数据及当日收盘价为0的数据进行清除, 选取两个个股的1152天收盘价价格作为训练数据, 选取288天收盘价价格作为测试数据. 将前10天的收盘价作为输入, 第11天的收盘价作为输出.
7.3 评价标准使用平均绝对误差(MAE)和平均绝对百分比误差(MAPE)对算法的优劣进行评估. MAE越小, 预测值与真实值之间的误差越小. 在同组数据下进行实验, 对比不同算法结果, MAPE越小, 算法性能更优.
$ MAE = \frac{1}{n}\sum\limits_{i = 1}^n {\left| {{\overline y _i} - {y_i}} \right|} $ | (5) |
$ MAPE = \frac{1}{n}\sum\limits_{i = 1}^n {\left| {\frac{{{\overline y _i} - {y_i}}}{{{y_i}}}} \right|} $ | (6) |
其中,
建立ESN模型, K, N, L分别设置为10, 500, 1, 学习因子
分别采用BP、ESN、ESN-PSO和ESNGTP算法对数据进行训练, 同时针对训练好的模型带入实验数据进行测试, 其中金螳螂(002018)测试结果如图4至图6所示, 中国石油(601857)测试结果如图7至图9所示. 为了使图像效果更加清晰, 将ESNGTP算法结果单独画出. 对预测结果展开分析:
(1) 由图5和图8可知, ESN的效果明显优于BP的预测结果, 因为ESN可以较好的寻找历史输入与输出之间的关系.
(2) 由图5和图8可知, 为了提高实验预测的精度, 在接下来的实验中对ESN的
(3) 由图4、图6、图7和图9可知, 在个股收盘价的预测上, ESNGTP相比于传统的ESN更加精准, 对抗局部收敛的能力较强, 达到了预期的效果.
将不同算法的预测结果进行分析, 结果如表1所示.
从表1可以看出ESN效果明显优于BP, 而ESN-PSO预测效果优于ESN, 此外ESNGTP算法的预测结果较好于传统的ESN和ESN-PSO, 在ESNGTP算法中, 预测精度得到提升, 解决了传统ESN泛化能力不强的问题.
8 结论
本文基于传统的ESN预测模型, 使用GTPSO算法完成对ESN的
虽然引入的变异思想和禁忌思想提高了预测的精度, 但是在迭代的过程中消耗的时间稍长, 因此在时间上的消耗有待改进. 此外, 实验中对于个股股价的预测使用的是每日收盘价的数据, 未曾考虑其他的影响因素, 下一步的工作, 需要考虑多种因素对收盘价的影响, 同时依据影响因素重要性的不同, 给与不同的影响因素相适应的权重.
[1] |
Göçken M, Özçalıcı M, Boru A, et al. Integrating metaheuristics and artificial neural networks for improved stock price prediction. Expert Systems with Applications, 2016, 44: 320-331. DOI:10.1016/j.eswa.2015.09.029 |
[2] |
Adebiyi AA, Adewumi AO, Ayo CK. Comparison of ARIMA and artificial neural networks models for stock price prediction. Journal of Applied Mathematics, 2014, 2014: 1-7. |
[3] |
卢辉斌, 李丹丹, 孙海艳. PSO优化BP神经网络的混沌时间序列预测. 计算机工程与应用, 2015, 51(2): 224-229, 264. DOI:10.3778/j.issn.1002-8331.1306-0342 |
[4] |
Jaeger H, Haas H. Harnessing nonlinearity: Predicting chaotic systems and saving energy in wireless communication. Science, 2004, 304(5667): 78-80. DOI:10.1126/science.1091277 |
[5] |
Kennedy J, Eberhart R. Particle swarm optimization. Proceedings of ICNN’95-International Conference on Neural Networks. Perth, Australia. 1995. 1942–1948.
|
[6] |
Jain NK, Nangia U, Jain J. A review of particle swarm optimization. Journal of the Institution of Engineers (India): Series B, 2018, 99(4): 407-411. DOI:10.1007/s40031-018-0323-y |
[7] |
Glover F, Laguna M. Tabu search, Handbook of combinatorial optimization. Boston: Kluwer Academic Publishers, 1998. 2093–2229.
|
[8] |
Glover F. Tabu search—Part I. ORSA Journal on Computing, 1989, 1(3): 190-206. DOI:10.1287/ijoc.1.3.190 |
[9] |
Glover F. Tabu search—Part II. ORSA Journal on Computing, 1990, 2(1): 4-32. DOI:10.1287/ijoc.2.1.4 |
[10] |
Zhang XY, Gao L, Wen L, et al. A hybrid algorithm based on tabu search and large neighbourhood search for car sequencing problem. Journal of Central South University, 2018, 25(2): 315-330. DOI:10.1007/s11771-018-3739-2 |
[11] |
李宁, 刘飞, 孙德宝. 基于带变异算子粒子群优化算法的约束布局优化研究. 计算机学报, 2004, 27(7): 897-903. DOI:10.3321/j.issn:0254-4164.2004.07.005 |
[12] |
Dutoit X, Schrauwen B, Van Campenhout J, et al. Pruning and regularization in reservoir computing. Neurocomputing, 2009, 72(7–9): 1534-1546. |