APP下载

基于ARIMA模型的股价分析与预测

2022-05-30黄诗敏

关键词:R语言ARIMA模型招商银行

黄诗敏

【摘  要】股价的分析与预测一直都是金融领域的研究热点。论文借助R语言软件建立ARIMA模型对招商银行的股價进行分析与预测,首先选取招商银行(600036)股票2021年1月4日至2022年6月30日的股价作为样本数据,进行平稳性检验,完成ARIMA模型的识别与定阶,进行模型检验,基于该模型对股价进行分析预测。结果显示:ARIMA模型对股票价格时间序列的短期变化规律具有较好的预测作用,为投资者对股票投资提供一定参考意义。

【关键词】ARIMA模型;股价预测;R语言;招商银行

【中图分类号】F832.5                                             【文献标志码】A                                                 【文章编号】1673-1069(2022)06-0184-04

1 引言

20世纪90年代以来,金融全球化进程不断推进,上交所和深交所先后成立,我国股票市场迅速发展,如今中国股市经历数十年的稳健发展,越来越多的投资者进入股市进行股票投资交易行为,期望获取收益,这极大地促进了中国股票市场的繁荣,然而在这种行为背后,越来越多学者意识到股价预测的重要性并对此方向展开研究,因此股价的分析与预测一直是金融领域的研究热点。

在金融时间序列分析中,股票价格时间序列通常为非平稳时间序列,ARIMA模型可通过差分处理非平稳时间序列,拟合平稳序列,对其指标进行短期预测且准确性较高,因此选用ARIMA模型对股票价格时间序列进行分析,在金融和股票领域具有重要的理论意义。

对于统计分析工具的选用,目前较多学者利用Eviews软件建立ARIMA模型并对股价预测展开分析,而随着R语言软件的不断完善发展,R语言软件以其快捷便利的优势被更多地运用于数据分析问题中,因此本文将选用R语言软件完成模型的建立及分析,这扩展了目前对于该问题研究的工具运用的多样性。

本文选取招商银行(600036)股票在2021年1月4日至2022年6月30日的每个交易日的日收盘价数据,共计360组数据,利用R语言软件进行平稳化处理和平稳性检验,完成模型识别与定阶,选择合适的ARIMA模型并进行相关检验,最终对未来交易日股票进行预测分析,对于股票价格未来走势作出预判,可为投资者提供合理投资方向,在股市中获取收益提供一定的参考意义。

2 ARIMA模型的理论介绍及建模步骤

2.1 ARIMA模型的理论介绍

时间序列分析方法是依据历史数据建立合理的时间序列模型,用于预测未来发展趋势变化的一种方法。对于金融时间序列问题的分析,常用的基本模型有ARMA模型和ARIMA模型。

2.1.1 ARMA模型

ARMA模型称为自回归移动平均模型(Autoregressive moving average model,简称:ARMA),该模型是自回归模型AR模型和移动平均模型MA模型的有机组合。

AR模型是依据研究对象过往的观察值与现在的干扰值通过线性组合而成,从而进行预测分析的模型。AR(p)模型形式表达为:

yt=Φ1yt-1+Φ2yt-2+…+Φpyt-p+εt

式中,yt为平稳时间序列,εt为误差,Φi(i=1,2,…,p)表示AR模型的待定系数,p表示AR模型的阶数。

MA模型是依据研究对象过往的干扰值与现在的干扰值通过线性组合而成,从而进行预测分析的模型。MA(q)模型形式表达为:

yt=εt-θ1εt-1-θ2εt-2-…-θqεt-q

式中,yt为平稳时间序列,εt为误差,θj(i=1,2,…,q)表示MA模型的待定系数,q表示MA模型的阶数。

ARMA模型是根据AR模型和MA模型组合而成的模型,主要用于描述平稳随机过程。ARMA(p,q)模型形式表达为:

yt=Φ1yt-1+Φ2yt-2+…+Φpyt-p+εt-θ1εt-1-θ2εt-2-…-θqεt-q

2.1.2 ARIMA模型

ARIMA模型称为差分自回归移动平均模型(Autoregressive Integrated Moving Average Model,简称ARIMA),是由博克思(Box)和詹金斯(Jenkins)于20世纪70年代初提出的一种时间序列预测方法,因此又称为Box-Jenkins模型。

