R语言课程设计:R语言基于ARIMA与BP神经网络模型对股票市场的预测

1.1 研究背景及意义... 1

1.2研究综述... 1

1.3R课程设计主要研究内容.. 2

1.4R课程设计的组织结构... 2

2理论知识... 2

2.1时间序列模型.. 2

2.1.1 ARIMA模型及其建模步骤... 2

2.1.2  ARIMAX模型建模步骤... 3

2.2 RNN模型... 3

2.2.1 RNN的前向传播... 4

2.2.2 RNN的反向传播.. 4

2.2.3 RNN的优缺点... 5

2.3 BP神经网络建模... 5

2.4模型评价指标.. 6

2.4.1 平均绝对误差... 6

2.4.2 均方误差(MSE) 6

2.4.3 均方根误差(RMSE) 6

3 数据处理... 7

3.1 数据标准化... 7

3.2 特征选择... 7

3.2.1 Pearson相关系数... 7

3.3.2 Fisher得分.. 7

3.3假设检验... 8

3.4实验设计... 8

3.4.1 ARIMA模型... 8

3.4.2 ARIMAX模型... 8

3. 4.3 BP神经网络... 8

4 股票预测实验分析... 9

4.1 时间序列模型建模.. 9

4.1.1 ARIMA模型... 9

4.1.2 ARIMAX模型... 14

4.2  BP神经网络... 15

4.2.1  BP神经网络建立.. 15

4.2.2  BP神经网络优化.. 17

4.3  总结了几个模型的均方根误差.. 20

结论与展望... 21

参考文献... 22

附录... 23

#  ARIMA模型代码... 23

#  ARIMAX模型... 24

#  BP神经网络... 25

1.1 研究背景及意义

股票数据是经典的时间序列,很多研究者都使用过时间序列模型进行预测,如ARIMA或者GARCH模型,但是经典的时间序列模型的假设比较高,例如需要序列是平稳的,线性的。然而股票价格影响股票数据的因素来自于多方面,这就使得股票数据本身就不是平稳的、线性的,虽然可以使用差分的方法可以使序列平稳化,但是差分的操作也造成了数据上的损失,这样就使得传统的时间序列模型在预测上有了较大的局限性。

对于投资者而言,股票价格的预测准确率越高,投资者所需要承担的风险就越低,相对的,收益也会增加。本文结合现实的股票数据,着重研究了传统的时间序列模型以及BP模型,并选用R语言等进行分析,通过建立几种模型,得出未来时间的股票价格预测值,并比较分析几种模型的预测结果。

1.2研究综述

关于股票行为的研究最早是于1900年进行的,费马检验了股票价格变化是具有随机游动特征的。在1970年又对有效的市场假设进行了研究,发现所有的新信息都会立即反映到资产价格中,并且不会发生延迟。因此,未来资产价格的变化与过去和现在的信息无关。传统的时间序列模型,预测时使用的是参数统计模型,例如自回归移动平均(ARMA)模型,差分自回归移动平均(ARIMA)模型和矢量自回归模型等等,可以找到最佳估计值。后来人们使用六个解释变量估计了芬兰股市指数,其中包括滞后指数和基于ARIMA的计量经济学模型中的宏观经济因素。

虽然这些计量经济学模型可以方便地通过统计推断来描述和评估变量之间的关系,但它们在金融时间序列分析方面仍存在一些局限性。首先,由于它们假定模型结构为线性形式,因此它们无法捕获股票价格的非线性性质。另外,这些模型都假设数据具有恒定的方差,而实际的金融时间序列噪音较多并且具有随时间变化的波动性。由于其在非线性映射和归纳中的能力而得到了广泛应用,有很多专家尝试对金融时间非线性模型进行建模,例如人工神经网络和带非线性核函数的支持向量机。它们与传统的经济模型不同,人工神经网络没有严格的模型结构和一系列假设。只要有足够的数据,就可以对其进行建模。

1.3R课程设计主要研究内容

对于时间序列模型的原理机器实现以及模型参数检验进行学习;对神经网络的原理,BP算法原理及其实现进行学习;选取我国真实的股票市场数据,进行建模分析,预测股票价格,并进行预测结果分析;根据预测结果分析,对模型进行评价,得出结论。

1.4R课程设计的组织结构

第一部分为绪论,主要介绍本文的研究背景、研究意义、国内外的研究发展以及主要研究内容。

第二部分为理论知识介绍,主要介绍时间序列的模型原理及建模步骤还有BP模型的理论基础与训练方法。

第三部分介绍了数据来源、预处理方法和模型的构建,还有参数的优化方法及评价指标的选择。

第四部分是进行建模,并做出收盘价序列的预测,比较各模型之间的优缺。

