基于时间序列分析的股票价格趋势预测研究

(整期优先)网络出版时间:2023-04-21
/ 2

基于时间序列分析的股票价格趋势预测研究

张宏轩,林嘉欢

浙江省嘉兴市海宁市浙江财经大学东方学院 314400 摘 要:股票(stock)是股份公司所有权的一部分,也是发行的所有权凭证,是股份公司为筹集资金而发行给各个股东作为持股凭证并借以取得股息和红利的一种有价证券。股票是资本市场的长期信用工具,可以转让,买卖,股东凭借它可以分享公司的利润,但也要承担公司运作错误所带来的风险。每股股票都代表股东对企业拥有一个基本单位的所有权。每家上市公司都会发行股票。在当今这个经济快速发展的时代,股票日渐成为人们投资理财并获得经济效益的一种手段,股票不断变化的行情,也反映着当时经济的走势。如何准确预测分析股票市场的行情对于投资者如何作出所得最多而损失最小的决策,有着重要的意义。本文使用基于R的时间序列分析对美国AMD半导体公司的股票价格趋势进行预测研究。通过建立ARIMA模型对AMD股票在2019年1月2日到2021年12月1日的收盘价进行了建模分析,对未来一段时间的股价进行了预测。

关键词:股票;股票价格预测;时间序列分析;AMD;平稳性检验

一、引 言

同一类别的每一份股票所代表的公司所有权是相等的。每个股东所拥有的公司所有权份额的大小,取决于其持有的股票数量占公司总股本的比重。随着我国股票市场的不断发展,购买股票已经成为人们最重要的投资手段之一,而股票价格的变动对于股民的投资收益性十分重要。准确对股票的价格进行预测,有助于投资者做出正确的投资选择,降低亏损风险,获得合理收益。股票价格的变化在一定情况下可以反映经济运行的状态,给相关经济政策的制定提供科学的决策依据。但在股票市场中,股票价格的变化受到许多复杂因素的共同影响,这给股票价格的准确预测带来一定的难度。

二、数据来源与情况

数据来源于“英为财情”官网,利用python爬虫工具爬取美国超微半导体公司从2019年1月2日到2021年12月1日的信息,其中包括“日期(年/月/日)”、“收盘(美元)”、“开盘(美元)”、“最高价(美元)”、“最低价(美元)”、“交易量(只)”与“涨跌幅(%)”共7个指标。原数据共有736条。同时,原数据没有缺失值和重复值,因此有效数据为736条,部分数据如下。

Hmisc包中的describe()函数可返回变量和观测的数量、缺失值和唯一值的数目、平均值、分位数,以及五个最大的值和五个最小的值。

利用Hmisc包中的describe函数能够输出数据的基本情况如下:

由上图可以知道数据含有7个变量和736个记录

由上图可以知道,单日开收盘价情况,包括最大最小值等。其中收盘价最小的五个单日最低为17.05美元,且均小于20美元;收盘价最高则为163.28美元,且均大于150美元。开盘价的单日最低为17.55元,且均没有超过20美元,最高为163.28美元且均没有低于150美元。

本文以每日收盘价为标准,通过长线的观察可以得到相对平稳有序的数据,提高ARIMA模型的预测准确性,进而为时间序列分析结果提供更可靠的依据。

三、ARIMA模型的实证分析

3.1 模型介绍

ARIMA模型,是由将非平稳时间序列先经过d阶差分平稳化,再对得到的平稳时间序列利用自回归和滑动平均过程,并通过样本自相关系数(ACF)和偏自相关系数(PCF)等数据对建立的模型进行辨识,同时还提出了一整套的建模、估计、检验和控制方法。设{Yt}为零均值的平稳时间序列,p阶自回归q阶滑动平均的ARMA(p,q)公式表述为:Yt-ϕ1Yt-1--ϕYt-p=εt-θ1εt-1-θqεt-q,也可简写为ϕ(B)Yt=θ(B)εt。ARIMA(p,d,q)模型中的d是差分阶数,金融市场上的时间序列数据一般都是非平稳的,差分是平稳化的途径之一,差分后的ARIMA建模过程基本与ARMA相同。

3.2 模型建立

3.2.1 时序图绘制

根据平稳时间序列均值、方差为常数的性质,平稳序列的时序图应该显示出该序列始终在一个常数值附近随机波动,而且波动的范围有界的特点。如果序列的时序图显示出该序列有明显的趋势性或周期性,那么它通常不是平稳序列。根据这个性质,对于很多非平稳序列,可以通过查看它的时序图将其识别出来。

