Aan de slagGa gratis aan de slag

Variance targeting

De volatiliteit van financiële rendementen clustert in de tijd: periodes met bovengemiddelde volatiliteit worden gevolgd door periodes met benedengemiddelde volatiliteit. De langetermijnvoorspelling is dat:

  • wanneer de volatiliteit hoog is, deze zal dalen en terugkeren naar het langetermijngemiddelde;
  • wanneer de volatiliteit laag is, deze zal stijgen en terugkeren naar het langetermijngemiddelde.

Bij het schatten van GARCH-modellen kunnen we dit mean-reversiongedrag van volatiliteit benutten via volatility targeting. We schatten de GARCH-parameters dan zo dat de langetermijnvolatiliteit die uit het GARCH-model volgt gelijk is aan de steekproefstandaarddeviatie.

Laten we dit doen voor de EUR/USD-rendementen.

Deze oefening maakt deel uit van de cursus

GARCH-modellen in R

Cursus bekijken

Oefeninstructies

  • Pas de GARCH-specificatie aan zodat variance targeting wordt gebruikt.
  • Schat het GARCH-model.
  • Gebruik uncvariance() om de door GARCH geïmpliceerde langetermijn-standaarddeviatie te berekenen.
  • Controleer dat dit getal na afronden gelijk is aan de steekproefstandaarddeviatie.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Complete the specification to do variance targeting
garchspec <- ugarchspec(mean.model = list(armaOrder = c(0,0)),
                        variance.model = list(model = "sGARCH",
                                             ___ = ___),
                        distribution.model = "std")

# Estimate the model
garchfit <- ___(data = EURUSDret, spec = garchspec)

# Print the GARCH model implied long run volatility
sqrt(___(___))

# Verify that it equals the standard deviation (after rounding)
all.equal(sqrt(uncvariance(garchfit)), ___(EURUSDret), tol = 1e-4)
Code bewerken en uitvoeren