嗨 Stack Overflow 社区,感谢您阅读我。
我是 Python 的初学者。为了计算风险值,我必须预测 FIGARCH 并计算每日条件均值和标准差。为此,我使用了包含 FIGARCH 模型的“ARCH”包 + 以下链接:https ://arch.readthedocs.io/en/latest/univariate/volatility.html#fractionally-integrated-fi-garch
此链接指定参数:
class arch.univariate.FIGARCH(p=1, q=1, power=2.0, truncation=1000)
参数: p ({0, 1}) – 对称创新的顺序 q ({0, 1}) – 滞后(转换)条件方差幂的顺序(浮点数,可选) – 与创新一起使用的幂,abs( e) ** 权力。默认值为 2.0,它会生成 FIGARCH 和相关模型。使用 1.0 生成 FIAVARCH 和相关模型。可以指定其他幂,但这些幂应该是严格的正数,并且通常大于 0.25。truncation (int, optional) -- 在 ARCH(∞∞) 表示中使用的截断点。默认值为 1000。
这是我尝试过的代码,但它不起作用:
from arch.univariate import FIGARCH
mod_4 = arch_model(results, p=1, q=1, power=2.0, truncation=1000)
res_4 = mod_4.fit(update_freq=5)
q_4 = mod_4.distribution.ppf(p)
forecasts_4 = res_4.forecast()
cond_mean_4 = forecasts_4.mean
cond_var_4 = forecasts_4.variance
value_at_risk_4 = - cond_mean_4.values - np.sqrt(cond_var_4).values * q_4[None, :]
print("value_at_risk_4 =",value_at_risk_4)