Statistics and Application
Vol. 09  No. 01 ( 2020 ), Article ID: 34276 , 14 pages
10.12677/SA.2020.91012

Analysis and Forecast of Stock Price Law Based on ARIMA Model

Jia Shi, Wei Liu, Zhichao Feng, Chunhui Zhang, Yanxiang Zhou

College of Mechanical and Automotive Engineering, Qingdao University of Technology, Qingdao Shandong

Received: Feb. 3rd, 2020; accepted: Feb. 17th, 2020; published: Feb. 24th, 2020

ABSTRACT

The price of stock market involves many uncontrollable factors, and the relationship among them is complex. This paper takes the four transaction prices of Hanwang Technology Stock (OP, FP, SP, LP) from June 1 to September 21, 2019 as example to analyze and forecast. Firstly, this paper described the law and characteristics of price change, and then quantitatively analyzed the dependence of four kinds of transaction prices on time by using the least square method. Secondly, using d-order difference operation to make the non-stationary time series transformed into stationary time series. After the calculation of the autocorrelation coefficient ACF and partial correlation coefficient PACF of stationary time series, through the analysis of autocorrelation graph and partial correlation graph, we get the best order q and level p, and construct ARIMA model. Finally, use the ARIMA (p, d, q) model which is passed the test for prediction. The results show that the model is simple, accurate and the fitting effect is good.

Keywords:Stock Price, Least Squares Method, ARIMA, Forecast, Difference Calculation

基于ARIMA模型的股市价格规律分析与预测

石佳,刘威,冯智超,张春晖,周雁祥

青岛理工大学机械与汽车工程学院,山东 青岛

收稿日期:2020年2月3日;录用日期:2020年2月17日;发布日期:2020年2月24日

摘 要

股市价格涉及诸多不可控因素,各个因素之间关系错综复杂。本文以汉王科技股票2019年6月1日~9月21日的4种交易价格OP,FP,SP,LP为例进行分析与预测。首先对其变化规律和特征进行了描述,然后利用最小二乘法,定量分析了4种交易价格与时间t的依赖关系。其次对非平稳时间序列进行d阶差分运算,化为平稳时间序列,再分别求出平稳时间序列的自相关系数ACF和偏相关系数PACF,通过对自相关图和偏相关图的分析得到最佳阶数q和阶层p,构建了ARIMA模型。最后对所建的ARIMA (p, d, q)模型进行残差检验,并利用检验通过的模型进行预测,结果显示所建模型较为简单、精确且拟合效果较好。

关键词 :股票价格,最小二乘法,ARIMA,预测,差分运算

Copyright © 2020 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

1. 引言

股市是掌握经济整体运行情况的重要参考条件之一,一直以来都是经济学研究的热点话题。尽管股票价格在短期内看似无序,但从长期时间序列来分析却有一定的自然规律。由于股票价格不仅受限于国家政策和金融状况,还在一定程度上受大众心理等多种因素的交互影响。尽管股价不能为人们准确地预测,但可以用数学建模的方法来加以描述和刻画,国内外相关学者对此做过诸多研究。

苑小康 [1] 在几何Brown运动模型中加入Poisson跳跃参数来构建股票价格动态模型,通过计算机编程实现仿真过程并进行短期预测;荣馨兵 [2] 提出了基于模式搜索的时间序列预测方法,可以适应复杂变化的股票数据,能够为多维数据做出预测并给出置信区间;卢昊宽 [3] 提出一种隐马尔科夫模型及预测策略,该模型使用遗传算法将隐马尔科夫模型的初试状态参数进行优化。Zhou等 [4] 使用多种异构数据源进行融合,建立了支持向量机对单个股票在不同活动水平下的预测模型;Manas等 [5] 利用ANN神经网络和改进粒子群优化(PSO)混合技术,提出了智能股票价格预测模型;Wang [6] 利用模糊集理论和经典时间序列预测方法构建了一种利用模糊时间序列进行股票价格预测的大数据框架,进行股票价格的预测;Umoh提出了反向传播和监督学习的人工神经网络预测模型,以梯度隶属方法和Sugeno型模糊推理引擎来优化预测结果。

上述学者提出的预测模型大多十分复杂,求解需要耗费较多时间。本文针对这个缺点,使用差分整合移动平均自回归模型(Auto Regressive Integrated Moving Average Model)简称ARIMA模型来预测,这对毫无规律的股票价格数据给出时间序列分析,能够从一个侧面给出较好的预测。

