Vyhněte se zbytečné složitosti

GARCH modely v R

Kris Boudt

Professor of finance and econometrics

Vyhněte se zbytečné složitosti

  • Pokud víte, že:
    • Střední dynamika je zanedbatelná
    • V rozptylu neexistuje efekt páky
    • Rozdělení je symetrické s těžkými chvosty

Pak je vhodnou specifikací konstantní střední hodnota, standardní GARCH(1, 1) se Studentovým t rozdělením:

garchspec <- ugarchspec(mean.model = list(armaOrder = c(0, 0)),
                        variance.model = list(model = "sGARCH"),
                        distribution.model = "std")
GARCH modely v R

Omezení odhadů parametrů

  • Pokud víte, že parametry:
    • jsou rovny určité hodnotě
    • nebo leží v určitém intervalu
  • Pak toto vynuťte ve specifikaci pomocí metod:
    • setfixed()
    • setbounds()
GARCH modely v R

Aplikace na směnné kurzy

Specifikace a odhadování

garchspec <- ugarchspec(mean.model = list(armaOrder = c(0, 0)),
                        variance.model = list(model = "sGARCH"),
                        distribution.model = "std")
garchfit <- ugarchfit(data = EURUSDret, spec = garchspec)

Výsledky odhadu

coef(garchfit)
           mu         omega        alpha1         beta1         shape 
-3.562136e-05  8.005123e-08  3.097322e-02  9.674496e-01  8.821902e+00
GARCH modely v R

Příklad setfixed()

  • Pokud víte, že alpha1 = 0.05 a shape = 6: vynuťte tyto hodnoty při odhadování.
  • Jak? Pomocí metody setfixed() na objekt ugarchspec
setfixed(garchspec) <- list(alpha1 = 0.05, shape = 6)

Výsledek

garchfit <- ugarchfit(data = EURUSDret, spec = garchspec)

coef(garchfit)
           mu         omega        alpha1         beta1         shape 
-4.142922e-05  2.061772e-07  5.000000e-02  9.489622e-01  6.000000e+00
GARCH modely v R

Meze parametrů

  • Parametry GARCH lze omezit na interval.
  • Někdy je interval přípustných hodnot velký:
    • Aby byl rozptyl kladný, požadujeme např. kladnost všech parametrů rozptylu ($\omega$, $\alpha$, $\beta$, $\gamma$).
  • Někdy je interval přípustných hodnot užší:
    • Pravděpodobné hodnoty $\alpha$ leží mezi 0,05 a 0,2
    • Pravděpodobné hodnoty $\beta$ leží mezi 0,7 a 0,95
  • Taková intervalová omezení parametrů lze vynutil pomocí metody setbounds().
GARCH modely v R

Příklad setbounds()

setbounds(garchspec) <- list(alpha1 = c(0.05, 0.2), beta1 = c(0.8, 0.95))
GARCH modely v R

Využijte intuici k omezení zbytečné složitosti.

Využijte dostupné informace:

  • k sestavení jednoduchých (a chytrých) modelů
  • k fixaci hodnot parametrů nebo nastavení mezí
  • k zajištění realistické dynamiky GARCH:

    • mean reversion volatility kolem výběrové směrodatné odchylky
      sd(EURUSDret) # returns a value of 0.006194049
      
GARCH modely v R

Shluky volatility a mean reversion volatility

GARCH modely v R

Cílení rozptylu

  • Matematicky to znamená, že nepodmíněný rozptyl implikovaný modely GARCH se rovná výběrovému rozptylu $\hat \sigma^2$.
  • Jak? Nastavením argumentu variance.targeting = TRUE v variance.model funkce ugarchspec():
garchspec <- ugarchspec(mean.model = list(armaOrder = c(0,0)),
                        variance.model = list(model = "sGARCH",
                        variance.targeting = TRUE),
                        distribution.model = "std")
garchfit <- ugarchfit(data = EURUSDret, spec = garchspec)
all.equal(uncvariance(garchfit), sd(EURUSDret) ^ 2, tol = 1e-4)
TRUE
GARCH modely v R

Uložme omezení na model GARCH

GARCH modely v R

Preparing Video For Download...