APP下载

基于计算机智能算法的沪深300股指期货价格预测

2019-06-15朱雪超

商情 2019年14期
关键词:BP神经网络

朱雪超

【摘要】股票市场是一个高风险高收益的投资领域,为了不断降低投资风险进而获取最大的投资效益,投资者做了大量的研究,从不同的角度探究股票市场运行的内在规律,不断完善股票投资的分析方法、寻找理想的分析工具。基于此,本文利用R软件统计方法对上海证券交易所提供的2016年1月4日-2017年12月31日平安银行732天的相关数据建立BP神经网络模型,然后将其用于股票交易系统产生市场上的交易决策。本文选用的R软件处理的智能方法能够为投资者提供客观信息,预测准确度较高,在股票预测等方面具有一定的优越性。

【关键词】BP神经网络 R软件 价格预测 交易决策

一、前言

理论上来说,股票市场可以被看作是一个非常复杂的非线性动态系统,对股票价格进行相关的分析与预测非常困难且极具有挑战性。然而基于对巨大利益的追求以及对一些未知规律的求知欲望,人们一直坚持不懈的对股票市场进行探索与研究。近年来人工智能方法迅速发展起来,并被广泛应用于智能控制、机器学习、存储与管理等科学领域,它在股票预测中的应用也受到人们追捧。现代智能技术中一个重要的研究就是数据的机器学习,数据的机器学习目的是希望能够通过计算机对已知数据进行反复的自主学习,使计算机能够找到数据间的相互关系,从而使其能够完成对未知数据的判断和预测。

二、BP神经网络原理

人工神經网络系统的基本构成单元是神经元,它是一个非线性、动态处理系统,可以实现多输入、单输出的过程。我们可以依据神经元的这种功能与特征,将神经元抽象成较为简便的数学模型。人工神经网络中的神经元主要包含三个要素;一组连接、一个求和单元以及一个非线性激活函数。人工神经元三要素如图1所示。

(1)一组连接,权值wij表示系统中神经元j到神经元i的连接权值,它主要表现的是一组连接中的连接强度,系统中一个正的权值表示激活,而负的权值则表示抑制。

BP神经网络的突出特点是信号的正向传递与误差的反向传递。在信号的正向传递过程中,数据信号通过输入层进行多层输入,再经过隐含层的逐步处理后经过输出层输出。系统中每一层神经元都只会影响到它下一层的神经元,当然也只会受它上一层神经元的影响。若经过输出层输出的结果距离我们的期望输出有比较大的偏差,系统则自动转入信号的反向传递阶段。系统将根据输出与期望的误差对网络权值以及阀值进行自动的调整,使得系统误差信号最后能够达到一个精度要求,从而使BP神经网络的输出最终达到我们的期望。BP神经网络中神经元的之间的传递函数为s型函数,输出量为0到1之间的连续量。

三、运用R软件BP神经网络方法的股票预测

BP神经网络因为可以较为便捷准确的处理高度非线性问题,所以被很多研究者广泛的应用于经济预测中,在R软件中的添加包nnet可以实现BP神经网络。本文就是基于BP神经网络方法对相关股票数据进行建模,并利用R软件中的nnet添加包编程实现BP神经网络的建模过程。

在将数据应用到BP神经网络之前,我们首先需要对股票相关数据进行建模前预处理。也就是对相关数据进行相应的尺度转换,这样可以有效的避免变量的尺度对神经网络模型的性能产生影响。在本文中们我们先将数据进行标准化处理,使所有股票相关数据的均值为0标准差为1。R软件中函数scale()可以实现上面的数据标准化过程。在数据处理完,我们可以用函数unscale()将以上标准化后的数据进行逆运算,得到原始尺度的数据。

加载nnet包后,在默认的情况下,函数nnet()以区间[-0.5,0.5]中的随机值来设置结点之间链接的初始权重。选择出的值即为结点之间链接的初始权重,这表示我们在连续运行后所得到的结果极有可能是不相同的。在此本文加入了set.seed()函数,这个函数可以将随机发生器中的种子数进行初始化,这样就避免了选择出的权值相同的情况。

在平安银行732天的数据中,我们以其中前600个相关数据作为训练集观测值来创建神经网络模型,再应用其中后132个相关数据作为观测值来测试这个预测模型。将训练集标准化之后,在程序中调用函数nnet()建立BP神经网络模型,然后利用函数predict()获得测试数据集的BP神经网络预测值。取得预测值之后,调用函数unscale()将数据转化为标准化之前的数据。在设定我们所期望的买入与卖出界限值以后,再应用函数trading.signals()将所预测的数值转换为信号。最后通过函数sigs.PR()获得我们关心的两类事件以及决策精确度和回溯精确度矩阵。

在R软件中执行以上命令得到决策精确度与回溯精确度矩阵,如表1所示:

所得到的三行两列矩阵就是决策精确度与回溯精确度矩阵,在这个矩阵中行‘s表示卖出、‘b表示买入、‘s+b表示保持持有,列‘precision表示的是决策精确度、‘recall表示的是回溯精确度。我们可以从这个矩阵中发现BP神经网络模型的决策精确度较好,回溯精确度的值较低,但是回溯度值较低所导致的问题不是很严重,因为它意味着失去机会而不是有成本损失。

猜你喜欢

BP神经网络
基于神经网络的北京市房价预测研究
一种基于OpenCV的车牌识别方法
基于遗传算法—BP神经网络的乳腺肿瘤辅助诊断模型
一种基于改进BP神经网络预测T/R组件温度的方法
基于BP神经网络的光通信系统故障诊断
提高BP神经网络学习速率的算法研究
就bp神经网络银行选址模型的相关研究
基于DEA—GA—BP的建设工程评标方法研究
复杂背景下的手势识别方法
BP神经网络在软件质量评价中的应用研究 