一种基于神经网络集成的股票趋势预测方法与流程

文档序号:12469321阅读:218来源:国知局
本发明涉及一种基于神经网络集成的股票趋势预测方法。
背景技术
:证券市场是以股票价格为参考来供个人或机构进行股票或衍生品交易的一个公共市场。同时,证券市场作为中立方为券商和公司进行投资提供了机会,是国家经济状况的主要指标之一。然而,股票价格基本上是动态的,非线性的,相当程度的受人为因素的影响。同时,股票价格的变动也受许多宏观经济因素的影响,如政治事件、公司的政策、商品价格指数、银行利率等等。因此,预测股票价格的运动是件复杂、具有挑战的事情,并且投资者和国家管理者也很感兴趣。近年来在金融市场预测处理方面,人工神经网络(ANN)已经被证明是表现不错的研究模型。人工神经网络模型来预测、发现和总结金融变量结构的优势在于其不依赖于特定的假设。目前在股市的预测应用中大多采用的是BP神经网络、RBF神经网络和Elman回归神经网络,或者基于这三种网络的一些改进。然而,这三种神经网络在处理数据进行预测时存在各种不足:BP网络是基于梯度下降算法的,存在局部极小、鲁棒性不高等缺陷;RBF神经网络属于静态前馈网络,对处理动态时间建模问题存在不足,不能满足需要;Elman网络是一种局部的循环网络,由于在学习过程中其隐含层中需要更多的隐含单元,因此需要更多的训练时间,另外,由于Elman网络使用BP算法来处理变量,因此也存在局部极小值和收敛速度慢的问题。因此,现在亟待研究出一种能够克服以上所述缺陷的方法来预测股票趋势。技术实现要素:针对上述现有技术中存在的问题,本发明的目的在于提供一种可避免出现上述技术缺陷的基于神经网络集成的股票趋势预测方法。为了实现上述发明目的,本发明提供的技术方案如下:一种基于神经网络集成的股票趋势预测方法,采用由BP神经网络、Elman神经网络和RBF神经网络组成的神经网络集成模型来预测股票趋势。进一步地,所述股票趋势预测方法具体包括以下步骤:步骤1)组织好训练语料,然后分别训练BP神经网络、Elman神经网络和RBF神经网络三种神经网络模型,得到三个神经网络个体。步骤2)用所述三个神经网络个体分别去预测处理股票参数数据,对于每条测试记录,得到三个结果。步骤3)对步骤2)产生的所述三个结果进行投票法选择,得到输出结果。进一步地,所述步骤3)具体为:将所述三个结果进行两两比较,如果有二个或二个以上结果是一样的即属同一个分类,那么此分类作为最终结果;如果三个分类结果都不一样,则随机选择一个作为最终分类结果。进一步地,所述BP神经网络采用三层神经网络结构,中间隐含层有20个神经元,隐含层和输出层均使用logistic激活函数,训练时误差值为0.01,学习率0.01,训练次数1000;RBF神经网络的均方根误差设为0.01,扩展速度spread设置为20;Elman网络的隐含层和输出层的激活函数为tansig,最大训练次数设置为2000,均方误差为0.01。本发明提供的基于神经网络集成的股票趋势预测方法,其趋势分类效果要高于单一的神经网络和svm的分类效果,能够很好地应用于股票趋势预测,预测结果准确,可以很好地满足实际应用的需要。附图说明图1为本发明的流程图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本发明做进一步说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明提供的基于神经网络集成的股票趋势预测方法,采用由BP神经网络、Elman神经网络和RBF神经网络组成的神经网络集成模型来预测股票趋势。神经网络是一种大规模并行的复杂的非线性动力系统,它可表示极其复杂的非线性模型系统。神经网络有多种类型,而在股市应用中比较常用的有BP神经网络、RBF神经网络和Elman回归神经网络。BP神经网络是神经网络技术中应用最为广泛的一种,是基于BP算法的一种神经网络模型,其特点有:自适应、自组织、自学习的能力,非局域性和非凸性等。BP神经网络是比较典型的前向神经网络,经典的三层BP神经网络结构包括输入层、隐含层和输出层。RBF神经网络即径向基函数神经网络,是一种高效前馈型式局部逼近式的网络。相比BP神经网络,RBF神经网络模型具有最佳逼近性能和全局最优特性,结构简单,训练速度快,在时间预测模式识别非线性函数逼近等领域具有广泛的应用。一般应用时RBF神经网络其由n个输入节点m个隐层节点和1个输出节点组成,隐层节点是RBF函数。Elman神经网络是Elman于1990年首先针对语音处理问题而提出来的,它是一种典型局部递归网络。由于Elman神经网络在处理贯序数据输入输出具有优越性,得到了广泛的应用。基本的Elman网络主要由输入层、隐含层、输出层、关联层组成,是在BP网络的基础上增加了一个“反馈层”,其反馈连接由一组“连接”单元组成,用于记忆隐层过去的状态,并且在下一时刻连同网络输入一起作为隐层单元的输入,相当于状态反馈。这一性质使得部分递归网络具有动态记忆功能,从而适合用来建立时间序列的预测模型。神经网络集成是用有限个神经网络对同一个问题进行学习,集成在某输入示例下的输出由构成集成的各神经网络在该示例下的输出共同决定。股票价格趋势分析一般是根据历史数据来进行将来情况的分析,多数学者用的时间交易窗口是20日。本实施例也将以前20日的交易情况来作为分析第21日涨跌情况的分析时间窗口。神经网络的数据集按照以下模板进行组织:表1神经网络数据特征模板条目1W1W2W3W4…W20X1条目2W1W2W3W4…W20X2……………………条目nw1W2W3W4…W20Xn其中:W0到W20表示20天的的涨跌值,取值范围在-0.1到0.1之间;Xi表示第21的涨跌趋势,可能取值1、2、3,分别表示上涨、横盘、下降。类似的,为了用svm进行数据处理,数据集组织模板如表2所示:表2Libsvm数据特征模板条目1X11W22W23W3…20W20条目2X21W22W23W3…20W20……………………………条目nXn1W22W23W3…20W20本实施例所用的数据是上证指数(000001)股票在2011年12月12日到2016年2月15日期间的收盘指数,共959条有效数据。如图1所示,基于神经网络集成的股票趋势预测方法具体包括以下步骤:步骤1)组织好训练语料,然后分别训练BP神经网络、Elman神经网络和RBF神经网络三种神经网络模型,得到三个神经网络个体;步骤2)用所述三个神经网络个体分别去预测处理股票参数数据,对于每条测试记录,得到三个结果;步骤3)对步骤2)产生的所述三个结果进行投票法选择,得到输出结果。所述BP神经网络采用三层神经网络结构,中间隐含层有20个神经元,隐含层和输出层均使用logistic激活函数,训练时误差值为0.01,学习率0.01,训练次数1000;RBF神经网络的均方根误差设为0.01,扩展速度spread设置为20;Elman网络的隐含层和输出层的激活函数为tansig,最大训练次数设置为2000,均方误差为0.01。本实施例中步骤3)具体为:将所述三个结果进行两两比较,如果有二个或二个以上结果是一样的即属同一个分类,那么此分类作为最终结果;如果三个分类结果都不一样,则随机选择一个作为最终分类结果。本实施例将股票未来一天的趋势分成3类,即将问题转变成了分类问题。在分类问题研究领域最常用的评介指标就是正确率,正确率这一指标直观明了,易于接受。正确率的计算方法为:Precision=PridictRightr/TestSum(1)其中Precision表正确率,PridictRight为预测正确的天数,TestSum为测试的总天数。为了对比本发明的神经网络集成方法的分类处理效果,还做了经典的SVM分类实验。本实施例用的是台湾大学林智仁(LinChih-Jen)教授等开发设计的SVM模式识别与回归软件包libsvm。本实施例一共做了三组实验,每次随机从959条数据中取759条数据作训练集,其余的200条作测试集。实验结果如表3:表3三组实验结果实验编号第一组第二组第三组基准正确率33.3%33.3%33.3%SVM分类处理37%32%35.5%BP神经网络38%36%37%RBF神经网络36.5%39.5%35.5%Elman神经网络40.5%37%38.5%集成方法41.5%42.5%39.5%从实验中可以得到以下几个结论:1)对比SVM的分类效果与基准正确率。从表3中三组实验结果来看,SVM的分类效果相比基准正确率并没有高多少,第二组的正确率32%还低于基准正确率33.3%。这点说明,传统的分类方法svm在处理复杂的股票趋势上并没有明显的效果或优势。这也与股票趋势特性有关:影响股票价格的因素有很多,故股价具有很强的随机性和突变性。2)三种神经网络的分类处理效果。一方面,从表中实验结果可以看出,神经网络处理的分类结果并不比svm分类结果的正确率高很多,甚至有部分实验结果还没有svm效果好。比如第一组实验中RBF神经网络的处理正确率为36.5%,要低于svm的37%正确率;第三级实验中RBF神经网络的处理效果与svm效果正确率一样高,都为35.5%。这也从另一个角度表明股份价格的复杂性,很难简单地用一学习模型来对其趋势很好地分类。另一方面,三组实验中,每种神经网络的处理结果都要高于基准正确率,在这点上是要强于svm的分类处理效果。3)基于结果式投票的神经网络集成方法。在表3中可以看出,基于结果式投票的神经网络集成方法的分类处理效果好于任意单一的神经网络处理结果。在很多情况下,本发明的神经网络集成方法能够排除个体神经网络的计算缺陷或者加强正确的分类处理结果。从表中三组实验效果看,没有一种神经网络的效果是全部好于其他二种。故处理一条数据时,当一种网络分类错误,那么参照另外二种网络结果则可提高集成网络模型分类的正确率。比如一测试条目:(-0.02920797,-0.0051749334,......,-0.06863735,-0.006891653,3)前20个为预测那天的前20天收盘价格涨跌情况,最后“3”表示是示当天的实际涨跌情况是上涨。而三个神经网络预测处理的结果是:3,1,3。根据投票法的规则,那么神经网络集成方法的输出结果为:3。像这样的情况,则神经网络集成方法能够纠正神经网络个体的错误,进而提交了分类的正确率。以上所述实施例仅表达了本发明的实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1