基于神经网络的股价预测_第1页
基于神经网络的股价预测_第2页
基于神经网络的股价预测_第3页
基于神经网络的股价预测_第4页
基于神经网络的股价预测_第5页
已阅读5页,还剩28页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

基于神经网络的股价预测摘要随着中国经济的快速增长和金融市场的不断扩大,股票这类对虚拟经济的投资越来越受人们的青睐。股市出现后,人们试图研究股价波动,掌握价格波动规律,学术界发明了各种研究方法来预测股票。 BP 神经网络在大数据预测的经典算法中受到投资者和研究者的青睐。然而,BP 算法由于其收敛缓慢而易于落入局部最小值,效率较低。基于对股价预测问题的深入分析和各种预测股价方法的比较,本文通过建立遗传 BP 神经网络模型探讨了股价预测方法。首先将利用遗传算法搜索的最优个体作为 BP 神经网络的初始权重和阈值。然后,通过试错法确立隐层节点的数量,构建 BP 神经网络的模型。然后,使用 BP 算法训练网络,训练过程自动调整学习率。基于遗传算法的 BP 神经网络不仅可以发挥遗传算法的全局搜索,而且能快速有效地发挥 BP 神经网络的作用。两者的结合,加快了运算效率,提高了 BP 神经网络学习能力和预测股票的能力。基于该算法的思想,本文构建了预测模型,以 Matlab9.0 为实验平台,进行模拟实验,选取上海和深圳 300 指数为实验对象,用前 10 天的收盘价和开盘价加上当天的开盘价来预测当天的收盘价。其中,将 140 天的历史数据中的前 100 组数据用作训练样本,最后 30 组数据用作测试样本。从收敛速度、稳定性和准确性的三个角度比较和分析 BP 神经网络预测模型和遗传 BP 神经网络的预测模型。实验表明,提出的基于遗传神经网络的预测股价方法具有一定的实用性。关键词:机器学习;股价预测;BP 神经网络;遗传算法;绪论1.1 研究背景和意义股票市场在全球金融体系中起着至关重要的作用,因为它允许公司通过交易公司所有权股份来筹集资金。但是,它不仅对企业本身很重要,而且还被用作银行和私人投资者的投资平台。为了获得良好的股票投资回报,对未来价格的准确预测至关重要。然而,预测股市是一个艰巨的任务,因为股票的价格走势受经济因素、业务因素、政治因素、市场因素和心理等因素的影响。从股市表面上看,股市在缺乏一定法律约束的情况下出现变化。同时,中国股民的结构具有特殊性,买家的心理状态和股票交易行为对股票走势有直接的影响,导致股份价格波动,不容易掌握股价。股市的变化和整个市场经济的发展有着密切的关系,在国民经济中发挥了非常大的作用。它的作用不只是受到广大投资者的关注,政府也十分关注。对于股票投资者,未来股价变动趋势预测越准确,收购的盈利几率和避免风险就越容易;国家经济发展在建设方面,股票预测研究也起着重要的作用,所以研究股价走势预测具有重大意义。股票预测是基于过去和现在的股票价值来引入未来价值,这决定了股票预测研究对象不是一个特定的事件,而是一个随机的,不确定的事件,这需要使用匹配的科学预测方法来做出合理的推论。对于股票预测,基本特点如下:(1 )股票预测是一种非线性动态系统,股票市场是一个非常复杂的系统,没有准确的方式来满足任何一种股票预测,而且近年来发现试图找到一个非常精确的方法是不现实的,我们可以做的是在合理的范围内预测出错控制。(2 )根据股票市场各种因素的复杂关系,一般的预测方法难以准确预测。和股票时间序列相关的历史数据也很多,建立股票预测模型的一般线性方法显然是一个很大的错误,难以实现实际效果。(3 )由于股票系统的非线性动力学,必须使用股票预测方法来拟合非线性数据方法。目前,线性系统等多项成熟的方法,如多元线性回归分析,非线性系统处理理论不完善,进一步进行理论与实践研究。(4 )股价数据有一些波动的奇点。这些奇点可能对股票预测的研究有一定的影响。线性方法可以直接消除这些奇异点,但非线性系统认为系统的鲁棒性不能直接从我们的数据推导出这些奇异点。(5 )买家为投资者。投资者是非常主观的动态个人,有良好模式的股价历史数据,使得预测误差控制在一个很小的范围内,但由于股票受到个人对未来事件的影响,我们对股价走势的预测仍然有一定的不准确性。(6 )考虑到我们的股票市场受到明显的国家政策的影响,有必要通过科学的方法来预测国家政策的这个因素。1.2 国内外研究现状过去很长一段时间,由于股市规模小,信息共享的速度太慢,股票的技术限制被分析,人们只能通过自己的主观判断做出决策和投资。随着近几十年股票市场的快速发展,信息披露的规范化和信息共享的多样化,人们开始寻求一些有效的预测方法来分析和研究股票市场,进行更有效的投资。但股市是一个复杂的系统,不仅受市场外部因素的影响,还受到自身内部对股市的影响,预测确实有一定的难度。但人们并没有停止对股票预测的研究和探索。1.2.1 国内外研究现状1987 年,神经网络算法第一次被应用于预测领域。此后,神经网络在预测研究中得到迅速发展。美国前沿金融公司使用神经网络来预测 20 世纪 90 年代中期的股票市场。在 20 世纪90 年代,White 利用神经网络来预测 IBM 股票的每日收益率。 21然而,预测结果不能令人满意,此外通过分析神经网络被捕获在局部最小值,发现该网络不能收敛到最小点。 1990 年, Kimoto,Yada 等学者利用神经网络技术开发 TPOix 预测系统3,该系统主要在东京证券交易所股票加权平均指数(类似于道琼斯指数)预测结果显示神经网络模型的预测结果优于 TOPix 加权平均值的结果。 1996 年,Gen Cay 在 1967 年建立了前身人工神经网络模型41,以道琼斯工业平均指数的移动平均线作为输入变量。1988 年道琼斯指数分批进行了分析。预测结果表明,BP 网络模型的预测能力明显优于简单移动平均法。 2000 年,罗德里格斯等研究人员建立了移动平均规则和前向人工神经网络的综合模型。对西班牙股市的实证分析显示,基于预测结果进行的股票交易收益远高于收购后获得的收益。 2003年,G.Peter zhang 实验结果表明,神经网络模型不仅具有比 ARIMA 模型更好的预测精度,而且具有处理非线性数据的优点。实验结果表明,神经网络模型不仅具有比 ARIMA 模型更好的预测精度。另外,进入二十一世纪以后,神经网络在股市分析中已经出现了很多研究成果。 A. murat oi Bayogly 和 Ismet Bahadir 比较了神经网络和贝叶斯估计的两种方法在股票市场交易中的预测效果71。本文选择 215 个股票的历史数据,根据不同的标准对这些历史数据进行分析,得出结论:两种方法均可应用于股票市场,但神经网络方法的效果明显好转。Chi-Jie Lu 认为,股票市场的数据非常嘈杂,时间变化非常强劲。他尝试使用完整的独立分量分析进行去噪,然后提出基于神经网络的股票趋势预测模型。该模型首先构建一个独立的,然后使用它来分析预测变量以产生独立的分量,然后去除数据以重建预测变量。重建的预测变量将包含低噪声信息作为神经网络模型的新输入变量。该模型使用日本日经 225 指数的开盘价来评估最终表现,结果表明,Chi-Jie Lu 提出的新模式优于与神经网络模型相结合的小波去噪技术,但对神经网络的内部结构没有深入的分析和研究。 Hammd,M. Alhaj ali 和L.hall 使用 BP 多层神经网络分析了中东约旦股市的股价 9,通过实证分析发现,与统计分析方法相比,BP 神经网络预测方法获得更高准确性,预测能力更好,但是他们的研究并不涉及 BP 神经网络,一个一个地将问题逐渐转化为局部最小点。 Arnold F.Shapiro 将三种方法与粗糙集、神经网络和遗传算法结合起来,独立处理时间序列数据,构建了一个综合预测模型10,进行数据处理和预测,既保留了每种方法的优点,也弥补了彼此。然而在研究过程中,不分析每种方法单独的效果对综合模型的影响,综合模型的有效性并没有直观的体现出来。来自 TOBB 大学的 Murat 使用神经网络模型来分析和预测 TKC 证券的数据。 11输入向量的选择从不同类型的模型开始,包括趋势,动机,模式和波动性,并验证数据。结果表明,与其他预测模型相比,神经网络预测模型更好,可用于预测投资组合的价格并预测短期交易。然而,研究仍然有一些主观性,没有详细的解释选择模型输入向量的基础和原因。 MelikeBildirici 等将 ARCH / GARCH 模型与人工神经网络模型 12相结合,分析了近三十年来土耳其股市的股票市场数据。结论表明,ANN-APGARH 模型显着提高了股票价格预测的准确性,但仍然缺乏模型处理大规模非线性数据的能力。1.3 本文所做的工作本文的主要内容是研究遗传神经网络在股票价格预测中的应用,主要针对 BP 算法在股价预测中的障碍,例如:收敛缓慢、有很大概率落入局部极小点等问题,使用遗传神经网络算法建立股票预测模型并验证其可行性。本文主要内容如下:1、使用遗传算法优化 BP 神经网络的初始权重和阈值通过遗传算法优化 BP 神经网络的权重和阈值。首先编码初始权重和阈值。然后,设置遗传算法的参数,计算适应度函数,对编码个体进行操作和重新计算。适应度函数确定是否达到适当的准确度。2、优化 BP 神经网络的结构首先确定网络结构中隐藏层节点数的近似间隔和范围,然后使用试错法计算隐层节点的具体数量。在此过程中,逐渐增加隐层神经元的数量,选择均方误差(Mean Square Error,MSE)作为误差的度量。在相同的训练频率下,选择与最小平均误差对应的隐藏层数。3、提高 BP 网络的学习率在训练过程中调整学习率,使小时候小,大时间大。可以非常随机地选择所选范围的初始学习率,您可以在评估条件时参考额外的动量,如果新错误大于过去错误的若干倍数,学习率将会降低,否则学习速率将保持不变,如果新的错误少小于旧的错误情况,则会增加学习率。4、建立股票预测模型利用前十个交易日的开盘价预测第十一个交易日的收盘价,股票预测模型设置为 3 层,输入层有 20 个节点,隐层有 12 个节点,输出层为只有一个节点。5、使用 Matlab9.0 进行模拟实验使用沪深 300 指数 130 套历史数据对网络进行训练和测试,并预测未来 30 天的沪深 300指数收盘价。分析结果可以得出结论,预测模型具有更好的收敛性和稳定性,预测结果的准确性更高。论文结构 1.4本文分为四章,具体安排如下:第一章主要分析了进行股票价格预测的背景和意义,以及国内外股票预测研究现状,最后总结了本文所做的工作。第二章主要阐述 BP 神经网络和遗传算法的相关理论知识。首先分析影响股票走势的因素,并比较股价预测方法。然后介绍 BP 神经网络和遗传算法及其在股票预测中的应用。第三章分析如何通过遗传算法优化 BP 神经网络,提出遗传神经网络学习效果的改进,构建基于遗传 BP 神经网络的股票预测模型。在第四章中,利用 MATLAB 的外部接口将股票数据导入到 MATLAB 中,对基于 BP 神经网络和改进遗传神经网络算法的股票预测模型进行了模拟和验证,验证了遗传神经网络遗传预测模型的可靠性和准确性。总结了我所做的工作,分析了提出的方法的缺点,改进了方向。第二章相关理论依据2.1 神经网络预测方法神经网络由许多并行、高度关联的数据处理单元组成,类似于神经元。神经网络模型是基于对人类大脑信息处理机制的初步了解的分布式并行数据处理结构。神经网络根据训练数据对内部节点之间的关系进行连续调整,达到学习数据变化规律的目的,这可以在下一个时期预测数据趋势来实现预测功能。神经网络具有分布式存储、并行处理、容错能力强、非线性度高、自组织性强、自学习能力强、适应能力强等特点,被广泛应用于经济数据分析和价格预测。神经网络预测方法包括径向基函数神经网络、反向传播神经网络(BP)和感知神经网络211。在预测神经网络股价走势的具体过程中,有必要全面解决三个问题。它们是输入量确定、回溯期选择、神经网络算法及其参数确定的问题。讨论分析这三个重要问题,具体如下:(1 )解决相关投入数量澄清问题解决股价走势,需要处理大量数据,包括历史数据和实时数据等大量内容,涉及的参数包括价格、数量等多项内容。虽然这些内容和数据看起来比较简单,但在实际操作过程中,解决相关数据输入输出是个大问题,完成准确的预测工作是非常困难的。其实,由于股价走势在综合技术分析过程中,股票开盘价、收盘价、数量等综合信息是根据人们的历史经验,以相关技术手段计算结果,从中发现股市走势的规律是很难的,使用神经网络预测方法可以实现选定网络的输入变量,预测未来股价走势。(2 )解决确定问题参数的神经网络算法本文采用 BP 算法,可以全面实现股价时间序列问题,充分体现时间变化对股价变动的直接影响。(3 )解决回溯窗口的选择在股市发展变化中,日均股价、技术分析指标受股市变动趋势的影响。随着股市的变化,这个过程实际上就是一个时间序列的变化,解决回溯窗口的问题,就是我们面临的一个重要问题。2.1.2 股票预测困难股价波动受到干扰因素的影响,在以下几个方面有困难:1、心理预期心理的不确定性。股权投资的目的是为了盈利,通过出售行为实现利润,投资者的心理影响预计会非常大。投资者不是完全理性的,但对心理偏好的厌恶感,会有“过度自信”,“放牧效应”等等,所以投资者预期会有非常强烈的心理不确定性和不可预测性,会影响股票价格随着时间的推移,这种效应变得越来越难以衡量。2、股价数据非线性。股价和影响股价的因素数据之间存在很高的非线性度。股票价格预测系统应具有强大的计算能力来处理大量的非线性数据。传统的预测方法主要是解决线性数据预测的方法,股票价格预测难以成为高度非线性的复杂系统。3、股价数据高噪音。影响股票价格的因素有很多,一些因素几乎完全无关,所以股价数据在这个过程中会包含更多的噪音,数据的高噪声会影响股票的预测准确性和准确性价格预测系统如果不消除等级,那就是股价预测过程需要关注的一个难题。总之,股价预测是一个复杂的系统,具有高度的非线性特征,受到很多因素和功能的影响。2.2 BP 神经网络通过上述股票预测分析,我们可以看出影响股票价格的因素有很多,而且价格变动是一个动态过程,难以量化,研究人员难以建立基于股票的历史数据。大多数传统统计方法都是基于时间序列的线性特征,大量的研究表明,股票价格的运作是非线性的,所以传统的方法不能对股票价格波动进行有效的分析和预测。 BP 神经网络的基本原理是模拟人脑的思维。行为金融理论认为股价轨迹是人们变化的结果。所以人们以许多方式思考的方式可以反映股票价格的变化。因此,使用具有非线性特征的 BP 神经网络可以在理论上模拟股票价格的运作。2.2.1BP 神经网络基础针对 BP 神经网络的研究可以起源于 19 世纪末。在神经网络的整个历史中,其发展分为四个阶段。胚胎阶段的第一阶段,从 1890 年到著名的美国心理学家 W. James 率先研究人类大脑结构和功能,到 1969 年,Minsky 和 Papert 发表了 感知器(Perceptions)。第二阶段是低估阶段,从 1969 年到 1982 年,J. J. Hopfield 出版了着名的文章神经网络与物理系统(Neural Network and Physics system)。第三阶段是复兴阶段,从 J. J. Hopfield 研究论文突破性进展开始,1986 年结束。D.E.Rumlhart 和 J.L. McClelland 率领研究团队发表了并行分布式处理(Parallel Distributed Processing)。第四阶段是高潮阶段,1987 年第一届国际人造神经网络学术会议作为标志,人们对人工神经网络的研究与应用的热情急剧高涨,至今依然处于上升之中。BP(反向传播)网络是由误差反向传播算法训练的多层前馈网络241,它是最广泛使用的神经网络模型之一。BP 网络可以训练和存储大量的输入输出模式映射,不会体现出表现此映射的函数方程。其学习方法是使用最陡下降法,利用逆向传播从而持续调整算法的权重和阈值,直到算法误差平方和最小25.26。 BP 神经网络拓扑包括输入层、隐含层和输出层,如图 2.1 所示。输入层从外部接收输入样本 X,然后执行权重调整。在此过程中,将比较理想的输出信号和实际的输出信号,用得到的误差来校正权值。在图中,是输入采样信号,, 是网络输出信号。 其中,输入层、隐含层和输出层的输入和输出定义如表 2.1 所示。各层输入输出定义操作 输入层 隐含层 输出层输入 X=(,) G=(,) M=(, )输出 G=(,) H=(, ) Y=(,)同时,定义输入层到隐含层的关联权值为,隐含层到输出层的关联权值为,隐含层的输出阈值为,输出层的各结点输出阈值为,为学习速率。网络适应函数 S:f(x)=输入采样信号受到权值的作用生成结果减去阈值,能够得到隐含层的各个输入:=-通过隐含层的输入调用 S 函数,能够运算出隐含层的输出对输出层的输入 M 调用函数 S,得出输出层的各结点输出 Y。=f()根据输出层的实际输出向量 Y=(, )和期望输出向量 O=(,)能够计算出输出层各结点的误差=(-)(1-利用关联权值、输出层的一般化误差和隐含层的输出,计算隐含层各节点的一般误差,=(1-)用误差和隐含层各节点的输出校正关联权值。(N+1) =(N)+用误差和隐含层各节点的输出修正阈值(N+1) =(N)+使用隐含层各节点的误差 和输入层的输入向量 X=(,)来校正关联权值(N+1) =(N)+使用隐含层各节点的误差 和输入层的输入向量 X=(,)校正关联权值的阈值(N+1) =(N)+反复进行以上步骤,直到误差值达到指定的范围或者训练达到指定次数时结束。2.2.2BP 学习算法误差反向传播(BP)算法是典型的监督训练算法。学习过程由两个过程组成,即信号的正传播和误差的反向传播。通过向后分配输出误差,将误差分配给每个层的子模块,以获得每个子模块的误差信号,进而调整每个子模块的权值。这样输入和输出问题的一组样本就可以被看作是非线性优化问题。神经网络学习是为了能够学习一个可以获得输出的模型。实际上学习过程在外部样本中不断调整过程的权重,而在这个过程中是调整规则的权重。在学习和优化过程中,使用梯度下降算法得到模型实际和理想输出之间的均方误差(MSE),以此达到神经网络训练的目的。它是一种非循环多重神经网络学习算法,算法流程图如图 2.2 所示。计算隐含层节点误差数值学习求误差梯度全部满足开始初始化提供输入特征向量和期望输出特征向量求隐含层、输出层各结点求期望输出特征向量实际输出值的偏差满足要求开结束是否否是BP 神经网络算法流程图BP 神经网络的初始化包括在每个关联权重范围(-1,1)内任意分配一个值,选择合适的误差函数 e,确立计算精度和最大学习次数 M,

温馨提示

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

评论

0/150

提交评论