ARIMA模型是在ARMA模型的基础之上应运而生,两个模型均包括AR模型和MA模型,二者的区别在于:ARMA模型仅可用于分析平稳时间序列,ARIMA模型可用于分析非平稳序列,对序列进行差分处理使序列平稳后建立模型。在实际运用中,由于时间序列多为非平稳序列,ARIMA模型的应用更为广泛。

在ARIMA(p,d,q)模型中,AR表示自回归,p为自回归的阶数;MA表示移动平均,q为移动平均项数,而d为时间序列进行平稳化处理时的差分次数(阶数),ARIMA(p,d,q)模型形式可以表达为:

2.2 ARIMA模型的建模步骤

ARIMA模型的建模可以分为以下4个步骤:

第一,对时间序列数据预处理,进行差分运算或者其他变化,完成平稳化处理,并通过单位根(ADF)检验对序列进行平稳性检验。

第二,对模型识别并確定模型阶数,可通过绘制自相关图和偏自相关图观察阶数,也可运用R语言的auto.arima()代码得出最优模型,最终确定ARIMA模型p值和q值。

第三,对模型进行诊断检验,通过绘制正态QQ图判断残差项是否符合正态分布,通过进行白噪声检验确定残差序列是否为白噪声。

第四,根据模型对数据进行预测并分析。

3 ARIMA模型的建立与分析

3.1 数据选取和数据来源

在进行股票预测时能够表示股票价值的常用变量包括:

①开盘价:每个交易日开盘时的股票价格。

②收盘价:每个交易日收盘时的股票价格。

③最高价:每个交易日中的最高股票价格。

④最低价:每个交易日中的最低股票价格。

由于每一时点的股票价格都是变化的,但是最高价和最低价只能代表某一时点的供求关系情况,相较于其余两个变量而言,最高价和最低价对于股票价格的总体预测帮助不大。因此本文选取收盘价作为研究对象,由于收盘价代表一天交易结束的价格,同时市场上的股票投资者观测了一天价格动向,一般会选择在最后进行交易。

在股票的选取上,由于招商银行较早在A股上市,具有一定的代表性,因此选用该股对股价分析具有可行性。

因此本文选取招商银行(600036)股票在2021年1月4日至2022年6月30日的每个交易日的日收盘价视作观测值进行分析,数据来自网易财经数据平台,共计360组数据。

3.2 序列平稳化处理和平稳性检验

由于股市波动较大,股票时间序列通常是不平稳的,需要对原始数据进行平稳化处理才能使序列变为平稳序列,并通过平稳性检验方可进行下一步模型构建。

时间序列的平稳性检验主要有两种检验方法:第一种方法是图形分析法,通过图形判断序列的平稳性,可以根据时序图和自相关图等图形的特征作出判断,该方法操作简单,肉眼即可判断,应用较为广泛,缺点是具有较强的主观性;第二种方法是假设检验法,通过构造检验统计量进行判断,目前最常用的方法是单位根检验,该方法相较于图形分析法更为科学准确。

首先,依据股票的时序图和描述性统计特征观测时间序列样本。由图1所示,招商银行的股票收盘价随着时间的变化而发生大幅度的波动变化,可知初始序列为不平稳序列,需要进行相关处理使序列平稳。因此对原始数据进行一阶差分处理后再绘制其时序图,结果如图2所示,进行一阶差分后的时间序列呈现出围绕数值0上下小幅度波动的状态,因此可以初步判断该时间序列为平稳序列。

通过单位根检验对一阶差分后的序列进行平稳性检验。Augmented Dickey-Fuller Test(ADF)是DF检验的拓展形式,可以对存在高阶滞后的序列进行单位根检验,原假设为序列存在单位根,即序列不平稳。

在R语言中安装并加载tseries程序包,运用adf.test()代码进行单位根检验,检验结果显示Dickey-Fuller统计量为-6.657 2,p值为0.01,拒绝原假设,表明序列为平稳序列,因此差分处理后的序列通过平稳性检验。

3.3 ARIMA模型的识别与定阶

根据上述分析,本文的原始时间序列数据经过一阶差分后得到平稳序列,因此识别选用ARIMA(p,d,q)模型。

序列平稳后,需要进行模型定阶,确定p、d、q的数值。由于在平稳化处理中,对原始序列进行一阶差分即获得平稳序列,可以首先确定d=1。

