Fără efort, fără rezultat

Modele GARCH în R

Kris Boudt

Professor of finance and econometrics

Modelul GARCH-in-mean

  • Cuantificarea relației risc-randament.
  • Risc: $\sigma^2_t$. Randament: $\mu_t$.
  • Modelul GARCH-in-mean:

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

$\lambda > 0$ este parametrul risc/randament, indicând creșterea randamentului așteptat per unitate de risc de varianță.

Modele GARCH în R

Cum?

Modificați argumentul mean.model din ugarchspec() din list(armaOrder = c(0, 0)) în 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 în R

Aplicație pe randamentele zilnice S&P 500

Estimare

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

Inspecția coeficienților estimați pentru medie

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

Randamente medii prognozate

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

Modele GARCH în R

Graficul seriei de timp a randamentelor prognozate

  • Reprezentați grafic în R
    plot(fitted(garchfit))
    
Modele GARCH în R

Randamentul de azi prezice randamentul de mâine

  • Modelul GARCH-in-mean utilizează teoria financiară a relației risc-randament pentru a construi un model al mediei condiționate.
  • Vom folosi acum teoria statistică pentru a construi un model al mediei care exploatează corelația dintre randamentul de azi și cel de mâine.
  • Cel mai popular model este AR(1):
    • AR(1) înseamnă model autoregresiv de ordinul 1.
    • Prognozează randamentul următor folosind abaterea randamentului față de media sa pe termen lung $\mu$:

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

Modele GARCH în R

Coeficient autoregresiv pozitiv

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

  • $\rho > 0$:
    • Un randament peste (resp. sub) medie este urmat de un randament peste (resp. sub) medie.
    • Explicație posibilă: piețele reacționează insuficient la știri, generând un efect de moment în randamente.
  • $|\rho|<1$: Revenire la medie: Abaterile lui $R_t$ față de $\mu$ sunt tranzitorii.
Modele GARCH în R

Coeficient autoregresiv negativ

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

  • $\rho < 0$:
    • Un randament peste (resp. sub) medie este urmat de un randament sub (resp. peste) medie.
    • Explicație posibilă: piețele suprareacționează la știri, generând o inversare a randamentelor.
Modele GARCH în R

Aplicație pe randamentele zilnice S&P 500

Specificarea și estimarea modelului AR(1)-GJR GARCH cu distribuție sst

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

Estimările modelului AR(1)

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

Modelele MA(1) și ARMA(1,1)

Modelul de medie mobilă de ordinul 1 utilizează abaterea randamentului față de media sa condiționată:

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

ARMA(1,1) combină AR(1) și MA(1):

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

Modele GARCH în R

Cum?

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 în R

Modificați argumentul mean.model

Modele GARCH în R

Preparing Video For Download...