基于神经网络的股票价格走势预测及其MATLAB实现-论文_第1页
基于神经网络的股票价格走势预测及其MATLAB实现-论文_第2页
基于神经网络的股票价格走势预测及其MATLAB实现-论文_第3页
基于神经网络的股票价格走势预测及其MATLAB实现-论文_第4页
基于神经网络的股票价格走势预测及其MATLAB实现-论文_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于神经网络的股票价格走势预测及其MATLAB实现摘要伴随着我国经济的高速发展和广大投资者日益旺盛的需求,股票投资已经成为一种常见的投资手段,而股票价格预测也逐渐成为广大投资者关心和研究的重点问题。股票价格的波动是一个高度复杂化的非线性动态系统,其本身具有诸如大规模数据、噪声、模糊非线性等特点。针对这些特点本文在深入分析股票市场实际预测中所面临的关键问题和比较各种已有的股票预测方法的基础上,探讨运用神经网络这一人工智能工具,研究基于历史数据分析的股票预测模型。神经网络是建立在对大规模的股票历史数据的学习仿真的基础上,运用黑盒预测方式找出股市波动的内在规律,并通过将其存储在网络的权值、阈值中,以此来预测未来短期或是中长期的价格走势。关键字:神经网络,股票,预测,MATLAB工具箱ABSTRACTAlongwiththeeconomygrowthandincreasinglystrongdemandofmanyinvestorsinourcountry,stockhasbecomeacommonmeansofinvestment,andstockpriceforecasthasgreatlybeenoneofthefocusesofstudytopic.Thechangeofstockpriceisahighlycomplicatednonlineardynamicsystem,itselfhasmanycharacteristicssuchasmassivedata,noise,fuzzyandnonlinear.Thisarticleanalysesthekeyissuesbeingexistentintherealstockmarketpredictionandcomparesvariousexistingstockforecastingmethods.Wewilltrytoresearchonstockpricepredictionmodelbasedonaneuralnetworkwithhugehistoricaldata.Neuralnetworkisbasedonstudyingmassivehistoricaldata,usestheblackboxofforecastingwaystofindtheinternaldisciplinarianofstockmarket,andstoresthemintheweightsandvalvesvaluesoftheneuralnetworkforpredictingtheshort-termorlong-termtrendinthefuture.KEYWORD:Neuralnetworks,Stock,prediction,MATLABtoolbox目录TOC\o"1-2"\u摘要 1一.绪论 31.1研究背景及意义 31.2国内外研究的现状 41.3论文的研究方法及其框架结构 5二.股票预测的关键问题分析 62.1股票价格波动的因素以及预测的基本假设 62.2股票预测的常用术语和技术指标 82.3股票数据的特点 11三.神经网络的基本原理介绍 113.1人工神经网络的定义和发展过程 123.2神经网络基本原理 123.3BP神经网络介绍 153.4神经网络的特点 193.5神经网络的在实际预测模型中的问题 19四.神经网络算法 214.1输出输入变量的选取 214.2数据归一化处理 224.3数据样本分类 224.4网络初始化 224.5训练网络 234.6网络仿真 24五.仿真实验 244.1单日收盘价对单日收盘价预测 244.2单日收盘价,成交量对单日收盘价预测 254.3多日收盘价,成交量对单日收盘价预测 264.4多日收盘价,成交量对多日收盘价预测 27六.结论和展望 28附录(股票数据和程序代码) 28一.绪论1.1研究背景及意义许多伟大的预言家认为,每一个世纪的开始十年发生的事情将奠定这个世纪的发展方向。进入新的21世纪以来,头十年发生的最重要的一件事情莫过于2008年的金融危机。这场罕见的金融风暴不仅给中国带来了巨大的冲击,也给国际市场带来了更多的挑战。毋庸置疑,21世纪是金融家的世纪,虽然华尔街带着贪婪与欲望的负面形象向我们走来,但我们坚信在未来将会出现更多的这种华尔街聚集地。21世纪的经济既是一种以知识为本的经济,又是一种金融化的经济。现代科学技术的发展及其在产业中的扩散,是2l世纪经济增长的原动力,而现代金融则使这种原动力以乘数效应推动着经济的增长。证券投资是现代金融重要的组成部分,它是指投入货币或实物,形成证券形态的金融资产,并通过持有和运用这些资产获取增值收益的行为。正是由于证券投资具有实现价值增值、支撑社会融资、化解供求压力、稳定经济运行、传递经济信息等功能,证券投资成了政府、企业和众多投资者关心并参与的经济活动。在经济全球化、市场一体化和资产证券化的大背景下,2l世纪全球经济体系之间将更加开放、更富有流动性,财富的物质形态逐渐淡出,资产或财富的虚拟化倾向日益明显,在资产或财富的快速流动中,财富或在流动中增值,或在流动中消失。财富聚合速度日益加快,市场竞争更加激烈,经济运行的轴心逐步转向现代金融业,经济运行的风险在明显增大。而股票,作为证券投资的重要组成部分,众所周知,股票价格受到国内外政治、宏观经济与微观经济等许多错综复杂因素的影响,现在已经成为整个社会经济的“晴雨表”和“报警器”,其对于经济发展的影响不可估量。股票是市场经济的产物,股票的发行与交易促进了市场经济的发展。近年来,股票市场已经逐步成为证券业乃至整个金融业必不可少的组成部分,显示出强大的生命力,股票投资也已经成为人们日常生活的一个重要组成部分。股市的暴涨暴跌对金融市场会产生很大的振荡,直接影响到金融市场的稳定和经济的健康发展。如果能够预测股票的涨跌,及时对股票市场进行合理的调控和健康的引导,这将为我国经济的持续发展提供坚实的后盾。股票预测,是经济预测的一个分支,是指以准确的调查统计资料和股市信息为依据,从股票市场的历史、现状和规律性出发,运用科学的方法,对股票市场的未来发展前景做出预测。在金融系统的预测研究中,股票预测是一个非常热门的课题。这是因为股票市场具有高收益与高风险并存的特性,随着股市的发展,人们不断在探索其内在规律,对于股市规律认识逐步加深,产生各种各样的股市预测方法。但是,股票市场作为一种影响因素众多、各种不确定性共同作用的复杂的巨系统,其价格波动往往表现出较强的非线性的特征。另外,股市的建模与预测所处理的信息量往往十分庞大,对算法有很高的要求。正是由于这些复杂的因素,使得关于股市的预测往往难如人意。中国的股票市场虽然起步较晚,但随着有关政策、法律法规的出台和完善,股票市场逐步走向成熟、规范。股民在交易行动之前对股票市场的未来加以预测也会成为一种自觉的思维活动。然而股票指数受国际市场、金融政策、利率政策、公司状况及投资者心理承受能力等因素的影响,其走势的预测非常困难。从中国股票市场的特征来看,大多数学者的结论支持中国股票市场的股票指数的时间序列是序列相关的,即历史数据对股票的指数形成起作用,股票指数充分反映了所有相关的信息。因此,可以通过对历史数据的分析来预测股票指数。在股票交易事务处理中,每天有开盘、最高价、最低价、收盘、流通量等交易信息为主的大量数据汇入数据库。在股票交易过程中,每天有以交易信息为主的大量数据汇入数据库,这些数据无疑对股民了解股市的走势,做出正确的投资决策。本文利用神经网络具有很强的非线性逼近能力和自学习、自适应等特性,将其应用于股票预测中,通过对股票历史的交易数据挖掘去预测未来的股票的交易价格的变化与趋势。1.2国内外研究的现状股票交易作为一种现代经济活动中的常见风险投资交易,其高收益和高风险相伴相生的特点,使得股票交易具有很强的投机性。这种投机性是基于市场供求关系变化以及股票价格的实时波动,投资者追求在低价买入高价抛售中赚取相应差价,从而实现资本增值或是盈利。因此不论是投资者,更包括市场的监管部门等都对分析股市、试图预测股市的发展趋势等股市核心问题积极关注和广泛研究。在这样的背景下,国内外许多学者都对股市的预测分析方法进行了研究并都出了很多理论和实践的结论。在股票市场上,一般采用两类股票投资分析方法:基本分析法和技术分析法。其中基本分析法是通过对影响股票市场供求关系的基本因素进行分析,以此来确定股票的真正价值,判断股票市场的未来走势,提供投资者选择股票交易的依据。而技术分析法则是一种完全根据股票市场行情变化而加以分析的方法,它通过对历史资料(如股票的成交量和成交价格)进行分析,判断整个股票市场或是个别单只股票价格未来的变化趋势,给投资者提供交易股票的信号。这其中建立在统计学基础之上常见的技术分析方法,有移动平均线法、点数图法、K线图法等。对于受政治、经济、心理、国际市场等多种因素影响的复杂股票市场,使用传统的技术分析工具进行股票买卖决策难度较大,大多数投资者应用的结果并不理想。以下是几种常见的股市预测方法介绍。1.时间序列分析法通过建立股价与综合指数的时间序列辨识模型,如传统的随机游走模型(RW),自回归移动平均模型(ARIMA),齐次非平稳模型(ARMA)等来预测未来股价变化。它包括两种类型:单变量与多变量。单变量模型对于短期预测具有良好的效果,但需要大量数据,并且模型结构与参数的选取是非常复杂的过程;多变量模型例如RegressionAnalysis。总之此种分析方法只适用于短期预测,当预测周期变长,其准确性急剧下降。2.基于统计学理论的预测方法统计学理论的预测方法,主要是基于模型拟合和最小二乘原理建立各种回归、自回归、混合回归模型进行预测。此类方法,具有严格的数学基础,应用较广泛,近年也有相当的发展。如广义线性模型,它放松了经典线性模型的假设,极大地丰富了回归分析的理论,对假设进一步放松,提出了一般的回归模型,该领域研究具有十分惊人的前景,但由于其仅能辨识参数的方向,应用起来十分不便,仅能对建模提供指导。3.灰色预测方法所谓灰色预测法,是指自变量和因变量之间满足某种数学关系和满足某种特定条件,但是由于历史数据的不全面和不充分或某些变量尚不清楚和不确定,使预测处于一种半明半暗的状态。4.组合预测法对某一问题的预测可采用不同的预测方法,而每种预测方法的适用条件不尽相同,所产生的预测结果不同,其预测精度往往也不同。但是这些单项预测法在数据处理及不同准则方面均有其独到之处,能从不同的角度来推导和演绎,其预测结果都有一定的价值。一种更为科学的做法是,将不同的预测方法以某种方式进行适当的组合,综合利用各种预测所提供的信息,尽可能地提高预测精度,于是就形成了组合预测方法。组合预测法就是先利用两种或两种以上不同的单项预测法对同一预测对象进行预测。5.其他的预测方法主要有:专家评估法,市场调查法等传统的定性方法,马尔可夫链预测法,趋势外推预测法干预分析模型预测法,景气预测法等定量分析法。6.人工神经网络方法自上世纪初至今,人工智能多次成为研究的热点问题,并取得很大的发展。特别是人工神经网络作为对人脑的一种简单的抽象和模拟,是探索人类智能奥秘的有力工具,经过长期的发展对神经网络的研究已经取得了划时代的进步,将其应用于各个领域。在金融领域,许多学者都开展了对神经网络的研究和应用。这其中最早的研究是1988年White利用用神经网络来预测IBM普通股每日报酬率,但是经过训练样本的学习后,其预测结果不甚理想。他认为原因可能是神经网络陷入局部极小值而无法跳出,造成预测能力不强。后来在Kimoo.Asakawa,YodaandTakeoka等人的努力下,于1990年利用神经网络开发了一款TokyostockexchangePriceindex(TPOIX)预测系统,这款预测系统主要是对日本东京证券交易所股价加权平均指数进行的预测,以此来为投资者决定买进卖出股票的最佳时机,最后得到的结果:人工神经网络模型所预测得到的报酬率优于TOPIX加权平均指数的同等预测。1992年,Baba和Kozaki使用15个输入变量、2个隐层及1个输出变量的神经网络模型来预测日本股价的趋势,训练样本分成上涨及下跌两种趋势的学习,在趋势决定后,预测股价涨跌方向的正确率相当高,但是,若趋势决定错误时,神经网络的预测能力减弱,无法正确预测股价。其实他们的研究为后来学者提供了一种新的预测方向即是不预测具体股价的参数,而运用神经网络的分类效果直接预测股价的涨跌趋势,这也是很有实际意义的。1996年,JovinaRoman等人介绍了神经网络在投资,组合决策以及股票预测等金融相关领域中的应用,Shaun-innWu等人综合应用了传统的预测与人工智能预测方法,提高了相应的预测性能。1999年,Pesaran和Timmermann对过去25年的英国伦敦证券指数进行了预测,他们采用神经网络技术预测证券指数的月变化率达到了60%左右的正确率。2001年,ChungKimKwong利用澳大利亚股票市场中的7家具体上市公司股票交易的数据进行神经网络预测研究,得到的平均预测精度为48.2%。而与此同时国内也有很多学者进行了相关的研究。但不管预测结果如何,由于股票市场的多噪声,不稳定,非线性等特性,使得这些预测依然很难得到普遍的理想效果。可从另外一个方面来看,神经网络具有分布处理、自组织、自适应、自学习和容错性好等优良特性,在处理股票预测这样一个极其复杂的非线性动力学系统是可行的、有效的。所以这其中的研究重点在于样本选取与预处理、神经网络拓扑结构选择(包括:神经元个数、隐层数、输入输出函数等)、网络的自适应能力等方面亟需改进。1.3论文的研究方法及其框架结构其实在实际股票市场的交易中有很多相关的指标诸如股票的开盘价、最高价、最低价、中间价以及收盘价等,这些数据都从不同的角度反映了当前的股票市场的波动情况。而一般的股票预测都是基于以下三点假设前提的:1.有效市场假设:当股票价格的波动能够充分地反映投资者所获得的信息时,股票市场就是有效市场,也可以认为是此时股票价格是真正的透明博弈的供求关系的结果。股票价格变化始终是受到一国国内宏观、微观经济以及国际其他市场的影响,而各种价格的变动反映出股票市场是有效市场;2.供求决定假设:指一切信息都会对股票市场的供求双方相互博弈对比产生影响,供求关系决定了股票的交易量和交易价格;3.历史相似原则:指由历史资料所概括出来的规律(这些规律一般都认为是隐藏在交易的价格和交易量等反映股票市场波动的相关指标中的)已经包含了未来股票市场的一切变动趋势,忽略其他诸如一国国内政局动乱冲突或是发生重大未曾预料的自然灾害。本文其实所选用的神经网络工具最重要的假设前提就是上面的第三条,即我们所得到的预测是基于黑箱的预测,股票的数据指标已经完全隐藏了未来市场波动的一切因素,忽略其他外在不可控的因素的干扰。二.股票预测的关键问题分析2.1股票价格波动的因素以及预测的基本假设2.1.1股票价格波动的因素股票价格是指股票在发行和交易时的价格,包括发行价格和市场价格。股票的发行价格是指股份公司在发行新股票时的价格。股票的发行价格一般是根据股票时价,股票行市的变化趋势,股票筹集资本的难易程度和发行新股票时原有股东利益的影响等因素来决定的。影响股票价格的主要因素主要有以下几个方面:1.股票市场内部因素:(1)股票的供求关系。市场供求关系是影响股票价格的直接因素。当市场供给大于需求时,股票价格上涨,当市场供给小于需求时,股票下跌。(2)大户的操纵。这主要是由于股票市场上,一些大户利用各种不正当的手段来操纵市场上股票的价格,使股票价格变化剧烈。在完全竞争有效的市场中是不存在这种垄断力量的,但在实际的各个股票市场中都存在一定这种现象,特别是在我国的股市中,由于各个大型央企处于该行业的主导位置,很容易诱发高层腐败所导致的操纵股市的行为。2.公司内部因素:(1)公司的经营状况和盈利能力。这是影响股票价格最重要的基本因素。经营状况即指发行公司在经营方面的概况包括经营特征,如公司属于商业企业还是工业企业,公司在行业中的地位,产品性质,内销还是外销,技术密集型还是劳动密集型,批量生产还是个别生产,产品的生命周期,在市场上有无替代产品,产品的竞争力、销售力和销售网等。此外,公司的经济状况还包括员工的构成以及管理结构、管理水平等。上述因素既可直接影响公司的财务状况,亦可间接影响投资者的投资意向,进而影响股价变化。当公司的经营状况好,盈利能力强,股票价格的基础扎实,大家认为此时的股票很稳定,上涨的机会多,反之,公司的经营状况差,盈利能力弱,股票价格难以提高,下跌的机会大。(2)上市公司的财务状况。发行公司的财务状况亦是影响股价的重要原因之一。依照各国法规,凡能反映公司的财务状况的重要指标都必须公开,上市公司的财务状况还需定期向社会公开。3.宏观经济因素:(1)经济周期。宏观经济周期的循环、波动与股价之间存在着紧密的联系。一般情况下,股价总是伴随着经济周期的变化而升降。在经济复苏阶段,投资逐步回升,资本周转开始加速,利润逐渐增加,股价呈上升趋势。在繁荣阶段,生产继续增加,设备的扩充、更新加速,技术引入或是创新加快,就业机会不断增多,工资持续上升并引起消费上涨;同时企业盈利不断上升,投资活动趋于活跃,股价进入大幅度上升。在危机阶段,由于有支付能力的需求减少,造成整个社会的生产过剩,企业经营规模逐步缩小,产量下降,失业人数迅速增加,企业盈利能力急剧下降,股价随之下跌;同时,由于危机到来,企业倒闭增加,投资者纷纷抛售股票,股价亦急剧下跌。在萧条阶段,生产严重过剩并处于停滞状态,商品价格低落且销售困难,而在危机阶段中残存的资本流入股票市场,股价不再继续下跌并渐趋于稳定状态。从这不难看出,股价不仅是伴随着经济周期的循环波动而起伏的,而且,其变动往往在经济循环变化之前出现。两者间相互依存的关系一般表现为:复苏阶段--股价回升;繁荣阶段--股价上升;危机阶段--股价下跌;萧条阶段--股价稳定。(2)物价的变动。商品的价格是货币购买力的表现,所以物价水平被视为通货膨胀或通货紧缩的重要指标。一般而言,商品价格上升时,公司的产品能够以较高的价格水平售出,盈利相应增加,股价亦会上升。如物价上升时,那些拥有较大库存产品的企业的生产成本是按原来的物价计算的,因而,可导致直接的盈利上升;对于需大量依赖新购原材料的企业而言,则可能产生不利影响。此外,由于物价上涨,股票也有一定的保值作用,也由于物价上涨,货币供应量增加,也会使社会游资进入股票市场,增大需求,导致股价上升。需要说明的是,物价与股价的关系并非完全是正相关,即物价上涨股价亦上升。当物价上涨到一定程度,由于经济过热又会推动利率上升,则股价亦可能下降;此外,如物价上涨所导致的上升成本无法通过销售转嫁出去;物价上涨的程度引起投资者对股票价值所用折现率的估计提高而造成股票价值降低;物价上涨的程度使股票的保值作用降低,投资者把资金从股市抽出,投到其他保值物品方面时等等,股价亦会相应下降。4.政策因素:(1)政治因素。政治因素指能对经济因素发生直接或间接影响的政治方面的原因,政治因素包括社会经济发展规划,经济政策,政权的更替,政府的国民信赖,战争,动乱等,这些都会影响股票价格。(2)国家的经济政策。各国政府在财政政策、税收政策、产业政策、货币政策、外贸政策等方面的变化,会影响股价变动。就财政收支政策看,当国家对某类企业实行税收优惠,那就意味着这些企业的盈利将相应增加,而这些企业公司发行的股票亦会受到重视,其价格容易上升。从财政支出政策看,当国家对某些行业或某类企业增加投入,就意味着这些行业、企业的生产将发展,亦会同样引起投资者的重视。此外,如产业政策的执行,政府对产品和劳务的限价会导致相应股票价格下跌;税收制度的改变,如调高个人所得税,则会影响社会消费水平下降,引起商品滞销,乃至于影响公司盈利及股价下跌,等等。(3)利率。一般来说,利率与股票价格成反比,但也有相关学者运用不同国家的股票市场数据得到了相反的结论。当利率上升时,会引起几方面的变化,从而导致股价下降;一是公司借款成本增加,相应使利润减少;二是资金从股市流入银行,需求减少;三是投资者评估价值所用的折现率上升,股票价值因此会下降。反之则股价会上升。(4)财政开支;一般来说股票价格与财政开支同方向变化。(5)税收制度.一般来说,当税率和课税种类变更对公司和投资者有利时,股价将上升,反之则下降.(6)信用政策.一般来说当信用政策比较宽松时,股票价格上升可能性较大,反之则较小。5.其他因素: (1)国际经济技术因素。主要是国际经济变化趋势,国际经济景气度等因素,这些因素会影响股票的价格。(2)心理预期因素。这主要是股票投资者在面对市场波动时心理预期的变化对股票价格的影响。市场上的大部分投资者都主观认为只要上市公司盈利每年趋升,其相应股价必然会一起上涨,但事实往往是并非如此的,不同的投资者对上市公司未来的盈利状况估计的结果不一致,例如一家公司的盈利较往年有超过百分之三十的升幅,公司股价亦都有可能因为市场预期有百分之五十的盈利增长而下挫,反之,倘若市场认为公司亏损将会增加百分之十,但当最终的结果是该公司亏损只拓阔百分之五(即每股盈利出现负数),公司股价亦可能会因为业绩较市场预期好而上升。另外,只要市场憧憬公司前景形势可观,能够于将来为股东赚取大额回报,就算目前公司每股盈利出现严重亏损,股价亦有可能因为这一次又一次的美好憧憬等待而大幅走高。总之,影响公司股价的因素并不单单停留于每股盈利的多少,反而较市场预期的多或少,方才是决定公司股价升跌的重要元素。除此之外,新股上市、股票分割、汇率变动、国际收支以及个股的涨跌情况等因素对股价的波动也是有不同程度的影响的,因此,分析影响股价变动的因素有很多,市场的变化总是纷繁复杂的。2.1.2股市预测的基本假设1.市场行为涵盖一切信息在前面分析影响股票价格波动的因素时,我们已经知道股价未来变化的趋势直接取决于供求关系双方的相互博弈,不论是股票市场内部,公司财务状况,宏观经济的周期波动,还是政策影响或是心理预期变化等等导致的供大于求,股价下跌,而下跌的幅度大小则与供求的双方差额相互关联,但这些种种的复杂博弈都最终将集中反映在股票价格、成交量和时间序列之中。这些所有信息并不是每个投资者都可以直接得到,但所有的有需要的投资者都可以从股市的分析中得到有用的信息。2.股价变化有趋势可遵循。股票价格的波动是有一定规律的,即保持原来运动方向的惯性,而股票价格的涨跌方向是由供求关系决定的。股票价格的涨跌反映了一定时期内供求关系的博弈,供求关系一旦确定,股票价格的变化趋势就会一直持续下去。只要市场上的供求关系不发生根本改变,股票价格的波动趋势就不会发生反转。3.历史会重演这条假设主要是基于心理学的命题。市场中进行具体买卖的是人,是由人决定最终的操作行为。因此,这一行为必然要受到人类心理学中某些规律的制约。在真实的市场交易上,人们在面对相似的情境时,会根据以往的经验和规律做出相类似的反映。而这些反映又会在新的应用中失败或是成功对比得到加强。因此,根据市场上的历史资料概括出来的经验和规律已经包含了未来股票市场的一切变动趋势,所以可以根据历史资料的数据来预测未来股票的波动趋势。根据以上这三条假设,可以对股票市场的价格走势做出合理的预测。2.2股票预测的常用术语和技术指标2.2.1常用的股票术语1.收盘价:前一交易日或前一天收盘前最后一笔交易的成交价格,反映该段交易多空双方交战的结果。2.开盘价:是一天交易开始时第一笔成交价,目前深沪实行集合竞价。如果开市后30分钟内无成交价,则以前日的收盘价作为开盘价。3.最高价:是一天交易中最高价格的成交。4.最低价:是一天交易中最低价格的成交。5.买进价:委托买入的价格。6.卖出价:委托卖出的价格。7.成交价:成交价有低于、等于买入价,高于、等于卖出价,在买入卖出之间五种。8.成交量:全日成交的总量(股数、金额)。9.涨跌:以每天的收盘价和前一天或前一交易日收盘价相比较,来决定股票价格实际涨跌状况。10.委买手数:现在所有委托买入下三档之手数相加之总和。11.委卖手数:现在所有委托卖出上三档之手数相加之总和。12.委比:委托买入的手数与委托卖出的手数之比,委比正值大,买方比卖方强,反之,卖方比买方强。13.外盘:成交价在卖出价为外盘。14.内盘:成交价在买入价为内盘。内盘+外盘=总手数15.庄家:指参与股市操作的证券、保险、金融等资金雄厚的机构,它们构成股市的主力,庄家的操作意图对股市的趋势起着决定性的作用,是散户跟踪的目标。16.市盈率:指某种股票每股市价与每股盈利的比率。市盈率=普通股每股市场价格÷普通股每年每股盈利17.市净率:指股票市场价格与账面价格的比值。市净率=股票价格÷每股净值18.资产收益率:指企业净利润与平均资产总额的百分比。资产收益率=(净利润÷平均资产总额)*100%。19.综合指数:是大盘分析的代表变量,在我国国内分为上证综合指数和深证综合指数。2.2.2常用的技术指标1.指数平滑异同移动平均线(MACD)指数平滑异同移动平均线(MACD)是以快速移动平均线(短期线)与慢速移动平均线(长期线)相对距离的变化提示买卖时机的指标。它首先以指数平滑计算法计算出快速移动平均线和慢速移动平均线,再以快速线数值减慢速线数值即得到快慢线相对距离的差离值,为使趋势信号更明显并且不受股价过分波动的影响,对差离值也进行平滑计算,得到差离值的平均值,把差离值和差离平均值画在以时间为横轴,以MACD为纵轴的坐标上,通过观察差离值和差离平均值的方向、绝对位置和相对位置关系,把它们的同向、异向和交叉现象作为买卖信号的提示,为使买卖信号更直观,还可以从差离值减差离平均值之差向时间轴引垂直线,得到MACD柱状线。指数平滑异同移动平均线是利用了快速移动平均线和慢速移动平均线,在一段上涨或下跌行情中两线之间的差距拉大,而在涨势或跌势趋缓时两线又相互接近或交叉的特征,通过双重平滑运算后,用以研究和判别买卖时机的方法。2.威廉指标(WMS)威廉指标最早起源于期货市场,由LarryWilliams于1973年首创。该指标通过分析一段时间内股价高低价位和收盘价之间的关系,来量度股市的超买超卖状态,依此作为短期投资信号的一种技术指标。目前它已经成为中国股市中被广泛使用的指标之一。WMS的操作法则从两方面考虑:一是WMS的数值,二是WMS曲线的形状。第一,从WMS的取值方面考虑:①当WMS高于80时,处于超卖状态,行情即将见底,应当考虑买进;②当WMS低于20时,处于超买状态,行情即将见顶,应当考虑卖出。这里80和20只是一个经验数字,并不是绝对的。同时,WMS在使用过程中应该注意与其他技术指标相配合。在盘整过程中,WMS的准确性较高;而在上升或下降趋势当中,却不能只以WMS超买超卖信号作为行情判断的依据。第二,从WMS的曲线形状考虑。①在WMS进入低数值区位后(此时为超买),一般要回头。如果这时股价还继续上升,就会产生背离,是卖出的信号。②在WMS进人高数值区位后(此时为超卖),一般要反弹。如果这时股价还继续下降,就会产生背离,是买进的信号。③WMS连续几次撞顶(底),局部形成双重或多重顶(底),则是卖出(买进)的信号。这里需要说明的是,WMS的顶部数值为0,底部数值为100。3.随机指数(KD)随机指标KD是分析师乔治·兰德首先提出的技术分析理论。在股票、期货等证券市场中有很好的实战效果。从实践看,KD指标的核心原理是平衡的观点,即股价的任何动荡都将向平衡位置回归。KD指标把一定周期内最高股价和最低股价的中心点作为平衡位置,高于此位置过远将向下回归,低于此位置过远将向上回归。在分析中设置快速线K和慢速线D共同研判,另外还有考察K、D位置关系的J线。4.相对强弱指数(RSI)RSI指标(RelativeStrengthlndex)是与KD指标齐名的常用技术指标。RSI以一特定时期内股价的变动情况推测价格未来的变动方向,并根据股价涨跌幅度显示市场的强弱。相对强弱指标RSI是分析师(Wells.Wilder,Jr)于七十年代首先提出的技术分析理论。RSI是RelativeStrengthIndex的缩写。尽管其历史不长,但由于该指标客观实用的特点,目前已为广大投资者接受,从而成为广泛使用的普及性指标之一。技术分析原理之一是市场变化包含一切。相对强弱指标正是从这一点出发,从市场价格变化观察买卖双方的力量变化,其中以价格上涨幅度代表买方力量,以价格下跌幅度代表卖方力量,以涨跌幅度的对比代表买卖双方力量的对比,通过对比预测未来股价的运行方向,这种对比的比值就是RSI数值。5.乖离率(BIAS)乖离率是表示当前股价偏离移动平均线程度的指标。当日收盘价减移动平均线之差与移动平均线的比值,即乖离率。在股市上,主要用乖离率来决定投资者的买卖行为。6.心理线指标(PSY)PSY(PsychologicalLine)是从投资者的买卖趋向心理方面,将一定时期内投资者看多或看空的心理事实转化为数值,来研究和判断股价未来走势的技术指标。7.交易量指标(OBV)OBV的英文全称是OnBalanceVolume,即“平衡交易量”,人们更多地称其为能量潮,它是Granville在20世纪60年代提出来的。该指标的理论基础是市场价格的有效变动必须有成交量配合,量是价的先行指标。利用OBV可以验证当前股价走势的可靠性,并可以得到趋势可能反转的信号。比起单独使用成交量来,OBV看得更清楚。8.腾落指数(ADL)ADL(Advance/DeclineLine,腾落指数),中文名称为腾落指数,即上升下降曲线的意思。ADL是以股票每天上涨或下跌的家数作为观察的对象,通过简单算术加减来比较每日上涨股票和下跌股票家数的累积情况,形成升跌曲线,并与综合指数相互对比,对大势的未来进行预测。9.涨跌比率(ADR)ADR(Advance/DeclineRatio),中文名称为涨跌比指标,即上升下降比。ADR是根据股票的上涨家数和下跌家数的比值,推断证券市场多空双方力量的对比,进而判断出证券市场的实际情况。10.超买超卖指标(OBOS)OBOS(OverBoughtOverSold,)中文名称是超买超卖指标,也是运用上涨和下跌的股票家数的差距对大势进行分析的技术指标。与ADR相比,其涵义更直观,计算更简便。OBOS是用一段时间内上涨和下跌股票家数的差距来反映当前股市多空双方力量的对比和强弱。11.人气买卖指标(AR)股市中买卖双方的气势主要反映在每日股指最高点、最低点及开市点三者之间的关系上。人气买卖指标(AR)指标是利用一定周期内三者的差异及比值反映出股市强弱、买卖气势的指标。12.买卖意愿指标(BR)BR指标反映的是昨日股指收盘价与今日最高股指和最低股指之间的强弱走势,从而反映股指意愿。2.3股票数据的特点在前面我们已经分析过,股票市场预测的常用变量和指标,而这些数据信息的本质反映的是股票市场上多方复杂博弈的体现,这就直接导致了股票市场上的数据本身具有一些特殊的性质。这些特殊的性质才导致股票价格预测的难度,可这也正是学者们研究的动力。1.股票市场上的数据含有较多噪声。虽然在前面我们对股市预测的基本假设中已经表明,股票市场上历史总是会重演,因此我们可以用过去已有的数据黑箱预测未来股价波动,但实际上股票市场上经常会有一些突发事件,它们并不会使股票价格的结构(趋势、周期等)发生质的改变,仅仅会使股市数据发生暂时的偏离,但很快又会恢复到原来的趋势及周期上去。例如:一国突发性的产生大规模的食品安全问题、发生强烈地震等自然灾害、机构大户的黑幕操作、局部武装冲突等等。为了消除这些突然出现的噪声奇异点,在线性的条件下,一般可以通过设计各种滤波器将噪音滤除,但在非线性条件下却不能轻易处理,因为它们可能预示着股市基本结构将要发生变化的趋势,故而股票数据的这种特性要求处理股市数据的预测系统具有良好的鲁棒性。2.股市上的数据具有非线性特性。股票价格自身以及影响其波动的因素多种多样,这些变量之间往往呈现出非线性特性,并且这些非线性之间的数据关系一般都很复杂多元化,因此要求股市预测模型应具有强大的处理非线性问题的能力。虽然已经发展起来的非线性数学、耗散结构理论等为描述非线性动力学系统提供了一些可用的工具,但实际应用于股票市场上实证分析仍有不少亟需解决的问题。3.股市数据往往反映了投资者的主观性。股票市场无论怎么复杂多方博弈,其实际操作者都是投资者这些人的因素,而这些不同的投资者投资行为各有不同。不同的投资者所思考的投资方式不同,达到的目的不同,所获得的股市已有的信息也不同,所关心的具体个股或是大盘走势侧重点不同,这都导致了股票交易具有极大的主观性。投资者的主观性,使得股票预测误差相当大,并且随着时间的累加误差逐渐放大。与其他物理动力学系统不同,在股市预测系统中,对过去的样本数据的最好匹配并不能保证是最好的未来预测,即建模数据的最小误差准则并不是提高预测精度的最好准则,一种预测方法过去和现在的表现不能说明其未来的预测结果。4.我国的股市波动具有很强的政策性导向。由于我国股市建立时间短,投资者的投资心态还不十分成熟,市场经济体制还不完备,股市上还存在很多国有巨头操盘,并带有很多计划经济体制的特征,因此我国股市对于国家的政策性导向非常敏感。故而我国上证和深证中经常出现所谓的暴涨暴跌,因此很难用一个稳定的模型来对这种股市的变动做出准确的预测。三.神经网络的基本原理介绍3.1人工神经网络的定义和发展过程人工神经网络(ArtificialNeuralNetworks,ANN),是人工智能的一种核心方法,是人类中枢(大脑)神经系统的简化模型,是由大量简单的并行分布的计算单元(神经元,neurons)互相连接而成的自适应非线性系统。神经网络作为一种对人脑的最简单的抽象和模拟,是探索人类智能奥秘的有力工具,近年来它已经发展成为一门设计生物、电子、计算机、数学、物理等多学科相互交叉的前沿性课题,其具有广泛的应用前景。神经网络的研究始于20世纪40年代。半个多世纪以来,它经历了一条由兴起到衰退、又由衰退到兴盛的曲折的发展过程,这一过程大致可分为以下的四个阶段。1.初始发展阶段:1940’s初,导致了人工智能的研究。早在1943年,心理学家W.S.McCulloch和数学家W.Pitts在研究生物神经元的基础上合作提出的“兴奋”与“抑制”两种状态的神经元模型和Hebb提出的神经元连接强度的学习规则,开始了神经科学理论的研究。1957年,F.Rosenblatt提出了著名的感知器(Perceptron)模型,这是第一个真正的人工神经网络。1962年,B.Widrow和M.E.Hoff提出了的自适应线性单元(Adaline)网络,其具有自适应学习功能,在信号处理、模式识别等方面受到普遍重视和应用。2.低潮时期:1960’s末,这个时期对神经网络的研究进展不大。20世纪60年代到70年代,神经网络系统理论的发展处于一个低潮时期,造成这种情况的原因是发展过程中遇到了本质的困难,即电子线路交叉极限的困难。在当时计算机技术还不够发达的状况之下,神经网络的应用没有展开,而人工智能和专家系统还处于发展的高潮期,因此很多学者放弃了对神经网络的研究。3.重新兴起时期:1980’s中,这个阶段导致的对神经网络的研究热潮,致使几乎将其应用于所有工程领域。1982年和1984年,John.J.Hopfield博士先后在美国国家科学院的刊物上发表了其著名的Hopfield模型理论,这是一个非线性动力系统的理论模型,它引起了各国学者的关注,并力图将这一数学模型进行电子学或光学的硬件实现。这就形成了人工神经网络的队伍。1986年D.E.Rumelhart等提出了PDP(ParallelDistributedProcessing)网络思想。其中的误差反馈传播算法,即BP算法,已成为至今影响最大、最为广泛的一种网络学习算法。4.发展高潮期:2000以后。20世纪90年代以来神经网络理论变得更加外向,注视着自身与科学技术之间的相互作用,不断产生了具有重要意义的概念和方法,并形成了良好的工具。21世纪初,在这十几年学者们的努力下,神经网络理论的主要前沿领域包括:对智能和机器关系问题的认识进一步增长;神经计算和进化计算取得重大进展;神经网络结构和神经元芯片作用不断扩大。3.2神经网络基本原理3.2.1神经元模型生物神经元是一个小细胞,具有如下功能:1.接收来自感官或其它细胞的输入(输入功能);2.产生电输出响应,并传给其它神经元(输出功能)。而人脑包含:个神经元,这其中:生物神经元主要有三个组成部分:细胞体、轴突、树突。(如下图所示)突触(连接强度)突触(连接强度)树突:Input(接收信息)细胞体轴突:Output(传输信息)图1生物神经元简图说明:树突(接收信息):接收来自其它神经元的电信号,并传给细胞体。细胞体(信息处理器)对输入信号:(数学描述)轴突(传输信息):把细胞体的输出信号传给其它神经元。突触(储存信息):轴突和树突的结合点(两神经元之间)。例如,新记忆的形成是通过改变突触的强度(液状体)来实现。人工神经元人工神经元是生物神经元的简单的模仿、简化和抽象,是一个极其简单的计算单元(函数)。1943年,在神经网络研究的早期,由McCulloch(神经解剖学家)和Pitts(数学家)提出的MP模型是一种简单的人工神经元模型。在该模型中,神经元的活动表现为“兴奋”和“抑制”两种状态,其基本工作原理与如下的阈值单元模型基本相同。图2人工神经元模型上述人工神经元实现了的极其简单的非线性函数映射处理,即:,其中:—输入(来自其它神经元的信号);—输出(轴突上的电信号);—权值(突触的强度);—阈值、门限;—激活函数、传输函数。3.2.2神经网络三要素:激活函数、网络结构、学习规则。1.激活函数:它用于对求和单元的计算结果进行函数运算得到神经元的输出。下面是几种典型的神经元的激活函数。(1)线性激活函数:(用于线性自适应网络)(2)硬限幅激活函数:(用于感知器网络)(3)对数(S形)激活函数:,性质:2.网络结构:在此只介绍最重要的单隐层的前向网络结构。(a)网络结构图3单隐层的前向网络其中第一层的输出表示为:,最终输出为:(的非线性映射)=,(其中:—第k层第i个神经元、第j个输入的权值;—第k层第i个神经元的阈值。)(b)逼近能力介绍现已证明:如上的单隐层(两层)前向网络(但选取第一层为对数S形激活函数,苏楚成取线性激活函数)可任意精度的逼近中的任意函数。(此证明较难,在此略去)3.学习规则(训练规则):为了使网络完成给定的任务,利用训练样本修正网络权值和阈值的方法和过程。对于不同的网络拓扑结构和算法实现所选择的学习规则都各有不同。3.2.3学习的两种基本类型:有监督学习和无监督学习。1.有监督学习,其训练样本具有如下形式:,,…,.其中—网络的输入;—网络的目标输出。利用训练样本,调节网络的参数,使网络对应的输出逼近2.无监督学习,其训练样本为:;利用训练样本,调节网络的参数,以表示输入的某种固有特征(如聚类、某种统计上的分布特征)。3.3BP神经网络介绍由于BP神经网络已广泛应用于函数逼近、模式识别/分类、数据压缩等领域,它也是前馈网络的核心内容,是人工神经网络最精的部分。因此,在此我们只详细的探讨BP网络的结构和相关算法。3.3.1BP神经网络的拓扑结构单隐层前向网络一般层(第层结构()) 其中,激活函数:Sigmoid激活函数:;对称的Sigmoid激活函数:;线性激活函数:(输出层,函数逼近)如果多层前向网络的输出层采用Sigmoid激活函数,其输出值将会限制在范围(0,l)内(通常用于分类问题);如果多层前向网络的输出层采用对称的Sigmoid激活函数,其输出值将会限制在范围(-1,l)内(通常用于分类问题);如果多层前向网络的输出层采用线性激活函数则可以取任意值(通常用于函数逼近问题)。下面给出网络第层更精确的结构。第层输出为,称为第层第个神经元的净输入。3.3.2反向传播算法(BackpropagationAlgorithm)即BP算法在确定了网络的结构后,要通过训练样本集对网络进行训练,即对网络的阈值和权值进行学习和修正,以使网络实现给定的输入/输出映射关系。下面给出学习网络的阈值和权值的BP算法。1.随机梯度法(极小化均方误差)设,.记,其中,目标:求解 梯度法:由于无法计算,,因此采样下面的随机梯度法。随机梯度法,2.BP算法推导目标:给出计算,的快速算法。为了给出计算,的递推算法,通过引进中间变量并使用链式求导法则。(1)使用链式求导法则化简引进中间变量:,.,(1)由于,故记,则(1)化简为,(2)计算的反向递推公式()下面给出与之间的递推公式。.由于,所以.(如果,则)因此,有如下反向递推公式:,当时(即输出层),有从而,3.3.3.BP算法的实现1.初始化在区间内随机选择网络的初始权值和阈值。2.前向计算(假设我们已知了第k步:),,,其中.3.向后计算第k步从而,通过如下递推公式可计算出,.4.重新更正网络权值和阈值,3.3.4BP网络逼近能力分析K.Hornik已经证明,对于任意紧集,单隐层(两层)前向网络:,即,,可以任意精度的逼近中的任意函数。与此同时,Leshno也已经证明:上述网络可以任意精度的逼近任意连续函数。3.4神经网络的特点1.具有很强的学习能力。神经网络预测模型通过学习获取知识,并不断更新权值和阈值来改进自身性能,最终使得预测准确性较好。2.分布式存储信息。神经网络存储信息的方式与传统计算机的思维方式是不同的,神经网络通过大量神经元之间自适应性的连接即阈值以及对各连接权值的分布来表示特点的预测信息。3.自适应性。自适应性是指整个神经网络进行自我调节的能力,它包含四个方面的含义;自学习、自组织、泛化及训练。特别是在股市这样的环境非平稳的系统中,可以继续学习训练以跟踪环境的变化。而所谓的泛化能力是指经过训练后的网络对新样本能够做出正确的反应的能力。4.映射的功能。在前面的原理分析部分,我们已经知道单隐层前向网络可以任意精度的逼近n维空间中的二次可积函数。5.并行性.传统计算机处理信息的方式为串行处理,计算与存储是完全独立的两部分,这样存储器与运算器之间的通道就成了计算机的瓶颈,大大限制了它的运算能力。神经网络的各个层中的神经元都可以根据接收到的不同的信息进行独立的运算和处理,然后将输出的结果传输给其他的神经元同时进行并行处理。6.联想记忆功能。神经网络在训练过程中,输入端给出要记忆的模式,通过学习合理地调整网络中的权值和阈值,网络就能“记住”所有的输入信息。7.鲁棒性(容错性)。由于神经网络采用分布式存储信息的方式,即使网络局部受损或外部信息部分丢失也不会影响整个系统的性能,使得它比传统计算机模型具有较高的鲁棒性,而这也完全适合股市预测的需要。3.5神经网络的在实际预测模型中的问题在前面的分析了神经网络的相关基本原理之后,对于我们下面将在具体的股市预测模型中进行的编程存在一些亟需解决的问题,主要是指:网络的初始化,网络结构的选择,学习率的选择,训练停止规则等等。其实在后面的实证分析的过程中我们就是需要通过对相同的数据进行多次不同参数的选取来寻求一种相对最优的预测方案。3.5.1网络的初始化即指网络权值和阈值的初始化问题,有两种方案。1.初值直接选择为很小的随机数:如取,中均匀分布的随机数。2.取多组不同的初值试探。3.5.2网络结构的选择神经网络的近似和泛化能力主要依靠:网络结构、训练样本数等。而网络结构又包含所选网络的层数,各个不同层的神经元个数,不同的层之间的激活函数选择以及网络学习传递的方向等。1.网络层数理论已经证明单隐层(两层)前向网络可以任意精度的逼近n维空间中的二次可积函数类的任意函数。因此在一般的数据处理中常用二层(单隐层)网络即可。但由于选取的单隐层网络神经元之间“相互作用”,使得模型缺少冗余性,提高映射在一个点的逼近精度而不恶化其它点的逼近程度是困难的。因此,有时也选择双隐层网络使得,第一隐层学习局部特征,第二隐层抽取整体特征。2.隐层神经元个数的选择隐层神经元数的选择是一个十分复杂的问题。可以说隐层神经元的个数的选择与输入层与输出层神经元的数量、训练样本的数量和需解决的问题的复杂程度等都有直接关系。事实上,隐层神经元太少通常导致欠拟合,而隐层神经元太多通常导致过拟合,使网络缺乏泛化能力。但是目前理论上还没有一种科学的和普遍的确定方法。一般,确定隐层神经元个数的基本原则:1)在满足精度要求的前提下取尽可能紧凑的结构,即选取尽可能少的隐层神经元的个数。例如,在实际应用中一个常用的方法是:首先试着选择,网络参数个数训练样本个数,然后,根据网络训练后的情况适当增加或减少隐层神经元的个数。2)若使用复杂的网络,那么避免过拟合的另一种办法是在网络得到恰当调整后停止训练。3)在能够解决问题的前提下,再加上1到2个神经元以加快误差的下降速度即可。实际上在处理预测模型过程中为防止过拟合可以采取交叉确认的方法。即可将可利用数据的划分:3.5.3输入输出神经元个数输入输出神经元的个数由具体预测过程所采取的训练样本和目标样本之间相关。3.5.4学习率的选取通常选取很小的数诸如:0.1,0.05,0.01,0.005。但如果选取太小会导致网络收敛速度过慢;选取太大又会导致网络震荡或不收敛。3.5.5网络训练的停止准则1.给定迭代次数;2.记为迭代到第次,对应所有训练样本的平方误差,停止:;3.交叉验证(Cross-Validation)原则:训练误差曲线与确认误差曲线相背离,停止。神经网络算法BP神经网络在数据预测中的算法流程图如下:开始导入并归一化数据样本数据分类样本数据分类测试数据训练数据NY结束合格仿真结果评价网络收敛代入测试数据初始化网络给定神经元个数训练网络测试数据训练数据NY结束合格仿真结果评价网络收敛代入测试数据初始化网络给定神经元个数训练网络4.1输出输入变量的选取每日股票价格变化涉及的变量众多,有开盘价,收盘价,最高价,最低价,成交量,成交额,还有众多技术指标。采用什么作为输入量,什么作为输出量是一个必须考虑的问题,好的输入量配合好的模型和算法,就会给出很好的结果。考虑到股票价格中收盘价是最重要的,其是衡量每日股价涨跌的唯一价格,所以这里我们只选择和股票收盘价的量作为输出变量,这些量有:每日涨跌(即布尔量涨或跌,可将平盘看作上涨),每日涨跌幅度(-10%左右到10%左右),每日收盘价。至于输出量可选择前几日股票的开盘价,收盘价,最高价,最低价,成交量,成交额等量,例如选择前五日的股票的这些数据作为输入量。但是这样会有一个问题—输入变量维数会很高,会有30个输入变量。如此多的输入变量,需要的训练样本将会是十分庞大的。机器学习领域已经证明需要的训练样本是随输入变量的维数成指数增加的,也就是说输入变量每增加一维,所需要的训练样本的个数要在原来的基础上翻几倍,这也就是所谓的“维数灾难”。所以选取这么多输入量明显是不可取的,因为训练样本的规模将无法满足,得到的结果必然会是过拟合的,没有泛化能力,也就没有实用价值。所以变量的维数必须减小,可以通过两个方面减小维数:第一,减少需要数据的天数,将前五日改为前三日或者前两日;第二,减小每天的输入变量,比如去掉最高价,最低价等。我们采用第二种只考虑股票的收盘价和成交量,原因是股票的收盘价最重要,而成交额可以通过成交价和成交量估算出来,所以只用成交量。另外股票一般以五天为一周期即五个工作日,所以采用前五天的每天收盘价和每天的成交量作为输入量。4.2数据归一化处理数据的预处理和后处理是有效训练神经网络的很重要的步骤,常见的方法是将原始数据进行归一化处理,即通过一定的线性变换将输入和输出数据统一限制在[0,1]或者[-1,1]区间内。归一化的数据消除了输入量之间的数量级差别,比如股票价格和成交量之间存在很大的数量级差别,若不归一化,在神经网络计算权值和阈值的时候,可能使成交量相关的权值和阈值变得很小,这样在计算机存在舍入误差时很有可能被去掉或者改变,影响到训练后神经网络的性能。我们可以采用Matlab的代码premnmx,将数据归一化到[-1,1]区间;采用postmnmx代码将归一化后的数据还原。4.3数据样本分类样本数据的分类一般是将样本数据分为训练数据和测试数据,训练数据用来训练网络,测试数据用来测试网络的预测能力。这样的话就可以通过测试数据代入训练后的网络,来访真测试数据的输出值,和真实的输出值做比较便可以看出网络的优劣。测试数据和训练数据规模的比例不宜太高,太高的话训练的网络使用的训练数据少,测试数据多,测试结果一般都会很差,这是可想而知的,用少量的数据来表示大量的数据显然是不好的。我们选择样本数据的前4/5做训练样本,后1/5来做测试样本。4.4网络初始化网络初始化是给定网络的一些基本参数包括隐层个层数,隐层神经元的个数,还有网络阈值和权值的初始选择,已经训练函数的选择等。这里的参数主要指的是BP神经网络中的隐层层数和隐层神经元的个数。由于单隐层的BP网络可以解决大多数的数据预测问题,理论上也证明了单隐层的BP网络有着很强的插值能力和拟合能力,其可以以任意精度逼近L2函数空间的任意函数。多隐层的BP网络有着某些特殊的用途,在数据预测方面一般的数据输出量和输出量的关系用单隐层BP网络来刻画已经足够了。关于隐层神经元个数的选取是预测问题中一个很重要的问题,其直接关系到模型结果的好坏。太少的隐层神经元个数会导致得到的结果拟合能力比较差,预测误差较大;太多的隐层神经元会导致模型过拟合,缺乏泛化能力,预测结果难以令人信服。一般采用交叉验证法来确定隐层神经元数,该方法将数据分为训练数据和验证数据,选取不同的神经元个数利用训练数据训练网络,再将网络用在验证数据上验证,求误差,之后将训练数据和验证数据交换,同样求误差,两次误差求平均。哪种神经元个数对应的误差最小就选择那个神经元。这种方法有一个确点就是要不断的代入不同的神经元个数进行训练,当样本数据较大时,耗时将相当多。当然对于股票数据来说,样本数据的量也不小,这样一次次的训练将会很浪费时间。我们回想到普通的数据拟合问题当中,当待估计参数的个数较多并很接近训练样本的个数时,将会出现过拟合现象,根本原因是待求参数过多,而样本数据过少,简单的说就是方程组的变量很多,而方程组的个数却很少。这时数据的拟合程度会非常好,而预测能力却非常差,原因是过多的参数,过少的样本会导致每一组样本的作用会变得很大,这样求解方程时将会把每一组样本里的一些误差和个性的东西带入模型当中,而预测数据的误差是随机的,原来的模型就无法应对这些误差了。欠拟合现象刚好相反,即样本数据很多,而模型参数却很少,使得给出的模型对数据的可解释性很差,模型考虑到数据的共性成分很多,而对每组样本数据的个性很少,这样同样使得模型预测能力很差。对于某些样本数据比较规范,规律比较明显有时采用比较少的参数,模型的泛函依然会很强。说以对于模型参数个数的选择不仅依赖于样本数据的多少还依赖于样本数据的分布规律。那么和BP神经网络中的待求参数是什么呢?答案是网络的权值和阈值,也就是说一个网络中权值和阈值的个数就是该神经网络中待求参数的个数,换句话说一个BP神经网络中的所有权值和阈值都给定了这个网络就给定了。隐层神经元的个数决定着这些权值和阈值个数。简单的说的隐层神经元,个输入量一个输出变量的单隐层前馈网络对应的权值数是()和阈值的个数是(+1)个,一共是()个,也就是说一共有这么多待求参数,如果假设样本的个数为个的话,要不过拟合的必要条件是,也就是说,这样我们就给了隐层神经元个数的一个上界估计。但仅仅满足这个条件是不够的,一般情况要不小的多,才能不过拟合。一般来说样本数据规律比较明显,映射关系比较简单所需要的神经元个数也就越少,但股票的量价关系复杂,股价的波动也很难用简单的函数关系表示,所以股票预测问题中神经元个数的选择不会太少。我们可以选择神经元个数在之内选取,采用交叉验证法来确定神经元个数。可以采用Matlab代码net=newff(PR,[S1,S2,…,Sn],{TF1,TF2…TFn},BTF)对神经网络进行初始化配置其中,PR为R×2维矩阵,表示R维输入矢量中每维输入的最小值和最大值之间的范围;[S1,S2,…,Sn]中各元素分别表示从第一层隐层开始到输出层的各层神经元的数目;{TF1,TF2…TFn}中各元素表示各层神经元采用的传递函数;BTF表示神经网络训练时所用的训练函数;net为生成的BP网络对象。newff生成BP网络的同时即对网络的各层的权值和阀值自动进行了初始化,根据不同的需要,使用者可以对各层网络权值和阀值的初始化函数重新定义。4.5训练网络在BP神经网络生成和初始化以后,即可以利用现有的“输入一输出”样本矢量数据对网络进行训练。BP网络的训练通常采用train数来完成,在训练之前有必要对网络训练参数net.trainparam进行适当的设置。设置完训练参数后,就可以调用train函数对BP网络进行训练。该函数采用动量法和学习速率自适应调整策略训练网络,将动量法和自适应学习速率结合起来,利用两方面的优点,来优化BP神经网络的训练,返回误差参数。其常用格式如下:[net,tr]=train(net,P,T)其中,尸为输入样本矢量集;T为对应的目标样本矢量集:等号左右两侧的net分别用于表示训练得到和训练以前的神经网络对象;f,存储训练过程中的步数信息和误差信息,并给出网络误差实时变化曲线。4.6网络仿真采用训练数据训练得到网络,可将训练数据和测试数据一起代入网络中得到网络的模拟数据的输出,与实际数据输出做对比,可以观察到网络的预测效果。利用sim函数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论