2. 股票价格规律分析

2.1. 股票交易价格的变化规律和特征

选定汉王科技 [7] 2019年6月1日到2019年9年21日的四种交易价格:开盘价(OP)、收盘价(FP)、最高价(SP)、最低价(LP)为例,部分日期原始数据如图1所示,以其原始数据为基础做出114天变化曲线图,如图2所示。四种交易数据在总体趋势上保持一致,大致在前4天保持线性增长,于第4天达到小范围极值。在第4到第31天这段时间里,交易价格持续走低,于第31天价格跌入谷底。在30~45天呈现增长趋势,紧接着在45~58天期间,价格波动不大。在59天到103天这段时间价格持续走低,最后在104天到114天价格慢慢上涨。对于SP和LP数据,可以清楚地看出SP在每一天的交易价格都大于LP,且通过图2也可以判断SP为交易价格的最高价,而LP为交易价格的最低价。其数据特征表见表1

2.2. 股票交易价格与时间t的变化依赖关系

为了定量化描述股票交易价格与时间t的变化依赖关系,假设2019.6.1为t = 1时刻,此时 x 1 = 1 ,2019.9.21为t = 114时刻,此时 x 114 = 114 ,以此类推。已知函数 f ( x t ) 在若干点 x t ( t = 1 , 2 , , 114 ) 处的值为 y t ,构造一个曲线拟合函数ψ(x),用来反映数据的基本趋势。

Figure 1. Raw data of Hanwang Technology stocks at four trading prices during the period of 2019.6.1-9.21 OP, FP, SP, LP

图1. 汉王科技股票2019.6.1~9.21期间四种交易价格OP、FP、SP、LP原始数据

Figure 2. Data of the four trading prices OP, FP, SP, LP

图2. 四种交易价格OP、FP、SP、LP数据变化图

Table 1. Data characteristics of OP, FP, SP, LP

表1. OP、FP、SP、LP的数据特征

2.2.1. 曲线拟合的最小二乘法

对于曲线拟合函数ψ(x),不要求其严格的通过所有数据点,也就是说拟合函数ψ(x)在 x t 处的偏差(或残差)不都严格的等于零,设偏差为 ε t

ε t = ψ ( x t ) f ( x t ) , ( t = 1 , 2 , , 114 ) (1)

为了使近似曲线能最大精度反映所给数据点的变化趋势,要求总偏差 ε t 平方和最小,即要求下式具有最小值:

t = 1 114 ε t 2 = t = 1 114 [ ψ ( x t ) f ( x t ) ] 2 (2)

假设拟合方程为二次曲线:

y = a x 2 + b x + c (3)

已知数据点 ( x t , y t ) t = 1 , 2 , , 114 ,该近似拟合曲线的均方误差为:

Q ( a , b , c ) = t = 1 114 a x t 2 + b x t + c y t 2 (4)

要求式4的极小值,可以归结为多元函数求极值的问题,则有:

