Tránh độ phức tạp không cần thiết

Các mô hình GARCH trong R

Kris Boudt

Professor of finance and econometrics

Tránh phức tạp không cần thiết

  • Nếu bạn biết
    • Động học trung bình là không đáng kể
    • Không có hiệu ứng đòn bẩy trong phương sai
    • Phân phối đối xứng và đuôi dày

Vậy trung bình hằng, GARCH(1,1) chuẩn với phân phối t-student là đặc tả phù hợp:

garchspec <- ugarchspec(mean.model = list(armaOrder = c(0, 0)),
                        variance.model = list(model = "sGARCH"),
                        distribution.model = "std")
Các mô hình GARCH trong R

Hạn chế ước lượng tham số

  • Nếu bạn biết tham số
    • bằng một giá trị nhất định
    • hoặc nằm trong một khoảng
  • Hãy áp đặt điều này trong đặc tả bằng các phương thức
    • setfixed()
    • setbounds()
Các mô hình GARCH trong R

Ứng dụng cho tỷ giá hối đoái

Đặc tả và ước lượng

garchspec <- ugarchspec(mean.model = list(armaOrder = c(0, 0)),
                        variance.model = list(model = "sGARCH"),
                        distribution.model = "std")
garchfit <- ugarchfit(data = EURUSDret, spec = garchspec)

Kết quả ước lượng

coef(garchfit)
           mu         omega        alpha1         beta1         shape 
-3.562136e-05  8.005123e-08  3.097322e-02  9.674496e-01  8.821902e+00
Các mô hình GARCH trong R

Ví dụ về setfixed()

  • Nếu bạn biết alpha1 = 0.05shape = 6: hãy áp đặt các giá trị đó khi ước lượng.
  • Cách làm? Dùng phương thức setfixed() trên đối tượng ugarchspec
setfixed(garchspec) <- list(alpha1 = 0.05, shape = 6)

Kết quả

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

coef(garchfit)
           mu         omega        alpha1         beta1         shape 
-4.142922e-05  2.061772e-07  5.000000e-02  9.489622e-01  6.000000e+00
Các mô hình GARCH trong R

Cận cho tham số

  • Tham số GARCH có thể bị ràng buộc trong một khoảng.
  • Đôi khi khoảng giá trị hợp lý là rộng:
    • Để đảm bảo phương sai dương, yêu cầu ví dụ tất cả tham số phương sai ($\omega$, $\alpha$, $\beta$, $\gamma$) dương.
  • Đôi khi khoảng giá trị hợp lý nhỏ hơn:
    • Giá trị hợp lý của $\alpha$ trong khoảng 0.05–0.2
    • Giá trị hợp lý của $\beta$ trong khoảng 0.7–0.95
  • Các ràng buộc kiểu cận này có thể áp đặt bằng phương thức setbounds().
Các mô hình GARCH trong R

Ví dụ về setbounds()

setbounds(garchspec) <- list(alpha1 = c(0.05, 0.2), beta1 = c(0.8, 0.95))
Các mô hình GARCH trong R

Dùng trực giác để tránh phức tạp không cần.

Hãy dùng thông tin bạn có:

  • để xây dựng mô hình đơn giản (và khôn ngoan)
  • để cố định giá trị tham số hoặc đặt cận
  • để làm động học GARCH thực tế hơn:

    • hồi quy về trung bình của độ biến động quanh độ lệch chuẩn mẫu
      sd(EURUSDret) # trả về 0.006194049
      
Các mô hình GARCH trong R

Cụm biến động và hồi quy về trung bình của biến động

Các mô hình GARCH trong R

Nhắm đích phương sai (variance targeting)

  • Về toán học, điều này nghĩa là phương sai vô điều kiện hàm ý bởi mô hình GARCH bằng phương sai mẫu $\hat \sigma^2$.
  • Cách làm? Đặt đối số variance.targeting = TRUE trong variance.model của ugarchspec():
garchspec <- ugarchspec(mean.model = list(armaOrder = c(0,0)),
                        variance.model = list(model = "sGARCH",
                        variance.targeting = TRUE),
                        distribution.model = "std")
garchfit <- ugarchfit(data = EURUSDret, spec = garchspec)
all.equal(uncvariance(garchfit), sd(EURUSDret) ^ 2, tol = 1e-4)
TRUE
Các mô hình GARCH trong R

Hãy áp đặt ràng buộc lên mô hình GARCH

Các mô hình GARCH trong R

Preparing Video For Download...