APP下载

样本量变化对上证指数预测精度的影响

2019-09-10李成钰

河南科技 2019年28期
关键词:BP神经网络

李成钰

摘 要:选取具有不同变化特征的两个时段的上证指数每日收盘价为研究对象,使用基于MATLAB的BP神经网络模型,分别预测最后10个交易日的每日收盘指数,并对预测精度进行对比。结果表明,在同一个BP神经网络中,增加输入样本个数确实有助于提高短期预测的精度,但样本区间的选择是关键,时段内的样本应具有大体相同的变化趋势。当样本量变化时,调整网络模型结构也有助于提高短期预测的精度。对于深受政策影响的中国股市而言,将人工神经网络用于股市的短期预测更有意义。

关键词:BP神经网络;预测精度;中国股市

中图分类号:F830.91 文献标识码:A 文章编号:1003-5168(2019)28-0008-03

The Influence of Sample Size Change on the Prediction

Accuracy of Shanghai Stock Index

——Prediction and Analysis of BP Neural Network Model Based on MATLAB

LI Chengyu

(School of accounting, Wuhan Qingchuan University,Wuhan Hubei 430204)

Abstract: The daily closing price of Shanghai stock index in two periods with different changing characteristics was selected as the research object. BP neural network model based on MATLAB was used to predict the daily closing price of the last 10 trading days respectively, and the prediction accuracy was compared. The results show that in the same BP neural network, increasing the number of input samples does help to improve the accuracy of short-term prediction, but the selection of sample interval is the key, and the samples in the period should have the same trend. When the sample size changes, adjusting the network model structure is also helpful to improve the accuracy of short-term prediction. For China's stock market, which is deeply affected by policy, it is more meaningful to use artificial neural network for short-term prediction of stock market.

Keywords: BP neural network;prediction accuracy;China stock market

1 研究背景

学者对股票市场的研究表明,股价变动隐含着规律性,其未来走势是可以预测的。但由于股市具有复杂性,要完全了解其变动机理仍十分困难。因此,选择更准确的模型描述和预测股市变动,对投资者制定正确的投资策略以及金融市场规范化建设具有十分重要的意义。

影响股市的各因素的关系错综复杂,采用指数平滑、ARMA模型等传统分析方法可以预测股票指数在一定时期内的大致变动。这些方法涉及的参数较多,参数的取舍和修正都会增加预测结果的偶然性。相对而言,神经网络依据数据本身的内在联系建模,具有良好的自适应性、抗干扰性和较强的学习能力,克服了许多传统预测方法的局限,为股市的建模和预测提供了新的方法。张秀艳和徐立本[1]基于神经网络集成理论,建立股市预测模型,分别建立了“基本数据”“技术指标”“宏观分析”三种模型,最后以简单平均生成集成系統。结果表明,股市预测神经网络集成系统的泛化能力高于各个独立的模型,从而使模型具有更好的稳健性和更好的应用价值。禹建丽和孙增圻[2]等建立了一种基于BP神经网络的股市预测模型,输入当日收盘价、成交量等信息即可确定下一个交易日的买卖决策,并利用两只股票进行试验,预测结果有效,说明该模型具有实用价值。郝勇[3]运用BP神经网络对上证商业指数进行了预测,通过调整神经网络的各种参数,使预测值达到了一定的精度。侯木舟和韩旭里[4]基于BP神经网络预测了上海石化(600688)未来十天的收盘价,精度较高。而吴纯[5]利用谐波小波技术对时间序列进行滤波分段,也可以有效提高预测精度。

这些对中国股市的研究并未重点提及样本量的变化对人工神经网络模型预测的影响。样本量增加是否会使预测更加准确?同时,包含不同市场变化趋势(涨、跌)的样本对预测的准确性会产生怎样的影响?为了解决这些问题,本文选取2018年1月29日至2019年4月30日(303个交易日)和2018年1月29日至2019年1月4日(234个交易日)的上证指数(000001)每日收盘价作为研究对象,使用基于MATLAB的BP神经网络模型,预测最后10个交易日的每日收盘指数,并计算平均绝对百分误差(MAPE)和预测精度(1-MAPE)。

2 计算方法与步骤

人工神经网络是人类在对其大脑神经网络认识理解的基础上人工构造的能实现某种功能的神经网络。其是理论化的人脑神经网络的数学模型,由大量功能简单的处理单元相互连接形成复杂的非线性系统。神经网络可以通过学习形成具有一定结构的自组织系统,完成[n]维向量到[m]维向量的非线性映射。目前,人工神经网络已经广泛应用于多种领域的建模和预测。

BP神经网络是一种多层前馈神经网络,一般由一个输入层、一个或多个隐含层、一个输出层组成。通过权值和阈值的调整,误差函数沿梯度方向下降。为提高网络精度和训练速度,可以增加各层神经元的个数。

根据预测目标,即预测最后10个交易日的收盘指数,确定计算步骤如下。

第一,选取适当的原始数据作为输入样本和目标样本,并进行适当转换,以满足输入数据的要求。以文中选取的2018年1月29日至2019年1月4日的234个收盘价观测值为例,其中前224个观测值作为输入数据样本[x],去掉前10个观察值后的224个数据作为目标数据样本[y]。然后,将数据进行归一化处理。由于隐含层传递函数为S型函数,因此将每个观察值除以50 000,转换为(0,1)之间的数值。

