基于遗传算法和神经网络的股票价格预测

更新时间:2023-05-16 12:22:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

遗传算法

 第23卷 第2期

文章编号:100325850(2010)0220061202

电脑开发与应用(总149) 61

基于遗传算法和神经网络的股票价格预测

ForecastingStockPricesbasedonGeneticAlgorithmsandNeuralNetwork

卢 泽 叶德谦 南 敏

(青岛理工大学中德信息技术合作研究所 山东青岛 266033)

【摘 要】针对证券市场运作的复杂性,提出了一种改进的BP神经网络模型,并将其应用于金融街的股价预测。采用遗传算法对网络结构和权值进行了优化,提高了网络的预测精度,加快了收敛速度,克服了以往传统预测方法的缺点。实验结果表明,将改进的BP网络模型用于股市分析和股价预测具有一定的准确性和应用价值。【关键词】BP神经网络,遗传算法,股票价格,预测

中图分类号:TP393文献标识码:AABSTRACT Tothecomplexityoftheoperationofthesecuritiesm,animprovedmodelwasproposed,andsuccessfullyappliedtothestockpricepredictionofFinanceStreet.monofandrightvaluebygeneticalgorithmsimprovedthepredictionpof,speed,andovercomethe

shortcomingofthepasttraditionalfoethods1ExperimentalresultindicatedtheuseofimprovedBPnetworkforenttobefeasible,effective,havecertainrationalityandapplicationprospect1

KEYWORDS BPork,geneticalgorithm,stockprice,prediction

在股票市场中交易股价往往与它的本身价值有一定的差别,这将导致人们投资的风险和机遇。例如,我国A股市场在2007年10月24日达到最高的6124点,之后又在一年后落回到1700点左右,充分体现了股市的风险与收益关系。正是由于这个原因,掌握其变化规律,预测其走势,并在其中获得收益一直是投资者梦寐以求的一件事情。而近几年来股票投资已经成为许多家庭理财的一种重要方式。

在学术界,股票价格的预测一直备受研究者们的关注,股票市场的高额回报也促使了股票市场预测的发展[123]。对于股票变动趋势预测的方法分为两派:一是基本面分析,其主张每一张股票都有其价值,而其价值受到经济因素、政治因素、公司自身因素、行业因素、心里因素等因素决定,虽然价格可能在价值的上下波动,但是不会脱离价值;二是技术分析,其核心是三条:即市场行为反应一切;价格呈趋势变动;历史会重演。由于基本面分析存在建模复杂,预测量大,因素不能准确确定等原因只能预测股票的长期价格变动和价格趋势。相比之下,技术分析可以根据数据本身的联系分析近期的走势,故本文采用技术分析法。而使用的技术是近期非常成熟的遗传算法和神经网络技术。

1 预测过程

111 确定输入

能预测股票价格的因素相当多,有如开盘价等历

3  2009211201收到,2009212229改回

33 基金项目:教育部留学回国科研基金资助项目(0212498)。

史基本信息,还有如KDJ等间接反应走势的处理后信息。本文选择开盘价、最高价、最低价、收盘价、成交量、MA5、MA10、MA20、MACD、KDJ、W&R、OBV、BOLL作为输入项。数据来源为大智慧软件收集的2004年3月10日到2009年5月21日之间1213个交易日里金融街股票的相关数据。其中前1200个数据作为训练数据,后13个数据作为预测数据。112 神经网络设计

人工神经网络是人工智能的一种方法,具有可任意逼近非线性连续函数的学习能力。而BP神经网络是其中一项成功应用。BP算法是非循环多级网络的训练算法。其主要思想是将学习过程分为两个阶段:第一阶段,给出输入信息并通过输入层经隐含层逐层处理并计算每个单元的实际输出值,此称为正向传播过程;第二阶段,若在输出层未能得到期望的输出值,则逐层递归地计算实际输出与期望输出之差值,以便调节权值,此称为反响过程[4]。BP网的结构如图1所示。

整个过程即为利用输出层的误差来估计输出层的直接前导层的误差,再利用这个误差来估计更前一层的误差,如此下去就获得了其他各层的误差估计,这样就形成了将输出层端表现出的误差沿着与输入信号传送相反的方向逐级向网络的输入端传递的过程[5]。

