GARCH-modellen implementeren in Python

GARCH-modellen in Python

Chelsea Yang

Data Science Instructor

Python-pakket "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
GARCH-modellen in Python

Workflow

Ontwikkel een GARCH-model in drie stappen:

  1. Specificeer het model
  2. Fit het model
  3. Maak een voorspelling
GARCH-modellen in Python

Modelspecificatie

Modelaannames:

  • Verdeling: "normal" (standaard), "t", "skewt"
  • Gemiddeldemodel: "constant" (standaard), "zero", "AR"
  • Volatiliteitsmodel: "GARCH" (standaard), "ARCH", "EGARCH"

 

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

Model fitten

Toon fit-uitvoer na elke n iteraties:

gm_result = gm_model.fit(update_freq = 4)

Modelfit-proces

Weergave uitzetten:

gm_result = gm_model.fit(disp = 'off')
GARCH-modellen in Python

Model fit: parameters

Geschat met de "maximum likelihood-methode"

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

Model fit: samenvatting

print(gm_result.summary())

Samenvatting van model-fitresultaat

GARCH-modellen in Python

Model fit: grafieken

gm_result.plot()

Grafieken van modelschattingen

GARCH-modellen in Python

Voorspellen met het model

# Maak 5-periode-vooruit voorspelling
gm_forecast = gm_result.forecast(horizon = 5)
# Print de laatste rij van de variantievoorspelling
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 in rij "2019-10-10": 1-staps-vooruit voorspelling op basis van data t/m die datum

GARCH-modellen in Python

Laten we oefenen!

GARCH-modellen in Python

Preparing Video For Download...