通常可根据绘制自相关(ACF)图和偏自相关(PACF)图确定ARIMA(p,d,q)中合适的p值和q值,因此使用R语言相关命令绘制自相关图与偏自相关图,结果如图3和图4所示。但由于利用图形判断往往根据人为主观选择数值,可能存在偏颇,R语言中提供自动识别ARIMA模型阶数的程序包,可更为科学客观地得出模型阶数。

因此在R语言中首先安装并加载forecast程序包,运用auto.arima()代码对序列自动识别模型阶数,该方法依据BIC准则,对模型的识别更为科学准确。根据auto.arima函数识别出来的最优模型为ARIMA(2,1,1)模型(见图5),即p=2、d=1、q=1,本文基于此建立方程。

3.4 ARIMA模型检验

在确定模型后,需要对模型进行相关检验以保证模型的适用性。

首先,在建立模型之初假设残差服从正态分布,因此通过绘制QQ图验证残差项是否符合正态分布,根据图6所示,图中大部分的散点分布趋近标准线,判断残差项基本符合正态分布的特征。

图6  正态QQ图

其次,在建立模型之初假设残差之间不相关,因此通过Ljung-Box检验判断残差之间是否相关,原假设为残差之间不相关,运用Box.test代码进行检验,结果显示p值为0.966 9,

大于0.05,即接受原假设,认为残差之间不相关,说明残差项属于白噪声序列,残差项中的有效信息已被完整提取,模型基本完善。

3.5 ARIMA模型预测

根据上述检验结果,可知ARIMA模型拟合效果较为理想,因此可运用已建立的ARIMA(2,1,1)模型对股票价格进行预测,运用R语言中的forcast()代码完成此步骤。由于该ARIMA模型适合用于短期预测,在短期预测方面精确度较高,因此选择对未来5个交易日股票价格进行预测,预测结果如表1所示。

根据表1与图7所示,股票预测值与实际收盘价较为接近,不超出80%和95%的置信区间,误差均不超过6%,说明模型预测精度较高,同时验证本文构建的ARIMA(2,1,1)模型是较为准确的,可以较好地反映出招商银行股票收盘价序列的变化规律,反映出股票价格的未来走势。

4 结论

本文运用R语言软件对招商银行(600036)股票价格进行时间序列的实证分析,首先对时间序列进行平稳性检验,然后利用R语言中的auto.arima()代码自动识别模型阶数,构建合适的ARIMA(2,1,1)模型,并对其模型进行相关检验,最后利用R语言中的forcast()代码对未来交易日的股票价格进行预测及分析。根据模型的预测结果显示可知,ARIMA模型对股票价格序列的短期变化规律有较好的预测作用,在短期预测中具有一定的准确性。

综上所述,ARIMA模型可较好地适用于股票价格序

列分析,对于股价的短期预测效果较好,能够为投资者

提供合理的投资方向,在股市中获取收益提供一定的参考意义。

【参考文献】

【1】王燕.应用时间序列分析[M].北京:中国人民大学出版社,2015.

【2】李诗羽,张飞,王正林.数据分析:R语言实战[M].北京:电子工业出版社,2014.

【3】吴玉霞,温欣.基于ARIMA模型的短期股票价格预测[J].统计与决策,2016(23):83-86.

【4】黄莉霞.基于ARIMA模型的股价分析与预测——以中国平安为例[J].科技经济市场,2020(10):62-63.

【5】杨宇塬,张梅.基于ARIMA模型的股票价格实证分析[J].科技资讯,2021,19(29):121-123+127.

【6】刘松,张帅.运用ARIMA模型对股价预测的实证研究[J].经济研究导刊,2021(25):76-78.

【7】朱家明,陈妍群,金静.基于ARIMA模型对我国外汇储备余额的预测分析[J].长沙理工大学学报(自然科学版),2020,17(01):92-97.

猜你喜欢

R语言ARIMA模型招商银行
招商银行
招商银行
招商银行
招商银行
基于GPS轨迹数据进行分析改善城市交通拥挤
基于R语言的Moodle平台数据挖掘技术的研究
基于时间序列模型的中国出口总额分析及预测
基于R软件的金融时间序列的预测分析
基于Eviews上证综合指数预测
基于ARIMA模型的沪铜期货价格预测研究