基于Bp神经网络的股票预测
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于神经网络的股票预测
【摘要】:
股票分析和预测是一个复杂的研究领域,本论文将股票技术分析理论与人工神经网络相结合,针对股票市场这一非线性系统,运用BP神经网络,研究基于历史数据分析的股票预测模型,同时,对单只股票短期收盘价格的预测进行深入的理论分析和实证研究。本文探讨了BP神经网络的模型与结构、BP算法的学习规则、权值和阈值等,构建了基于BP神经网络的股票短期预测模型,研究了神经网络的模式、泛化能力等问题。并且,利用搭建起的BP 神经网络预测模型,采用多输入单输出、单隐含层的系统,用前五天的价格来预测第六天的价格。对于网络的训练,选用学习率可变的动量BP算法,同时,对网络结构进行了隐含层节点的优化,多次尝试,确定最为合理、可行的隐含层节点数,从而有效地解决了神经网络隐含层节点的选取问题。
【abstract]
Stock analysis and forecasting is a complex field of study. The paper will make research on stock prediction model based on the analysis of historical data, using BP neural network and technical analysis theory. At the same time, making in-depth theoretical analysis and empirical studies on the short-term closing price forecasts of single stock.
Secondly, making research on the model and structure of BP neural network, learning rules, weights of BP algorithm and so on, building a stock short-term forecasting model based on the BP neural network, related with the model of
neural network and the ability of generalization. Moreover, using system of multiple-input single-output and single hidden layer, to forecast the sixth day price by BP neural network forecasting model structured. The network of training is chosen BP algorithm of traingdx, while making optimization on the node numbers of the hidden layer by several attempts. Thereby resolve effectively the problem of it.
【关键词】BP神经网络股票预测分析
1.引言
股票市场是一个不稳定的非线性动态变化的复杂系统,股价的变动受众多因素的影响。影响股价的因素可简单地分为两类,一类是公司基本面的因素,另一类是股票技术面的因素,虽然股票的价值是公司未来现金流的折现,由公司的基本面所决定,但是由于公司基本面的数据更新时间慢,且很多时候并不能客观反映公司的实际状况,采用适当数学模型就能在一定程度上实现对股价的预测。BP神经网络是一种模拟人脑神经网络结构从而具有一定的预测功能的数学模型,由于其具有很强的自学习能力自适应能力以及容错能力等优点,使它成为一种比较适合股票预测的方法。本文就采用此方法对股价趋势进行了分析。MATLAB所搭配的NeuralcNetwork Toolbox,将神经网络领域研究的成果完整地覆盖,它以人工神经网络理论为基础,用MATLAB语言构造出典型神经网络的激活函数。另外,根据各种典型的修正网络权值的规则,加上网络的训练过程,用MATLAB编写出网络设计与训练的子程序,网络的设计者则可以根据需要去调用工具箱中有关神经网络的设计训练程序,使自己能够从繁琐的编程中解脱出来,集中精力去思考问题和解决问题,从而提高解题效率。
2.BP神经网络算法、特点
2.1 BP神经网络算法
BP网络的产生归功于BP算法的获得。BP算法属于δ算法,是一种有监督式的学习算法。
其主要思想为:对于q个输入学习样本P1,P2……Pq,已知与其对应的输出样本为:T1,T2……Tq。学习的目的是用网络的实际输出A1,A2……Aq与目标矢量T1,T2……Tq之间的误差来修改其权值,使Ai (i=1,2……q )与期望的T尽可能地接近,即使网络输出层的误差平方和达到最小。它是通过连续不断地在相对于误差函数斜率下降的方向上,计算网络权值和偏差的变化而逐渐逼近目标的。每一次权值和偏差的变化都与网络误差的影响成正比,并以反向传播的方式传递到每一层的。BP算法由两部分组成,分别为信息的正向传递与误差的反向传播。在正向传播过程中,输入信息从输入经隐含层逐层计算传向输出层,每一层神经元的状态只影响下一层神经元的状态,如果在输出层没有得到期望的输出,则计算输出层的误差变化值,然后转向反向传播;通过网络将误差信号沿原来的连接通路反传回来,修改各层神经元的权值,直至达到期望目标,误差信号趋向最小。其具体的实现步骤如图所示。
2.2 BP神经网络在预测中的适用性
基于神经网络本身的特点与优越性,本文选择BP神经网络用于股票预测应用研究。第一,具有自学习功能。自学习功能对于模型预测有特别重要的意义。未来的人工神经网络计算机将提供经济预测、市场预测、信用预测,其应用前途是很远大的。第二,容错能力强。网络中少量单元的局部缺损不会造成网络的瘫痪,也不会影响全局,它反映了神经网络的鲁棒性。神经网络带有高度并行处理信息的机制且具有高速的自学习、自适应能力,内部所包含的大量可调参数使得系统的灵活性更强。因此,神经网络很好的鲁棒性可以提高股票预测模型的适应性与通用性。第三,具有高速寻找优化解的能力。寻找一个复杂问题的优化解,往往需要很大的计算量,一个针对某问题而设计的神经网络,可以发挥计算机的高速运算能力,能很快找到优化解。这对提高模型的运算效率很有帮助。第四,可以充分逼近任意复杂的非线性关系。股票分析中的各个指标之间的关系并不十分明确,大多为非线性的。而神经网络能够逼近任意复杂的非线性关系,这就决定了神经网络的预测精度比其他的预测方法要高。而对股票预测来讲,预测精度无疑是非常重要的问题。第五,具有在新环境下的泛化能力,能不断接受新样本、新经验并不断调整模型,自适应能力强,具有动态特性。由于股票分析具