Không vất vả, không thành công

Các mô hình GARCH trong R

Kris Boudt

Professor of finance and econometrics

Mô hình GARCH-trong-kỳ-vọng

  • Định lượng đánh đổi rủi ro - phần thưởng.
  • Rủi ro: $\sigma^2_t$. Phần thưởng: $\mu_t$.
  • Mô hình GARCH-trong-kỳ-vọng:

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

$\lambda > 0$ là tham số rủi ro/phần thưởng, chỉ mức tăng kỳ vọng lợi nhuận cho mỗi đơn vị rủi ro phương sai.

Các mô hình GARCH trong R

Làm thế nào?

Đổi đối số mean.model trong ugarchspec() từ list(armaOrder = c(0, 0)) thành 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")
Các mô hình GARCH trong R

Ứng dụng cho lợi nhuận S&P 500 hằng ngày

Ước lượng

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

Xem các hệ số ước lượng cho kỳ vọng

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

Kỳ vọng lợi nhuận dự báo

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

Các mô hình GARCH trong R

Chuỗi thời gian của lợi nhuận dự báo

  • Vẽ trong R
    plot(fitted(garchfit))
    
Các mô hình GARCH trong R

Lợi nhuận hôm nay dự báo lợi nhuận ngày mai

  • GARCH-trong-kỳ-vọng dùng lý thuyết tài chính về đánh đổi rủi ro - phần thưởng để xây dựng mô hình kỳ vọng có điều kiện.
  • Giờ dùng lý thuyết thống kê để lập mô hình kỳ vọng dựa vào tương quan giữa lợi nhuận hôm nay và ngày mai.
  • Mô hình phổ biến nhất là AR(1):
    • AR(1) là mô hình tự hồi quy bậc 1.
    • Dự báo lợi nhuận tiếp theo bằng sai lệch của lợi nhuận so với giá trị trung bình dài hạn $\mu$:

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

Các mô hình GARCH trong R

Hệ số tự hồi quy dương

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

  • $\rho > 0$:
    • Lợi nhuận cao (hoặc thấp) hơn trung bình sẽ theo sau bởi lợi nhuận cao (hoặc thấp) hơn trung bình.
    • Giải thích khả dĩ: thị trường phản ứng thiếu mạnh với tin tức nên có động lượng trong lợi nhuận.
  • $|\rho|<1$: Hồi quy về trung bình: Sai lệch của $R_t$ so với $\mu$ chỉ mang tính tạm thời.
Các mô hình GARCH trong R

Hệ số tự hồi quy âm

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

  • $\rho < 0$:
    • Lợi nhuận cao (hoặc thấp) hơn trung bình sẽ theo sau bởi lợi nhuận thấp (hoặc cao) hơn trung bình.
    • Giải thích khả dĩ: thị trường phản ứng thái quá với tin tức nên có đảo chiều lợi nhuận.
Các mô hình GARCH trong R

Ứng dụng cho lợi nhuận S&P 500 hằng ngày

Đặc tả và ước lượng AR(1)-GJR GARCH với phân phối sst

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

Ước lượng mô hình AR(1)

round(coef(garchfit)[1:2], 4)
     mu     ar1     
 0.0003 -0.0292
Các mô hình GARCH trong R

Mô hình MA(1) và ARMA(1,1)

Mô hình Trung bình Trượt bậc 1 dùng sai lệch của lợi nhuận so với kỳ vọng có điều kiện:

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

ARMA(1,1) kết hợp AR(1) và MA(1):

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

Các mô hình GARCH trong R

Làm thế nào?

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")
Các mô hình GARCH trong R

Đến lượt bạn đổi tham số mean.model

Các mô hình GARCH trong R

Preparing Video For Download...