Cybenko、Fanahashi和Hornik已经从理论上证明了:仅含有一个隐层的前向神经网络能够以任意精度逼近定义在C([0,1]n)上的一个紧集上的任意非线

333卢 泽,男,1984年生,硕士研究生,研究方向:人工智能,决策支持。

遗传算法

62 (总150)基于遗传算法和神经网络的股票价格预测2010年 

适应度,对群体中的个体进行选择、交叉和变异操作;④根据一定的终止准则,在进行n次操作后,选取m个具有全局性的进化解;⑤以m个进化解为初始解,设计BP神经网络,获得神经网络的权值和阈值;⑥训练神经网络;⑦得到满足精度要求的最优解,即可得问题的优化解。

2 仿真实验

运用MATLAB710作仿真实验预测,其中设置参数,goal=01005,epochs=6Α=0195,Γ=01005;30,交叉概率为2

、图3和图4所性函数。所以本文采用三层BP网络预测模型来进行设计。输入层有上述13个节点,输出层有一个节点表示下一个交易日的收盘价。根据Homik提出的式(1)可以确定隐层节点数

)+其中n。根据式(1),[5,27]。而

=最佳的节点数还是要通过实验来确定。运用MATLAB710进行仿真实验,可知从1开始,随着节点数的增加,训练误差逐步减少,但测试误差在14处达到最小,为了兼顾训练误差和测试误差,选择了14个节点。所以我们选择1321421型网络模型。113 数据预处理

由于原始数据单位不同,绝对值相差很大,同时原始数据含有一定的噪声(不确定的属性值),所以需要对输入进行预处理,其转换关系式为:

(2)-1xi=2

maxx-minx

其中,minx和maxx分别为样本中的最大值和最小值,x′i为预处理以后范围在[-1,1]内的数据,xi为原始样本数据。114 网络的改进

由于BP算法是基于梯度下降这个本质的,所以它无法避免地存在以下3个缺点:①学习过程中的收敛速度慢;②容易陷入到局部最优点上,算法不完备;③鲁棒性不好,网络性能差。

所以BP算法需要其他的方法来使其更有效率。遗传算法优化是其中一种方法。遗传算法计算简单,它根据目标函数计算适值,对问题的依赖性,多点并行操作,能有效地防止搜过过程收敛到局部最优点上;搜索时概率决定搜索规则,采用具有高效性的启发式搜索;具有并行计算特性,可以大规模地并行计算以提高速度。鉴于此,本文采用遗传算法来优化BP神经网络。

算法基本原理是运用BP算法网络架构最优解用遗传算法的优秀寻优能力来对权值来进行优化学习。

[6,7]

具体的步骤如下:①解空间内编GABP优化模型

码,构造适应度函数;②初始化种群;③根据个体的

图2 BP网络误差

学习曲线

图3 改进BP网

络误差学习曲线

图4 预测价格与

实际价格对比

3 结 论

通过仿真试验,看出通过遗传算法改进的BP网络在对金融街股票价格的变化趋势进行预测,取得了较好的结果。在训练速度和寻找最优点方面,改进的BP网络也有了很大的提高。但是我们也要看到,预测价格与实际价格在某几天上也有比较大的出入,经过研究判断可能与输入中可能没有含有全部因素,如宏观经济政策,银行利率调整等因素有关,而这个也给我们的下一步研究提出了新的方向。

参考文献

[1][2]

EugeneFFama.MarketEfficiency[Z].Long2TermReturnsandBehavioralFinance,1998,49.

DuanJJ.APredictionAlgorithmfortimeSeriesbasedonAdaptiveModelSelection[J].ExpertSystemswithApplications,2008(8):19222.

[3]

PhilipMTsang.DesignandImplementationofNN5forHongKongStockPriceForecasting[R],2007,453.

[4][5][6][7]

袁曾任.人工神经元网络及其应用[M].北京:清华大学出版社,1999.

蒋宗礼.人工神经网络导论[M].北京:高等教育出版社,2001.

国 嘉,王瑞敏,王家海等.基于遗传算法的神经网络学习方法[J].计算机与数字工程,2003,32:982101.梁化楼,戴贵亮.人工神经网络与遗传算法的结合:进展及展望[J].电子学报,1995(10):1952200.

本文来源:https://www.bwwdw.com/article/y7c4.html

Top