时序分析(6)
ARIMA(p,d,q)模型
上一篇文章我们探讨了ARIMA模型时序数据进行建模,这一节我们主要讨论ARMA模型的一个非常重要的扩展模型ARIMA。
首先我们介绍ARIMA模型的基本概念:
Autoregressive Integrated Moving Average Models - ARIMA(p, d, q)
我们以前提到过金融时序大多数都不是平稳时序,也就是说其统计特性随着时间的推移而变化,但是通过差分我们有时可以将其变成平稳时序。在前面文章中我们看到了把指数数据变换成收益率后就是平稳过程了;把随机步行序列进行一阶差分以后就变成了白噪声。
ARIMA模型中的参数d就代表我们对原始序列进行差分的次数。
导入python包和数据
如同系列文章前面一样
我们将对四个指数数据进行ARIMA建模,注意:不是对收益率数据建模。
- 国内股票
以ARIMA建模, 模型比较准则为AIC,得到阶数为(3,1,2)
best_aic = np.inf
best_order = None
best_mdl_gg = None
Y = indexs_sub['国内股票']
pq_rng = range(5) # [0,1,2,3,4]
d_rng = range(2) # [0,1]
for i in pq_rng:
for d in d_rng:
for j in pq_rng:
try:
tmp_mdl = smt.ARIMA(Y, order=(i,d,j)).fit(method='mle', trend='nc')
tmp_aic = tmp_mdl.aic
if tmp_aic