Value-at-risk

Model GARCH di R

Kris Boudt

Professor of finance and econometrics

Value-at-risk

  • Ukuran risiko sisi bawah yang populer: VaR 5%. Kuantil 5% dari distribusi return mewakili return terbaik pada 5% skenario terburuk.
    Distribusi return harian per tahun
Model GARCH di R

Distribusi return harian per tahun

Model GARCH di R

Perlu pendekatan ke depan

  • Kuantil dari window bergulir bersifat melihat ke belakang:
    • pertanyaan ex post: berapa kuantil 5% untuk return harian selama setahun terakhir
    • pertanyaan ex ante: berapa kuantil 5% dari distribusi return masa depan yang diprediksi?
  • Manajemen risiko ke depan memakai kuantil prediksi dari estimasi GARCH.
  • Caranya? Metode quantile() pada objek ugarchroll.
Model GARCH di R

Alur kerja untuk mendapatkan kuantil 5% terprediksi dari ugarchroll

ugarchspec(): Tentukan model GARCH yang digunakan

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

ugarchroll(): Estimasi model GARCH pada sampel bergulir

garchroll <- ugarchroll(garchspec, data = sp500ret, n.start = 2500, 
                        refit.window = "moving", refit.every = 100)

quantile(): Hitung kuantil prediksi

garchVaR <- quantile(garchroll, probs = 0.05)

Anda bisa memilih probabilitas rugi lain: 1% dan 2,5% juga populer

Model GARCH di R

Plot Value-at-risk untuk probabilitas rugi 5%

actual <- xts(as.data.frame(garchroll)$Realized, time(garchVaR))
VaRplot(alpha = 0.05, actual = actual, VaR = garchVaR)

Distribusi return harian per tahun

Model GARCH di R

Pelanggaran dan cakupan VaR

Pelanggaran VaR terjadi saat return aktual lebih kecil dari nilai VaR yang diprediksi: $ R_t \ < {VaR}_t$.

Frekuensi pelanggaran VaR disebut cakupan VaR.

# Perhitungan cakupan untuk return S&P 500 dan level probabilitas 5%
mean(actual < garchVaR)
0.05159143
Model GARCH di R

Cakupan VaR dan validasi model

  • Interpretasi cakupan untuk VaR pada probabilitas rugi $\alpha$ (mis. 5%):
    • Model prediksi valid memiliki cakupan mendekati level $\alpha$ yang digunakan.
    • Jika cakupan $\gg$ $\alpha$: terlalu banyak pelanggaran; kuantil prediksi harus lebih negatif. Risiko rugi diremehkan.
    • Jika cakupan $\ll$ $\alpha$: terlalu sedikit pelanggaran; kuantil prediksi terlalu negatif. Risiko rugi dilebihkan.
Model GARCH di R

Faktor yang menurunkan kinerja

distribution.model = "std" alih-alih distribution.model = "sstd":

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

Estimasi bergulir dan prediksi VaR 5%:

garchroll <- ugarchroll(garchspec, data = sp500ret, n.start = 2500, 
                        refit.window = "moving", refit.every = 100)
garchVaR <- quantile(garchroll, probs = 0.05)
mean(actual < garchVaR) # menghasilkan 0.05783233
Model GARCH di R

Penurunan lebih lanjut

variance.model = list(model = "sGARCH")

alih-alih

variance.model = list(model = "gjrGARCH"):

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

Estimasi bergulir dan prediksi VaR 5%:

garchroll <- ugarchroll(garchspec, data = sp500ret, n.start = 2500, 
                        refit.window = "moving", refit.every = 100)
garchVaR <- quantile(garchroll, probs = 0.05)
mean(actual < garchVaR) # menghasilkan 0.06074475
Model GARCH di R

Penurunan makin jauh

refit.every = 1000

alih-alih

refit.every = 100:

garchspec <- ugarchspec(mean.model = list(armaOrder = c(1, 0)),
                        variance.model = list(model = "sGARCH"),
                        distribution.model = "std")
garchroll <- ugarchroll(garchspec, data = sp500ret, n.start = 2500, 
                        refit.window = "moving", refit.every = 1000)
garchVaR <- quantile(garchroll, probs = 0.05)
mean(actual < garchVaR) # menghasilkan 0.06199293
Model GARCH di R

Risiko sisi bawah berarti memikirkan kuantil prediksi.

Model GARCH di R

Preparing Video For Download...