我正在使用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过程的条件均值部分。
干杯!