{ Q a = 0 Q b = 0 Q c = 0 (5)

求导过程如下:

Q a = 2 t = 1 114 ( a x t 2 + b x t + c y t ) x t 2 = 2 t = 1 114 ( a x t 4 + b x t 3 + c x t 2 y t x t 2 ) = 0 a t = 1 114 x t 4 + b t = 1 114 x t 3 + c t = 1 114 x t 2 = t = 1 114 y t x t 2

Q b = 2 t = 1 114 ( a x t 2 + b x t + c y t ) x t = 2 t = 1 114 ( a x t 3 + b x t 2 + c x t y t x t ) = 0 a t = 1 114 x t 3 + b t = 1 114 x t 2 + c t = 1 114 x t = t = 1 114 y t x t

Q c = 2 t = 1 114 ( a x t 2 + b x t + c y t ) = 0 a t = 1 114 x t 2 + b t = 1 114 x t + 114 c = t = 1 114 y t

可将上述线性方程组转换为矩阵方程,即:

| t = 1 114 x t 2 t = 1 114 x t 114 t = 1 114 x t 3 t = 1 114 x t 2 t = 1 114 x t t = 1 114 x t 4 t = 1 114 x t 3 t = 1 114 x t 2 | | a b c | = | t = 1 114 y t t = 1 114 y t x t t = 1 114 y t x t 2 | (6)

其系数行列式为:

D = | t = 1 114 x t 2 t = 1 114 x t 114 t = 1 114 x t 3 t = 1 114 x t 2 t = 1 114 x t t = 1 114 x t 4 t = 1 114 x t 3 t = 1 114 x t 2 | (7)

若D值不为0,则方程组有解。其中:

D a = | t = 1 114 y t t = 1 114 x t 114 t = 1 114 y t x t t = 1 114 x t 2 t = 1 114 x t t = 1 114 y t x t 2 t = 1 114 x t 3 t = 1 114 x t 2 | , D b = | t = 1 114 x t 2 t = 1 114 y t 114 t = 1 114 x t 3 t = 1 114 y t x t t = 1 114 x t t = 1 114 x t 4 t = 1 114 y t x t 2 t = 1 114 x t 2 | , D c = | t = 1 114 x t 2 t = 1 114 x t t = 1 114 y t t = 1 114 x t 3 t = 1 114 x t 2 t = 1 114 y t x t t = 1 114 x t 4 t = 1 114 x t 3 t = 1 114 y t x t 2 |

那么由此可以解得二次曲线拟合方程的各系数:

a = D a D , b = D b D , c = D c D (8)

当拟合方程为三次曲线或四次曲线时同理。

2.2.2. 依赖关系定量化求解结果

观察图2:四种交易价格变化图可以发现OP,FP,SP,LP在114天内的变化趋势与四次函数图像“W”的形状及其相似,因此利用上述曲线拟合的最小二乘法对OP-t数据做四次函数拟合,得到股票交易价格OP与时间t的变化依赖关系为:

y t OP = 4 × 10 7 x t OP 4 9.3 × 10 5 x t OP 3 + 6.9 × 10 3 x t OP 2 0.16 x t OP + 16 (9)

其中: y t OP 为t时刻交易价格OP的值。

x t OP 是初始值为1,公差为1的等差数列。

通过Matlab计算得到残差模=4.0023,OP-t拟合曲线与残差模量如图3所示。

同理,股票交易价格FP与时间t的变化依赖关系为:

y t FP = 4.6 × 10 7 x t FP 4 1.1 × 10 4 x t FP 3 + 8.1 × 10 3 x t FP 2 0.2 x t FP + 16 (10)

通过Matlab计算得到残差模=3.4719,FP-t拟合曲线与残差模量如图4所示。

Figure 3. OP-t polynomial fitting curve and residual plot

图3. OP-t多项式拟合曲线与残差图

Figure 4. FP-t polynomial fitting curve and residual plot

图4. FP-t多项式拟合曲线与残差图

股票交易价格SP与时间t的变化依赖关系为:

y t SP = 4.9 × 10 7 x t SP 4 1.2 × 10 4 x t SP 3 + 8.6 × 10 3 x t SP 2 0.21 x t SP + 16 (11)

通过Matlab计算得到残差模=3.794,SP-t拟合曲线与残差模量如图5所示。

Figure 5. SP-t polynomial fitting curve and residual plot

图5. SP-t多项式拟合曲线与残差图

股票交易价格LP与时间t的变化依赖关系为:

y t LP = 3.7 × 10 7 x t LP 4 8.6 × 10 4 x t LP 3 + 6.4 × 10 3 x t LP 2 0.15 x t LP + 16 (12)

通过Matlab计算得到残差模=3.5708,LP-t拟合曲线与残差模量如图6所示。

Figure 6. LP-t polynomial fitting curve and residual plot

图6. LP-t多项式拟合曲线与残差图

3. 股票价格预测

3.1. 时间序列ARIMA模型建立

ARIMA模型也记作ARIMA (p, d, q),是统计模型中最常见的一种用来进行时间序列预测的模型,三个参数:p:代表预测模型中采用的时间序列数据本身的滞后数,也称为Auto-Regressive (AR)项;d:代表时序数据需要进行几阶差分化才是稳定的,也称为Intergrated项;q:代表预测模型总采用的预测误差的滞后数,也称为Moving Average (MA)项。

ARIMA模型十分简单,只需内生变量而不需借助其他外生变量。但模型要求时间序列是稳定的,或者通过过差分运算后是稳定的。

模型的识别和定阶主要是确定p,d,q三个参数,差分的阶数d可以通过差分运算的差分图进行确定,一般2阶差分图就已足够稳定,假设 y t 表示t时刻Y的差分,那么:

① 当d = 0时, y t = Y t

② 当d = 1时, y t = Y t Y t 1

③ 当d = 2时, y t = ( Y t Y t 1 ) ( Y t 1 Y t 2 ) = Y t 2 Y t 1 + Y t 2 (13)

p和q阶数的确定与自相关系数ACF和偏自相关系数PACF以及截尾、拖尾有关,具体确定依据见表2

Table 2. Criteria for determining p and q

表2. p和q的确定准则

其中,自相关系数ACF (Auto Correlation Function)描述的是时间序列观测值与其过去的观测值之间的线性相关性,计算公式如式下:

ACF ( k ) = Cov ( y t , y t k ) Var ( y t ) (14)

式中:k表示滞后期数,如果k = 2,那么描述的就是 y t y t 2 之间的线性相关性。

偏相关系数PACF (Partial Auto Correlation Function)描述的是在给定中间观测值的条件下,时间序列预期观测值与过去观测值之间的线性相关性。几个简单的例子,假设k = 3,那么我们描述的是 y t y t 3 之间的相关性,但是这个相关性还受到 y t 1 y t 2 的影响。PACF剔除了这个影响,而ACF包含这个影响。

表2中拖尾是指序列以指数率单调递减或震荡衰减,而结尾指序列从某个时点变得非常小。

截尾判断依据:① 在最初的d阶明显大于2倍标准差范围;② 之后几乎95%的(偏)自相关系数都落在2倍标准差范围以内;③ 由非零自相关系数衰减为在零附近小值波动的过程非常突然。

拖尾判断依据:① 超过5%的样本(偏)自相关系数都落入2倍标准差范围之外;② 或者由显著非零的(偏)自相关系数衰减为小值波动的过程比较缓慢或者非常连续。

通过上述方法可以确定ARIMA模型的参数p,d,q。所以当p,d,q已知时,ARIMA的数学表达式为:

y ^ t = μ + ϕ 1 y t 1 + + ϕ p y t p + θ 1 e t 1 + + θ q e t q (15)

其中: y ^ t 表示Y的预测值, ϕ 表示AR的系数, θ 表示MA的系数。

3.2. ARIMA模型的求解

根据上述建模方法,我们以股票交易价格OP数据为例进行模型求解。

Step 1:由图2可以看出交易价格OP数据并不是平稳时间序列,因此由式13进行1阶和2阶差分化处理。差分结果如图7图8所示。

Figure 7. OP first order difference graph

图7. OP一阶差分图

Figure 8. OP second-order difference graph

图8. OP二阶差分图

通过图7图8得知OP一阶差分变化趋势已经基本稳定(在数值0上下波动),符合平稳时间序列的特点,所以可初步确定参数d为1。

Step 2:做出OP的自相关图和偏相关图,如图9图10所示。

Figure 9. OP autocorrelation coefficient

图9. OP自相关系数

Figure 10. OP partial correlation coefficient

图10. OP偏相关系数

图9中ACF在第1阶后呈截尾状,图10中PACF在第4阶后呈拖尾状,因此可初步确定差分后序列适合ARIMA (1, 1, 4)模型。

Step 3:利用SPSS软件求解该模型,得到如图11图12的结果。图11可得显著性水平Sig为0.298大于0.05,且R方为0.826,拟合程度较好,初步判断模型的有效性。由图12可得AR,MA的系数分别为0.253和0.15,因此对股票交易数据OP的预测模型结果为:

y ^ t = μ + 0.253 y t 1 + 0.15 e t 1 (16)

Figure 11. Statistical results of OP time series model

图11. OP时间序列模型统计结果

Figure 12. OP time series model parameters

图12. OP时间序列模型参数

Step 4:以9.22~9.26的交易价格OP值作为预测目标,利用式16作为预测方程,预测结果如图13所示,其中UCL表示预测值上限,LCL表示预测值下限。将拟合结果与预测结果进行可视化处理,如图14所示。

Figure 13. OP price prediction result

图13. 交易价格OP预测结果

Figure 14. OP prediction model fitting results and prediction results

图14. OP预测模型拟合结果与预测结果

Step 5:对ARIMA (1, 1, 4)模型的参数进行残差分析检验,如图15所示,可以看出残差图基本上处于平稳状态,且模型预测结果均在预测区间内,因此可以断定OP预测模型ARIMA (1, 1, 4)预测结果是合理的,且拟合效果较好。

Figure 15. ARIMA (1, 1, 4) model residual plot

图15. ARIMA (1, 1, 4)模型残差图

3.3. ARIMA模型的应用

以股票交易价格OP为例,进行了模型的求解,初步验证了时间序列模型ARIMA的有效性。因此利用同样的方法对剩下的交易价格FP,SP,LP求解,求解过程与上述OP求解过程一样,不在详细叙述,在这里只展示经过残差分析后ARIMA模型的拟合结果与预测结果。

Figure 16. FP prediction model fitting results and prediction results

图16. FP预测模型拟合结果与预测结果

Figure 17. SP prediction model fitting results and prediction results

图17. SP预测模型拟合结果与预测结果

Figure 18. LP prediction model fitting results and prediction results

图18. LP预测模型拟合结果与预测结果

通过图14~18,可以说明ARIMA模型建立较为简单,求解过程不复杂,且拟合效果较为精确。该模型不仅可以应用于股票价格预测,还可以应用于交通主干道年交通量预测、商品价格预测、仓库进出货物量预测等等。

4. 结束语

通过提出算法的拟合与预测,ARIMA模型 [8] - [12] 可以较为准确刻画股票交易价格波动变化特征,在一定程度上可以预测股票的价格走势。但是该模型仅仅适用于短期预测,波动频率较高或长期预测偏差较大,因为变幻莫测的交易市场,影响其价格的因素不仅与自身成本有关,还与国家宏观经济政策等息息相关。

文章引用

石 佳,刘 威,冯智超,张春晖,周雁祥. 基于ARIMA模型的股市价格规律分析与预测
Analysis and Forecast of Stock Price Law Based on ARIMA Model[J]. 统计学与应用, 2020, 09(01): 101-114. https://doi.org/10.12677/SA.2020.91012

参考文献

  1. 1. 苑小康. 基于随机系统理论的股票定价模型的研究[D]: [硕士学位论文]. 北京: 北京交通大学, 2018.

  2. 2. 荣馨兵. 基于相似搜索的时间序列预测方法及其应用[D]: [硕士学位论文]. 大连: 大连海事大学, 2018.

  3. 3. 卢昊宽. 基于隐马尔科夫的预测关键技术研究与应用[D]: [硕士学位论文]. 荆州: 长江大学, 2019.

  4. 4. Zhou, Z.B., Gao, M., Liu, Q., et al. (2019) Forecasting Stock Price Movements with Multiple Data Sources: Evidence from Stock Market in China. Physica A: Statistical Mechanics and Its Applications, Article ID: 123389. (In Press) https://doi.org/10.1016/j.physa.2019.123389

  5. 5. Senapati, M.R., Das, S. and Mishra, S. (2018) A Novel Model for Stock Price Prediction Using Hybrid Neural Network. Journal of the Institution of Engineers (India): Series B, 99, 555-563. https://doi.org/10.1007/s40031-018-0343-7

  6. 6. Wang, W.N. (2018) A Big Data Framework for Stock Price Forecasting Using Fuzzy Time Series. Multimedia Tools and Applications, 77, 10123-10134. https://doi.org/10.1007/s11042-017-5144-5

  7. 7. 汉王科技股票原始数据. http://quote.eastmoney.com/sz002362.html

  8. 8. 官银, 李新月, 朱家明. 基于ARIMA模型对我国农村人口的预测分析[J]. 山东农业工程学院学报, 2019, 36(7): 15-20.

  9. 9. 朱家明, 胡玲燕. 基于ARIMA和BP神经网络对人民币汇率预测的比较分析——以美元人民币汇率为例[J]. 重庆理工大学学报(自然科学), 2019, 33(5): 207-212.

  10. 10. 王珂, 王雅文, 朱家明. 基于ARIMA模型的安徽省就业发展趋势分析[J]. 佳木斯大学学报(自然科学版), 2018, 36(4): 621-624+654.

  11. 11. 张祎, 朱家明. 基于ARIMA和二次指数平滑模型的人口组合预测[J]. 牡丹江师范学院学报(自然科学版), 2017(1): 9-12.

  12. 12. 林杰, 朱家明, 陈富媛. 基于ARMA模型对股票“青岛海尔”成交量的分析预测[J]. 哈尔滨师范大学自然科学学报, 2016, 32(6): 6-10.

期刊菜单