Aan de slagGa gratis aan de slag

ARCH- en GARCH-reeksen simuleren

In deze oefening simuleer je respectievelijk een ARCH(1)- en een GARCH(1,1)-tijdreeks met een vooraf gedefinieerde functie simulate_GARCH(n, omega, alpha, beta = 0).

Onthoud het verschil tussen een ARCH(1)- en een GARCH(1,1)-model: naast een autoregressieve component waarbij \(\alpha\) wordt vermenigvuldigd met het kwadraat van de residuen met vertraging 1, bevat een GARCH-model ook een moving-averagecomponent waarbij \(\beta\) wordt vermenigvuldigd met de variantie met vertraging 1.

De vooraf gedefinieerde functie simuleert een ARCH/GARCH-reeks op basis van de door jou opgegeven n (aantal simulaties), omega, alpha en beta (standaard 0). De functie retourneert gesimuleerde residuen en varianties. Daarna ga je de gesimuleerde varianties van het ARCH- en GARCH-proces plotten en bekijken.

Deze oefening maakt deel uit van de cursus

GARCH-modellen in Python

Cursus bekijken

Oefeninstructies

  • Simuleer een ARCH(1)-proces met omega = 0.1, alpha = 0.7.
  • Simuleer een GARCH(1,1)-proces met omega = 0.1, alpha = 0.7 en beta = 0.1.
  • Plot respectievelijk de gesimuleerde ARCH-varianties en GARCH-varianties.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Simulate a ARCH(1) series
arch_resid, arch_variance = simulate_GARCH(n= 200, 
                                           omega = ____, alpha = ____)
# Simulate a GARCH(1,1) series
garch_resid, garch_variance = simulate_GARCH(n= 200, 
                                             omega = ____, alpha = ____, 
                                             beta = ____)
# Plot the ARCH variance
plt.plot(____, color = 'red', label = 'ARCH Variance')
# Plot the GARCH variance
plt.plot(____, color = 'orange', label = 'GARCH Variance')
plt.legend()
plt.show()
Code bewerken en uitvoeren