R语言课程设计:R语言基于ARIMA与BP神经网络模型对股票市场的预测
股票作为资产配置的方式因为其收益很高,所以一直受到投资者的青睐,投资者们对于股票价格预测的研究从未止步。本课设通过建立时间序列模型与BP神经网络模型,选取上证股票市场的真实股票,进行分析并预测股票的价格,再使用均方根误差来比较这几种模型的预测结果。由于时间序列模型无法很好地利用股票数据中的非线性部分,并且无法进行长期记忆,而BP神经网络对于非线性数据的利用较好并且对序列数据中有用的信息进行长期记忆
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
更多推荐
所有评论(0)