Unikaj zbędnej złożoności

Modele GARCH w R

Kris Boudt

Professor of finance and econometrics

Unikaj zbędnej złożoności

  • Jeśli wiadomo, że:
    • Dynamika średniej jest pominijalna
    • Brak efektu dźwigni w wariancji
    • Rozkład jest symetryczny i gruboosterny

Wówczas odpowiednią specyfikacją jest stała średnia, standardowy GARCH(1, 1) z rozkładem t-Studenta:

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

Ogranicz estymowane parametry

  • Jeśli wiadomo, że parametry:
    • mają określoną wartość
    • lub należą do pewnego przedziału
  • Należy to narzucić w specyfikacji za pomocą metod:
    • setfixed()
    • setbounds()
Modele GARCH w R

Zastosowanie do kursów walutowych

Specyfikacja i estymacja

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

Wyniki estymacji

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

Przykład użycia setfixed()

  • Jeśli wiadomo, że alpha1 = 0.05 i shape = 6: narzuć te wartości w estymacji.
  • Jak? Użyj metody setfixed() na obiekcie ugarchspec
setfixed(garchspec) <- list(alpha1 = 0.05, shape = 6)

Wynik

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
Modele GARCH w R

Ograniczenia parametrów

  • Parametry GARCH można ograniczyć do przedziału.
  • Niekiedy przedział dopuszczalnych wartości jest szeroki:
    • Aby wariancja była dodatnia, wymagamy np. dodatniości wszystkich parametrów wariancji ($\omega$, $\alpha$, $\beta$, $\gamma$).
  • Niekiedy przedział jest węższy:
    • Prawdopodobne wartości $\alpha$ mieszczą się między 0,05 a 0,2
    • Prawdopodobne wartości $\beta$ mieszczą się między 0,7 a 0,95
  • Takie ograniczenia można narzucić za pomocą metody setbounds().
Modele GARCH w R

Przykład użycia setbounds()

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

Użyj intuicji, aby uniknąć zbędnej złożoności.

Wykorzystaj dostępne informacje:

  • do budowy prostych (i trafnych) modeli
  • do ustalania wartości parametrów lub granic
  • aby dynamika GARCH była realistyczna:

    • powrót zmienności do średniej wokół odchylenia standardowego próby
      sd(EURUSDret) # returns a value of 0.006194049
      
Modele GARCH w R

Klastry zmienności i powrót do średniej

Modele GARCH w R

Targetowanie wariancji

  • Matematycznie oznacza to, że wariancja bezwarunkowa modelu GARCH jest równa wariancji próby $\hat \sigma^2$.
  • Jak? Ustawiając argument variance.targeting = TRUE w variance.model funkcji 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
Modele GARCH w R

Nałóżmy ograniczenia na model GARCH

Modele GARCH w R

Preparing Video For Download...