Giá trị rủi ro (VaR)

Các mô hình GARCH trong R

Kris Boudt

Professor of finance and econometrics

Giá trị rủi ro (VaR)

  • Thước đo rủi ro suy giảm phổ biến: VaR 5%. Phân vị 5% của phân phối lợi nhuận là mức lợi nhuận tốt nhất trong 5% kịch bản tệ nhất.
    Phân phối lợi nhuận ngày theo năm
Các mô hình GARCH trong R

Phân phối lợi nhuận ngày theo năm

Các mô hình GARCH trong R

Cần cách tiếp cận hướng tới tương lai

  • Phân vị của cửa sổ trượt lợi nhuận là nhìn về quá khứ:
    • câu hỏi ex post: phân vị 5% của lợi nhuận ngày trong năm qua đã là bao nhiêu
    • câu hỏi ex ante: phân vị 5% của phân phối dự báo cho lợi nhuận tương lai là bao nhiêu?
  • Quản trị rủi ro hướng tới tương lai dùng các phân vị dự báo từ ước lượng GARCH.
  • Cách làm? Dùng quantile() trên đối tượng ugarchroll.
Các mô hình GARCH trong R

Quy trình lấy phân vị 5% dự báo từ ugarchroll

ugarchspec(): Chỉ định mô hình GARCH muốn dùng

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

ugarchroll(): Ước lượng GARCH trên các mẫu cuộn

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

quantile(): Tính phân vị dự báo

garchVaR <- quantile(garchroll, probs = 0.05)

Bạn có thể chọn xác suất lỗ khác: 1% hoặc 2.5% cũng phổ biến

Các mô hình GARCH trong R

Biểu đồ VaR với xác suất lỗ 5%

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

Phân phối lợi nhuận ngày theo năm

Các mô hình GARCH trong R

Vượt ngưỡng và mức bao phủ VaR

Vượt VaR xảy ra khi lợi nhuận thực nhỏ hơn giá trị VaR dự báo: $ R_t \ < {VaR}_t$.

Tần suất vượt VaR gọi là mức bao phủ VaR.

# Tính mức bao phủ cho lợi nhuận S&P 500 và mức xác suất 5%
mean(actual < garchVaR)
0.05159143
Các mô hình GARCH trong R

Mức bao phủ VaR và kiểm định mô hình

  • Diễn giải mức bao phủ cho VaR tại xác suất lỗ $\alpha$ (vd., 5%):
    • Mô hình dự báo hợp lệ có mức bao phủ gần mức xác suất $\alpha$ dùng.
    • Nếu mức bao phủ $\gg$ $\alpha$: quá nhiều lần vượt; phân vị dự báo nên âm hơn. Đã đánh giá thấp rủi ro thua lỗ.
    • Nếu mức bao phủ $\ll$ $\alpha$: quá ít lần vượt; phân vị dự báo quá âm. Đã đánh giá cao rủi ro thua lỗ.
Các mô hình GARCH trong R

Các yếu tố làm giảm hiệu năng

distribution.model = "std" thay cho distribution.model = "sstd":

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

Ước lượng cuộn và dự báo 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) # trả về 0.05783233
Các mô hình GARCH trong R

Suy giảm hơn nữa

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

thay cho

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

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

Ước lượng cuộn và dự báo 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) # trả về 0.06074475
Các mô hình GARCH trong R

Còn suy giảm nữa

refit.every = 1000

thay cho

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) # trả về 0.06199293
Các mô hình GARCH trong R

Rủi ro suy giảm là nghĩ về các phân vị dự báo.

Các mô hình GARCH trong R

Preparing Video For Download...