论文部分内容阅读
摘 要:本文针对神经网络BP算法的缺点,利用了神经网络学习因子自调整的并行算法, 并将改进后的算法应用于股票预测中,结果表明,该算法是有效的。
1.引言
在金融系统的预测研究中,股票预测是一个热门的课题,虽然在股市中影响股票价格的因素包罗万象,对股市进行预测存在一定的不准确性,但是在人们的不断研究下还是出现了很多优秀的算法。现在研究较多的是传统统计经济学方法和人工神經网络方法。传统的统计经济学方法存在不适合动态系统、建模复杂等局限性,而人工神经网络作为一种大规模并行处理的非线性系统,在股票价格的短期预测中已取得了令人比较满意的成绩。当前应用较多的是多层前馈式神经网络,其典型的网络训练算法是反向传输算法(BP算法)。它是在1985年由Rumlhart等人提出的,其学习模型是把一组样本的输入输出问题变成一个非线性优化问题,使用最优化理论中广泛使用的梯度下降(Gradient descent)算法,用迭代运算求解。网络中增加非线性作用的隐节点,增加可调参数,从而求得精确解。
虽然BP算法是目前使用最为普遍的算法,但是由于BP算法学习慢且不易收敛,许多文献提出了一些改进方法,但都存在以下问题:局部最小问题没有彻底解决;学习效率问题和网络结构的选择没有一定的规则。
2 .BP算法的改进
因为BP算法存在着收敛的速度慢、易陷入局部极小点等缺点,必须对其进行改进,下面是对经典BP算法的改进:
(3)采取变学习速率法。经典BP算法的学习速率?着恒为一个很小的数,通过对BP网络误差曲面的分析,在平坦区?着很小使学习速率变得很慢,在另外一些区域则会引起震荡,这里我们采用变学习速率的方法。也就是,如果误差震荡?着=?着·S(0.5~0.9);否则?着=?着·L(1.005~1.01)。学习速率的变化使此算法对不同的数据和不同规模的神经网络有很强的适应能力。
(4)在改进BP算法的同时,我们又第一次将训练方式从学习算法中区别开来进行研究。算法只涉及到一组数据的学习,而神经网络学习的是许多组数据,如果一组一组的学习训练,神经网络会出现学新忘旧的现象,学习效率不高。
3 .构造神经网络对股票进行预测
3.1神经网络预测方法
3.2数据的选择与预处理
网络的输入数据取股票的当天开盘价、收盘价、最高价、最低价、成交量、成交金额,其中成交量、成交金额都是反映股市“人气”的数据,体现提高股市“人气”在输入数据中的比例的想法。为减小输入数据的变化范围,先对所选股票的开盘价、收盘价、最高价、最低价、成交量、成交金额进行预处理,生成输入序列,如下:
3.3网络结构
构造这样一个神经网络,其网络结构中与图2类似,输入层各有60个神经元,隐层起始有10个神经元,由网络自身通过给定的规则对隐层的神经元数目进行自我调整,输出层各有6个神经元,训练和预测综合指数的开盘价、收盘价、最高价、最低价、成交量、成交金额,经BP算法训练好以后进行滚动预测。
我们选取上证指数某单支股票2001.3.27——2001.7.4共100天的数据,其中前70天作为训练数据来训练网络,后30天作为测试数据测试网络的性能。
4 .结束语
通过以上的分析和仿真可以看出,股票预测是一个比较复杂的过程,本文仅对原有BP算法进行了一些改进,并将算法应用于简化的股票预测模型中,得到了一些有用的结果。在下一步的研究中,需要将模型建立得更加完善从而能够有效的指导实际的股票投资。
注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
1.引言
在金融系统的预测研究中,股票预测是一个热门的课题,虽然在股市中影响股票价格的因素包罗万象,对股市进行预测存在一定的不准确性,但是在人们的不断研究下还是出现了很多优秀的算法。现在研究较多的是传统统计经济学方法和人工神經网络方法。传统的统计经济学方法存在不适合动态系统、建模复杂等局限性,而人工神经网络作为一种大规模并行处理的非线性系统,在股票价格的短期预测中已取得了令人比较满意的成绩。当前应用较多的是多层前馈式神经网络,其典型的网络训练算法是反向传输算法(BP算法)。它是在1985年由Rumlhart等人提出的,其学习模型是把一组样本的输入输出问题变成一个非线性优化问题,使用最优化理论中广泛使用的梯度下降(Gradient descent)算法,用迭代运算求解。网络中增加非线性作用的隐节点,增加可调参数,从而求得精确解。
虽然BP算法是目前使用最为普遍的算法,但是由于BP算法学习慢且不易收敛,许多文献提出了一些改进方法,但都存在以下问题:局部最小问题没有彻底解决;学习效率问题和网络结构的选择没有一定的规则。
2 .BP算法的改进
因为BP算法存在着收敛的速度慢、易陷入局部极小点等缺点,必须对其进行改进,下面是对经典BP算法的改进:
(3)采取变学习速率法。经典BP算法的学习速率?着恒为一个很小的数,通过对BP网络误差曲面的分析,在平坦区?着很小使学习速率变得很慢,在另外一些区域则会引起震荡,这里我们采用变学习速率的方法。也就是,如果误差震荡?着=?着·S(0.5~0.9);否则?着=?着·L(1.005~1.01)。学习速率的变化使此算法对不同的数据和不同规模的神经网络有很强的适应能力。
(4)在改进BP算法的同时,我们又第一次将训练方式从学习算法中区别开来进行研究。算法只涉及到一组数据的学习,而神经网络学习的是许多组数据,如果一组一组的学习训练,神经网络会出现学新忘旧的现象,学习效率不高。
3 .构造神经网络对股票进行预测
3.1神经网络预测方法
3.2数据的选择与预处理
网络的输入数据取股票的当天开盘价、收盘价、最高价、最低价、成交量、成交金额,其中成交量、成交金额都是反映股市“人气”的数据,体现提高股市“人气”在输入数据中的比例的想法。为减小输入数据的变化范围,先对所选股票的开盘价、收盘价、最高价、最低价、成交量、成交金额进行预处理,生成输入序列,如下:
3.3网络结构
构造这样一个神经网络,其网络结构中与图2类似,输入层各有60个神经元,隐层起始有10个神经元,由网络自身通过给定的规则对隐层的神经元数目进行自我调整,输出层各有6个神经元,训练和预测综合指数的开盘价、收盘价、最高价、最低价、成交量、成交金额,经BP算法训练好以后进行滚动预测。
我们选取上证指数某单支股票2001.3.27——2001.7.4共100天的数据,其中前70天作为训练数据来训练网络,后30天作为测试数据测试网络的性能。
4 .结束语
通过以上的分析和仿真可以看出,股票预测是一个比较复杂的过程,本文仅对原有BP算法进行了一些改进,并将算法应用于简化的股票预测模型中,得到了一些有用的结果。在下一步的研究中,需要将模型建立得更加完善从而能够有效的指导实际的股票投资。
注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”