Variansanpassning
Volatiliteten i finansiella avkastningar tenderar att uppträda i kluster över tid: perioder av hög volatilitet följs av perioder av lägre volatilitet. Den långsiktiga prognosen är att:
- när volatiliteten är hög kommer den att minska och återgå till sitt långsiktiga genomsnitt.
- när volatiliteten är låg kommer den att öka och återgå till sitt långsiktiga genomsnitt.
Vid skattning av GARCH-modeller kan vi utnyttja denna mean reversion-egenskap hos volatilitet med hjälp av variansanpassning (variance targeting). Vi skattar då GARCH-parametrarna så att den långsiktiga volatilitet som GARCH-modellen implicerar är lika med urvalets standardavvikelse.
Låt oss göra detta för EUR/USD-avkastningarna.
Den här övningen är en del av kursen
GARCH-modeller i R
Övningsinstruktioner
- Ändra GARCH-specifikationen så att variansanpassning används.
- Skatta GARCH-modellen.
- Använd
uncvariance()för att beräkna den långsiktiga standardavvikelse som GARCH-modellen implicerar. - Kontrollera att detta värde, efter avrundning, är lika med urvalets standardavvikelse.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)