在Python中正确估计AR-GARCH中的AR部分

时间:2018-10-18 12:59:34

标签: python forecasting volatility arch

我正在使用arch库为AR-GARCH流程建模。最后,我想用它来预测库存回报。但是,我在理解均值方程部分及其预测时遇到了麻烦。

# Simulate an AR(1) process with alpha = 0.6
import numpy as np
np.random.seed(1)
n_samples = int(1000)
a = 0.6
x = w = np.random.normal(size=n_samples)

for t in range(n_samples):
    x[t] = a*x[t-1] + w[t]

#1
from statsmodels.tsa.ar_model import AR
model = AR(x).fit(maxlag=1, ic='aic', trend='c')
model.params
# array([0.03921603, 0.57963722])

#2
from arch.univariate import ARX
arx = ARX(x, lags=[1])
res = arx.fit()

#3
from arch import arch_model
am = arch_model(x, mean='ARX', vol = 'Garch', lags=1)
res = am.fit()
res.summary()

点1和点2给出相同的结果,这是可以预期的。但是,在第三部分中,AR-GARCH模型的系数不同。这是为什么?因为据我了解,AR和GARCH部分是分开的,应该产生相同的结果。这也将解释arch库获得的平均预测是什么-是在库存情况下返回的收益(还包括波动率预测),还是仅来自AR过程的条件均值部分。

干杯!

0 个答案:

没有答案