Como implementar modelos GARCH em Python

Modelos GARCH em Python

Chelsea Yang

Data Science Instructor

Pacote Python "arch"

from arch import arch_model

1 Kevin Sheppard. (2019, March 28). bashtage/arch: Release 4.8.1 (Version 4.8.1). Zenodo. http://doi.org/10.5281/zenodo.2613877
Modelos GARCH em Python

Fluxo de trabalho

Desenvolva um modelo GARCH em três etapas:

  1. Especifique o modelo
  2. Ajuste o modelo
  3. Faça a previsão
Modelos GARCH em Python

Especificação do modelo

Suposições do modelo:

  • Distribuição: "normal" (padrão), "t", "skewt"
  • Modelo de média: "constant" (padrão), "zero", "AR"
  • Modelo de volatilidade: "GARCH" (padrão), "ARCH", "EGARCH"

 

basic_gm = arch_model(sp_data['Return'], p = 1, q = 1, 
                      mean = 'constant', vol = 'GARCH', dist = 'normal')
Modelos GARCH em Python

Ajuste do modelo

Exiba o ajuste do modelo a cada n iterações:

gm_result = gm_model.fit(update_freq = 4)

Processo de ajuste do modelo

Desative a exibição:

gm_result = gm_model.fit(disp = 'off')
Modelos GARCH em Python

Resultados ajustados: parâmetros

Estimado por "método de máxima verossimilhança"

print(gm_result.params)
mu          0.077239
omega       0.039587
alpha[1]    0.167963
beta[1]     0.786467
Name: params, dtype: float64
Modelos GARCH em Python

Resultados ajustados: resumo

print(gm_result.summary())

Resumo do resultado do ajuste

Modelos GARCH em Python

Resultados ajustados: gráficos

gm_result.plot()

Gráficos das estimativas do modelo

Modelos GARCH em Python

Previsão do modelo

# Fazer previsão para 5 períodos à frente
gm_forecast = gm_result.forecast(horizon = 5)
# Imprimir a última linha da previsão de variância
print(gm_forecast.variance[-1:])
                 h.1       h.2       h.3       h.4       h.5
Date                                                        
2019-10-10  0.994079  0.988366  0.982913  0.977708  0.972741

h.1 na linha "2019-10-10": previsão de 1 passo à frente usando dados até (e incluindo) essa data

Modelos GARCH em Python

Vamos praticar!

Modelos GARCH em Python

Preparing Video For Download...