APP下载

一种基于麻雀搜索算法的改进极限学习机股票预测

2021-10-08裴均珂

锦绣·上旬刊 2021年11期

裴均珂

摘要:股票的价格受多种因素影响,为提高股票价格的预测精度,本文提出一种基于麻雀搜索算法的改进极限学习机的预测方法。根据股票市场相关指标,利用TSLA的股票数据资料,运用MATLAB软件进行仿真实验,并将SSA-ELM算法的仿真结果与ELM算法的仿真结果进行比较。结果表明:改进的算法模型预测误差较小,预测精度较高,能够在一定程度上反映股票价格波动趋势。

关键词:麻雀搜索算法;极限学习机;股票预测

1.引言

股票交易市场在中国金融市场中发挥着重要作用,股票市场的预测结果可以作为投资者获利和规避风险的重要参数,同时也能为监管者稳定股市提供思路,因此学者们希望通过科学的方法,得到股价的波动规律。

股价大多是很难处理的海量数据,传统的预测方法无法分析关键信息,要想进行更好的预测,需要考虑非线性的股票预测方法。鹿天宇等[1]提出一种主成分分析与神经网络进行组合的模型,进一步提高求解精度。季阔[2]改进了权值公式,同时对算法进行改进,在一定程度上解决了容易陷入局部最优的问题。郭怡然,王秀丽[3]引入了遗传算法对神经网络模型进行改进,但是所选取的指标数量相对较少。Zhang等[4]将LSTM作为生成器,MLP作为判别器对股票预测模型进行改进,得到的结果错误率较少,然而,当采用MLP作为判别器时,深层次的神经网络容易导致分类的准确性降低。

为此本文提出一种基于麻雀搜索算法的改进极限学习机股票预测模型,利用麻雀搜索算法[5]对初始权值和阈值进行优化,构建了基于麻雀搜索算法优化极限学习机的预测模型,并选择股票数据相关指标,结合TSLA历史数据进行回归预测和分析。

2.麻雀搜索算法和极限学习机

2.1极限学习机

极限学习机网络模型由三部分组成,即输入层、隐含层与输出层,层与层神经元之间全相连。主要步骤如下:

(1)确定隐含层神经元个数,随机初始化输入层与隐含层之间的连接权值w和隐含层神经元的阈值a;

(2)选用Sig作为隐含层激活函数,计算隐含层输出矩阵H;

(3)计算输出层权值,T是期望的输出向量:。

2.2麻雀搜索算法

麻雀搜索算法是受到麻雀觅食行为的启发,主要过程包括初始化种群;发现者位置更新;加入者位置更新;预警者位置更新;适应度值更新。

3.基于麻雀搜索算法优化的极限学习机

首先将数据分成训练集和数据集,利用麻雀搜索算法優化ELM随机给定的初始权值和阈值。训练集误差的损失函数作为适应度函数:

优化后的最佳初始权值和阈值用于网络训练和测试数据集。具体步骤如下:

(1)初始化参数;

(2)进行ELM训练获取均方误差作为麻雀种群的适应度值;

(3)计算每只麻雀的适应度值,找出当前全局最优适应度值及对应的位置;

(4)更新麻雀种群位置;

(5)更新最优麻雀位置和最优的适应度值;

(6)判断是否达到终止条件;

(7)若已经达到终止条件,获取优化后的相关参数;若没有达到终止条件,则继续进行迭代;

(8)进行ELM仿真测试。

4.仿真实验与结果分析

本节采用MATLAB 2016a仿真软件,基于Intel core i5-7200U @2.50GHz双核处理器,64位win10系统完成算法的设计。

4.1样本数据选取

本文选取2010年6月29日到2018年9月28日的TSLA股票日数据进行研究。选取最高价、最低价、开盘价、收盘价和成交量5个指标进行观察,其中收盘价作为输出数据,其余作为输入数据。

4.2结果分析

为了验证SSA-ELM模型对于股票指数的预测能力,本文将麻雀算法优化后的SSA-ELM与基础ELM进行了比较,前1978天的数据作为训练数据,后101天的数据作为测试数据。实验结果表明ELM对于结果预测来说有一定的准确性,但是相比来说,SSA-ELM对结果的预测更为准确。另外SSA-ELM的输出绝对误差大部分都在之间,而ELM的绝对误差较为明显,故改进的算法预测结果具有一定的可靠性。同样从SSA-ELM的收敛曲线可知,最终的适应度函数最优值在左右,且显示收敛速度较快,表明SSA-ELM模型具有有着较好的收敛速度和训练精度。

ELM试验结果测试集MSE误差为3.7853,SSA-ELM试验结果测试集MSE误差为2.9708,这表明SSA-ELM收敛结果精确,具有更高的稳定性,在股市预测上取得了良好的效果。

5.结论

针对ELM回归模型的不稳定性和股票价格的波动性等问题,提出了一种SSA-ELM的预测方法,并用TSLA数据进行了验证,可以得到以下结论:

(1)预测结果表明:改进的算法收敛速度更快,训练精度更高,误差更小,降低了后期陷入局部最优的可能性,有助于获得全局最优,具有较高的实用价值。

(2)SSA-ELM模型通过TSLA的股票历史数据进行收盘价预测,虽然结果具有一定的可靠性,但是预测精度不是很高,为了提高结果准确性,可以考虑通过改进算法来减少误差值。另外,本文只从收盘价、开盘价、最高价、最低价和交易量5个指标数据进行股票预测,指标数量较少,下一步可以继续进行完善指标,提高正确率。

参考文献

[1]鹿天宇,都莱娜,王海远等.基于主成分分析与神经网络组合的股价变化趋势预测[J].电脑知识与技术,2019,15(06):170-172+177.

[2]季阔. 基于BP神经网络的股票价格走势预测[D].郑州大学,2018.

[3]郭怡然,王秀利.基于BP神经网络的股市大小盘风格轮动预测[J].计算机仿真,2019,36(03):239-242.

[4]Zhang K, Zhong G, Dong J , et al. Stock market prediction based on generative adversarial network[J]. Procedia Computer science,2019,147:400-406.

[5]Xue J, Shen B. A novel swarm intelligence optimization approach: sparrow search algorithm[J]. Systems Science and Control Engineering An Open Access Journal, 2020, 8.