Как получить условное среднее и стандартное отклонение от модели FIGARCH в Python? - PullRequest
0 голосов
/ 04 июня 2019

Привет, сообщество Stack Overflow, и спасибо, что прочитали меня.

Я новичок в Python.Чтобы рассчитать величину риска, я должен спрогнозировать FIGARCH и вычислить среднесуточное условное и стандартное отклонение.Для этого я использовал пакет 'ARCH', который содержит модель FIGARCH + следующую ссылку: 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) ** power,По умолчанию это 2.0, который производит FIGARCH и связанные модели.Использование 1.0 производит FIAVARCH и связанные с ним модели.Могут быть указаны другие полномочия, хотя они должны быть строго положительными и обычно больше 0,25.усечение (int, необязательно) - точка усечения для использования в представлении 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)
...