Bez wysiłku nie ma efektów

Modele GARCH w R

Kris Boudt

Professor of finance and econometrics

Model GARCH-in-mean

  • Kwantyfikacja relacji ryzyko-zysk.
  • Ryzyko: $\sigma^2_t$. Zysk: $\mu_t$.
  • Model GARCH-in-mean:

$$ \mu_{t} = \mu + \lambda \sigma^2_{t} $$

$\lambda > 0$ to parametr ryzyko/zysk określający wzrost oczekiwanej stopy zwrotu na jednostkę wariancji.

Modele GARCH w R

Jak?

Zmień argument mean.model w ugarchspec() z list(armaOrder = c(0, 0)) na list(armaOrder = c(0, 0), archm = TRUE, archpow = 2):

garchspec <- ugarchspec(
              mean.model = list(armaOrder = c(0, 0)),
              variance.model = list(model = "gjrGARCH"),
              distribution.model = "sstd")
garchspec <- ugarchspec(
               mean.model = list(armaOrder = c(0, 0), archm = TRUE, archpow = 2),
               variance.model = list(model = "gjrGARCH"),
               distribution.model = "sstd")
Modele GARCH w R

Zastosowanie do dziennych stóp zwrotu S&P 500

Estymacja

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

Współczynniki modelu dla średniej

round(coef(garchfit)[1:2], 4)
    mu  archm 
0.0002 1.9950

Przewidywane średnie stopy zwrotu

$$ \hat{\mu}_{t} = 0.0002 + 1.9950 \hat{\sigma}^2_{t} $$

Modele GARCH w R

Wykres czasowy przewidywanych stóp zwrotu

  • Wykres w R
    plot(fitted(garchfit))
    
Modele GARCH w R

Dzisiejsza stopa zwrotu jako predyktor jutrzejszej

  • Model GARCH-in-mean wykorzystuje finansową teorię relacji ryzyko-zysk do budowy modelu warunkowej średniej.
  • Teraz zastosujemy teorię statystyczną do zbudowania modelu średniej, który wykorzystuje korelację między dzisiejszą a jutrzejszą stopą zwrotu.
  • Najpopularniejszym modelem jest AR(1):
    • AR(1) to model autoregresji rzędu 1.
    • Przewiduje kolejną stopę zwrotu na podstawie odchylenia od długookresowej średniej $\mu$:

$$ \mu_{t} = \mu + \rho(R_{t-1} - \mu) $$

Modele GARCH w R

Dodatni współczynnik autoregresji

$$ \mu_{t} = \mu + \rho(R_{t-1} - \mu) $$

  • $\rho > 0$:
    • Stopa zwrotu wyższa (niższa) od średniej jest poprzedzona stopą zwrotu wyższą (niższą) od średniej.
    • Możliwe wyjaśnienie: rynki reagują zbyt słabo na informacje, co powoduje momentum stóp zwrotu.
  • $|\rho|<1$: Powrót do średniej: Odchylenia $R_t$ od $\mu$ są przejściowe.
Modele GARCH w R

Ujemny współczynnik autoregresji

$$ \mu_{t} = \mu + \rho(R_{t-1} - \mu) $$

  • $\rho < 0$:
    • Stopa zwrotu wyższa (niższa) od średniej jest poprzedzona stopą zwrotu niższą (wyższą) od średniej.
    • Możliwe wyjaśnienie: rynki reagują zbyt silnie na informacje, co powoduje odwrócenie stóp zwrotu.
Modele GARCH w R

Zastosowanie do dziennych stóp zwrotu S&P 500

Specyfikacja i estymacja AR(1)-GJR GARCH z rozkładem sst

garchspec <- ugarchspec( 
          mean.model = list(armaOrder = c(1, 0)),
          variance.model = list(model = "gjrGARCH"),
          distribution.model = "sstd")
garchfit <- ugarchfit(data = sp500ret, spec = garchspec)

Estymaty modelu AR(1)

round(coef(garchfit)[1:2], 4)
     mu     ar1     
 0.0003 -0.0292
Modele GARCH w R

Model MA(1) i ARMA(1,1)

Model średniej ruchomej rzędu 1 wykorzystuje odchylenie stopy zwrotu od warunkowej średniej:

$$ \mu_{t} = \mu + \theta(R_{t-1} - \mu_{t-1}) $$

ARMA(1,1) łączy AR(1) i MA(1):

$$ \mu_{t} = \mu + \rho(R_{t-1} - \mu) + \theta(R_{t-1} - \mu_{t-1}) $$

Modele GARCH w R

Jak?

MA(1)

garchspec <- ugarchspec( 
          mean.model = list(armaOrder = c(0, 1)),
          variance.model = list(model = "gjrGARCH"),
          distribution.model = "sstd")

ARMA(1, 1)

garchspec <- ugarchspec( 
          mean.model = list(armaOrder = c(1, 1)),
          variance.model = list(model = "gjrGARCH"),
          distribution.model = "sstd")
Modele GARCH w R

Czas na zmianę argumentu mean.model

Modele GARCH w R

Preparing Video For Download...