2理论知识

2.1时间序列模型

2.1.1 ARIMA模型及其建模步骤

step1序列平稳性检验

首先,与任何数据分析一样,我们应该绘制时间序列图,并检查图像是否存在有明显的趋势;然后,我们还需要绘制相关图,通过观察acf图像是否快速减小到0来进行平稳性判断;最后如果数据不具有平稳性,那么就需要差分法处理对数据进行平稳化处理。

Step2确定模型阶数

经过适当程度的差分(d)后,我们接下来要确定模型的阶数p,q,通常使用acf图和pacf图来确定阶数,为了使得结果更为准确还可以使用赤池信息准则(AIC)或贝叶斯信息准则(BIC),AIC和BIC的值越小,说明模型阶数的选择越正确。

Step3模型检验

主要分为两部分,第一部分是模型的显著性检验,通常选择检验残差是否属于白噪声序列。其假设检验如下:

H0:ρ1=ρ2=…=ρm=0m≥1

H1:∃ρk≠0k≤m

选择的是LB统计量进行假设检验:

LB=nn+2k=1mρk2n-k~X2(m)∀m>0

2.1.2  ARIMAX模型建模步骤

step1平稳性检验

先检查各个序列是否为平稳序列,若不是,则需要进行平稳化处理;

Step2残差白噪声化处理

对于每个平稳输入序列xit和平稳相应序列yt进行ARMA建模,即确定其ARMA(p,q)的阶数p和q。建模完成后计算其残差序列εxit,εyit

1.1 研究背景及意义

股票数据是经典的时间序列,很多研究者都使用过时间序列模型进行预测,如ARIMA或者GARCH模型,但是经典的时间序列模型的假设比较高,例如需要序列是平稳的,线性的。然而股票价格影响股票数据的因素来自于多方面,这就使得股票数据本身就不是平稳的、线性的,虽然可以使用差分的方法可以使序列平稳化,但是差分的操作也造成了数据上的损失,这样就使得传统的时间序列模型在预测上有了较大的局限性。

随着深度学习神经网络的发展,人们逐渐意识到神经网络可以作为新的预测方式:首先,神经网络对于数据要求较低,并不需要严格的假设要求;同时,它也可以选择非线性的激活函数将线性映射转换成为非线性的映射,再经由隐藏层的处理,进一步增强其对于非线性数据处理的能力。

对于投资者而言,股票价格的预测准确率越高,投资者所需要承担的风险就越低,相对的,收益也会增加。本文结合现实的股票数据,着重研究了传统的时间序列模型以及BP模型,并选用R语言等进行分析,通过建立几种模型,得出未来时间的股票价格预测值,并比较分析几种模型的预测结果。

1.2研究综述

关于股票行为的研究最早是于1900年进行的,费马检验了股票价格变化是具有随机游动特征的。在1970年又对有效的市场假设进行了研究,发现所有的新信息都会立即反映到资产价格中,并且不会发生延迟。因此,未来资产价格的变化与过去和现在的信息无关。传统的时间序列模型,预测时使用的是参数统计模型,例如自回归移动平均(ARMA)模型,差分自回归移动平均(ARIMA)模型和矢量自回归模型等等,可以找到最佳估计值。后来人们使用六个解释变量估计了芬兰股市指数,其中包括滞后指数和基于ARIMA的计量经济学模型中的宏观经济因素。

1.3R课程设计主要研究内容

对于时间序列模型的原理机器实现以及模型参数检验进行学习;对神经网络的原理,BP算法原理及其实现进行学习;选取我国真实的股票市场数据,进行建模分析,预测股票价格,并进行预测结果分析;根据预测结果分析,对模型进行评价,得出结论。

1.4R课程设计的组织结构

第一部分为绪论,主要介绍本文的研究背景、研究意义、国内外的研究发展以及主要研究内容。

第二部分为理论知识介绍,主要介绍时间序列的模型原理及建模步骤还有BP模型的理论基础与训练方法。

第三部分介绍了数据来源、预处理方法和模型的构建,还有参数的优化方法及评价指标的选择。

第四部分是进行建模,并做出收盘价序列的预测,比较各模型之间的优缺。

2理论知识

2.1时间序列模型

2.1.1 ARIMA模型及其建模步骤

step1序列平稳性检验

首先,与任何数据分析一样,我们应该绘制时间序列图,并检查图像是否存在有明显的趋势;然后,我们还需要绘制相关图,通过观察acf图像是否快速减小到0来进行平稳性判断;最后如果数据不具有平稳性,那么就需要差分法处理对数据进行平稳化处理。

整文章具体联系:1475488480

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快累死的统计人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值