0

嗨 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)
4

2 回答 2

0

arch_model是一个更通用的构造函数,不采用截断参数。

如果您想使用截断的默认值以外的其他值,则可以按照此处的示例进行操作。

这是您的代码的一个问题,但是在不知道您收到什么错误或能够重现您的示例的情况下,很难说更多。

于 2019-09-23T14:55:03.537 回答
0

该模型不是简化界面的一部分,因此需要分段构建。

from arch.univariate import ConstantMean, FIGARCH, Normal
from arch.data import sp500

rets = 100 * sp500.load()["Adj Close"].pct_change().dropna()
mod = ConstantMean(rets, volatility=FIGARCH(truncation=500), distribution=Normal())
res = mod.fit(update_freq=5)
res.summary()

这返回

                    Constant Mean - FIGARCH Model Results
==============================================================================
Dep. Variable:              Adj Close   R-squared:                       0.000
Mean Model:             Constant Mean   Adj. R-squared:                  0.000
Vol Model:                    FIGARCH   Log-Likelihood:               -6924.08
Distribution:                  Normal   AIC:                           13858.2
Method:            Maximum Likelihood   BIC:                           13890.8
                                        No. Observations:                 5030
Date:                Thu, Feb 25 2021   Df Residuals:                     5029
Time:                        09:56:30   Df Model:                            1
                                 Mean Model
============================================================================
                 coef    std err          t      P>|t|      95.0% Conf. Int.
----------------------------------------------------------------------------
mu             0.0582  1.138e-02      5.115  3.140e-07 [3.589e-02,8.048e-02]
                              Volatility Model
============================================================================
                 coef    std err          t      P>|t|      95.0% Conf. Int.
----------------------------------------------------------------------------
omega          0.0430  1.464e-02      2.934  3.348e-03 [1.426e-02,7.166e-02]
phi            0.0862  6.182e-02      1.395      0.163  [-3.491e-02,  0.207]
d              0.5072  8.634e-02      5.874  4.243e-09     [  0.338,  0.676]
beta           0.5188      0.111      4.668  3.046e-06     [  0.301,  0.737]
============================================================================

Covariance estimator: robust
于 2021-02-25T09:57:40.890 回答