首先对数据进行按日期从早到晚排序,即从2019年1月2日至2021年12月1日。并使用plot函数绘制这段时间内AMD股票每日收盘价格的时序图,时序图如下:

由时序图可以看出,从2019年1月2日,到2021年12月1日,AMD公司的股价由2019年1月2日的18.83美元,到2021年12月1日的149.11美元,总体呈上升趋势,这与AMD推出的极有竞争力的产品有关。

经过观察收盘价时序图,发现收盘价有明显的上升趋势,可以确认这个序列不平稳。

3.2.2 单位根检验

接下来,我们对收盘价的原序列进行单位根检验,使用tseries包中的adf.test()函数得到如下图结果。

可以看到,p值为0.5518,远大于0.05,即p=0.5518>0.05,因此可以判断出原序列不平稳,所以,接下来需要进行平稳化处理。

首先,在使用nidffs()函数来判断使序列平稳所需的差分阶数,得到结果为1阶差分。接下来利用diff()函数对序列进行一阶差分,并绘制出一阶差分后的序列图如下。

在对原始数据进行一阶差分后,收盘价围绕零值进行上下波动,没有明显的趋势或者周期。因此,现在基本可以把该序列视为平稳序列。但是为了稳妥,需要进行进一步验证,对一阶差分序列进行单位根检验,同样使用adf.test()函数完成操作,结果如下图所示。

所以,从图中可以得知,滞后阶数为9,此时p值为0.01,p<0.05,因此拒绝原假设,该序列平稳。

3.2.3 白噪声检验

纯随机性检验也称为白噪声检验,是专门用来检验序列是否为纯随机序列的一种方法.我们知道如果一个序列是纯随机序列,那么它的序列值之间应该没有任何相关关系,即满足:

γ(k)=0,k≠0

这是一种理论上才会出现的理想状况。实际上,由于观察值序列的有限性,导致纯随机序列的样本自相关系数不会绝对为零。

通过使用Box.test函数对一阶差分序列进行纯随机性检验得到如下结果。

最终得到p值为0.009095,显著小于显著性水平,p<0.05所以拒绝原假设,序列属于非白噪声序列。

3.2.4 建立模型

通过利用acf和pacf函数分别绘制一阶差分序列的自相关图和偏自相关图。

自相关图显示滞后1阶自相关值基本没有超过边界值,虽然9阶自相关值略微超出边界,但很可能属于偶然出现的,而自相关值在其他上都没有超出显著边界,而自偏相关图显示滞后1阶自相关值基本没有超过边界值,虽然8阶偏自相关值略微超出边界,但很可能属于偶然出现的。稳妥起见,使用auto.arima函数进行拟合模型。

函数自动定阶选择的是阶数为(1,1,0)的模型。

3.2.5 ARIMA模型的检验

绘制(QQ)quantile-quantile图,QQ图通过把测试样本数据的分位数与已知分布相比较,从而来检验数据的分布情况。QQ图是一种散点图,对应于正态分布的QQ图,就是由标准正态分布的分位数为横坐标,样本值为纵坐标的散点图。

通过观察绘制的QQ图可以看出与其加线的拟合度判断残差服从正态分布。

对拟合模型的残差白噪声检验,进一步判断残差之间是否相关。由上图可以看出,p值大于0.05,认为残差序列彼此之间无影响,相互独立。

3.2.6 结果预测

通过以上分析,我们建立了AMD股票的时间序列模型。接下来对数据进行预测,利用forecast函数对股票价格进行100期(的)预测,结果如下。

蓝色部分为100期预测值,阴影部分分别为预测值的80%与95%的预测极限。观察上图可以发现,股票价值还有上升空间,但随预测时间长度的增加预测区域的阴影面积增大,预测的准确度下降,但在短期内,AMD的股票仍然有上涨空间。

四、结论

本文主要研究ARIMA时间序列模型在股票预测中的应用。通过建立ARIMA模型对AMD股票在2019年1月2日到2021年12月1日的收盘价序列进行了拟合,并进行了模型检验。所以,从结果看,ARIMA模型可以较好地预测股票的短期收盘价格。

参考文献

[1]许舒雅, 梁晓莹. 基于ARIMA-GARCH模型的股票价格预测研究[J]. 河南教育学院学报:自然科学版, 2019, 28(4):5.

[2]吴玉霞, 温欣. 基于ARIMA模型的短期股票价格预测简[J]. 统计与决策, 2016(23):4.

[3]王燕.《时间序列分析——基于R》.中国人民大学出版社,2015.