第二,人工神经网络的建立。利用MATLAB的神经网络工具箱,可以较为直观地建立模型。但是,通过编写简单的程序修改参数更为方便,程序如下:

p=x/50000;

q=y/50000;

s=p';

t=q';%对数据x(输入),y(目标)进行归一化处理

net=newff([0,1],[3,5,1]);%建立一个3-5-1的BP神经网络,传递函数、训练函数、阈值函数都取系统默认值。

net.trainparam.show=10;%训练状态的显示幅度

net.trainparam.goal=0.00001;%误差精度

net.trainparam.epochs=100;%训练次数

net=train(net,s,t);%通过样本数据进行神经网络的训练

b=sim(net,s);%利用训练好的网络输出预测结果

其他的参数均选择系统默认值。

第三,计算平均绝对百分误差(MAPE)和预测精度(1-MAPE)。可以利用以下程序:

bb=(b-t)./t;k=abs(bb);sum(k)/224%显示结果就是平均绝对百分误差。

计算出的平均绝对百分误差描述了神经网络整体輸出结果的偏离程度,记作MAPE(整体)。另外,可以单独计算预测结果最后10个值的误差,作为参考,记作MAPE(10)。

第四,将预测结果进行反向处理,得到最后10个交易日的收盘指数预测值。

3 实证结果分析

通过调整BP神经网络各层神经元的个数,最终选择两种模型3-5-1和12-8-1。选取2018年1月29日至2019年4月30日(303个交易日),2018年1月29日至2019年1月4日(234个交易日)的上证指数(000001)每日收盘价样本,其平均绝对百分误差和预测精度的结果如表1所示。

对于输入样本个数为224的情况,当神经网络输入层神经元个数由3变为12时,两种神经网络的整体预测精度略有上升,但差异不大。MAPE(10)的值也有所上升,但对最后10个交易日的预测精度有所下降。可见,当期上证指数的变化与近期(前3期)指数变动存在较强的关联性,引入更远期的指数对预测当前指数变化并无益处。

对于输入样本个数为293的情况,当神经网络的输入层神经元个数由3变为12时,两种神经网络的整体预测精度略有上升,但上升幅度更小,可忽略不计。MAPE(10)的值也有所上升,但对最后10个交易日的预测精度有所下降。同样可得出,近期(前3期)指数对当期上证指数的变化有更强的参考作用。由于所预测的10个交易日处于股市的大牛市之中,近期指数不断攀升,将会吸引更多投资者进入股市,股市突然下跌的可能性减小,因此,从纯粹技术分析的角度来看,出现上述预测结果是合理的。

对于3-5-1模型,随着输入样本个数由224变为293,整体预测精度明显下降。但是,MAPE(10)值有所下降,对最后10个交易日的预测精度略有上升。可见,对同一个神经网络而言,增加输入样本个数有助于提高预测精度。

12-8-1模型预测结果也出现了类似的情况。整体预测精度下降,可以解释为样本选择的问题,224个输入样本的时段正好处于股市不断上涨时期,而293个输入样本的时段包含有一段股市较为平稳的时期。可见,当股市整体变化具有较明显趋势时,人工神经网络的预测结果更准确一些;当股市包含复杂变动趋势时,人工神经网络的模拟精度会受到明显影响。

4 结论

对股市短期预测来说,在同一个BP神经网络中,增加输入样本个数确实有助于提高短期预测精度。但必须满足一个前提,即样本区间的选择,时段内的样本应具有大体相同的变化趋势。当样本量变化时,调整网络模型结构也有助于提高短期预测精度。

对于深受政策影响的中国股市而言,当样本时段较长时,用人工神经网络模拟股市变化的精度会明显下降,预测未来走势的难度也会加大。因此,将人工神经网络用于中国股市的短期预测会更有意义。虽然滤波方法可以较好地预测已成型的趋势,但在趋势未定时如何提高预测精度仍值得进一步思考。

参考文献:

[1]张秀艳,徐立本.基于神经网络集成系统的股市预测模型[J].系统工程理论与实践,2003(9):67-70.

[2]禹建丽,孙增圻,Kroumov V,等.基于BP神经网络的股市建模与决策[J].系统工程理论与实践,2003(5):15-20.

[3]郝勇.基于MATLAB神经网络工具箱的上海证券商业指数的预测分析[J].经济师,2005(12):114-115.

[4]侯木舟,韩旭里.基于MATLAB的神经网络在股市预测中的应用[J].系统工程,2003(2):112-115.

[5]吴纯.联合谐波小波与递归神经网络的股市时间序列预测[J].科技和产业,2016(5):105-108.

猜你喜欢

BP神经网络
基于神经网络的北京市房价预测研究
一种基于OpenCV的车牌识别方法
基于遗传算法—BP神经网络的乳腺肿瘤辅助诊断模型
一种基于改进BP神经网络预测T/R组件温度的方法
基于BP神经网络的光通信系统故障诊断
提高BP神经网络学习速率的算法研究
就bp神经网络银行选址模型的相关研究
基于DEA—GA—BP的建设工程评标方法研究
复杂背景下的手势识别方法
BP神经网络在软件质量评价中的应用研究 