Tak ada usaha, tak ada hasil

Model GARCH di R

Kris Boudt

Professor of finance and econometrics

Model GARCH-in-mean

  • Kuantifikasi trade-off risiko-imbal hasil.
  • Risiko: $\sigma^2_t$. Imbal hasil: $\mu_t$.
  • Model GARCH-in-mean:

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

$\lambda > 0$ adalah parameter risiko/imbal hasil yang menyatakan kenaikan ekspektasi imbal hasil per unit risiko varians.

Model GARCH di R

Bagaimana?

Ubah argumen mean.model di ugarchspec() dari list(armaOrder = c(0, 0)) menjadi 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")
Model GARCH di R

Aplikasi pada imbal hasil harian S&P 500

Estimasi

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

Tinjau koefisien mean yang diestimasi

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

Mean imbal hasil terprediksi

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

Model GARCH di R

Plot deret waktu mean terprediksi

  • Plot di R
    plot(fitted(garchfit))
    
    Plot deret waktu mean terprediksi
Model GARCH di R

Imbal hasil hari ini memprediksi besok

  • GARCH-in-mean memakai teori finansial trade-off risiko-imbal hasil untuk membangun model mean kondisional.
  • Sekarang gunakan teori statistik untuk membuat model mean yang memanfaatkan korelasi antara imbal hasil hari ini dan besok.
  • Model paling populer adalah AR(1):
    • AR(1) adalah model autoregresif orde 1.
    • Ini memprediksi imbal hasil berikutnya dengan deviasi imbal hasil dari mean jangka panjang $\mu$:

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

Model GARCH di R

Koefisien autoregresif positif

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

  • $\rho > 0$:
    • Imbal hasil di atas (atau di bawah) rata-rata diikuti oleh imbal hasil di atas (atau di bawah) rata-rata.
    • Penjelasan mungkin: pasar kurang bereaksi terhadap berita sehingga ada momentum pada imbal hasil.
  • $|\rho|<1$: Kembali ke rata-rata: deviasi $R_t$ dari $\mu$ bersifat sementara.
Model GARCH di R

Koefisien autoregresif negatif

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

  • $\rho < 0$:
    • Imbal hasil di atas (atau di bawah) rata-rata diikuti oleh imbal hasil di bawah (atau di atas) rata-rata.
    • Penjelasan mungkin: pasar bereaksi berlebihan terhadap berita sehingga terjadi pembalikan pada imbal hasil.
Model GARCH di R

Aplikasi pada imbal hasil harian S&P 500

Spesifikasi dan estimasi AR(1)-GJR GARCH dengan distribusi sst

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

Estimasi model AR(1)

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

Model MA(1) dan ARMA(1,1)

Model Moving Average orde 1 menggunakan deviasi imbal hasil dari mean kondisionalnya:

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

ARMA(1,1) menggabungkan AR(1) dan MA(1):

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

Model GARCH di R

Bagaimana?

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")
Model GARCH di R

Giliran Anda mengubah argumen mean.model

Model GARCH di R

Preparing Video For Download...