Biến động và giá trị cực đoan

Quản trị Rủi ro Định lượng với Python

Jamsheed Shorish

Computational Economist

Giả định của kiểm định Chow

  • Kiểm định Chow: xác định ý nghĩa thống kê của khả năng gãy cấu trúc
  • Yêu cầu: điểm gãy cấu trúc xác định trước
  • Yêu cầu: quan hệ tuyến tính (ví dụ mô hình nhân tố) $$ \log(\text{Population}_t) = \alpha + \beta * \text{Year}_t + u_t $$

Hình tăng dân số Trung Quốc với điểm gãy cấu trúc

Quản trị Rủi ro Định lượng với Python

Dấu hiệu gãy cấu trúc

  • Đồ thị xu hướng có thể không cho thấy điểm gãy
  • Cách khác: xét biến động thay vì xu hướng
    • Thay đổi cấu trúc thường đi kèm bất định cao hơn => biến động
    • Cho phép xem xét mô hình phong phú hơn (ví dụ mô hình biến động ngẫu nhiên)

Hình biến động theo tháng với điểm gãy khả dĩ

Quản trị Rủi ro Định lượng với Python

Biến động cửa sổ trượt

  • Cửa sổ trượt: tính biến động theo thời gian và phát hiện thay đổi
  • Nhớ lại: cửa sổ trượt 30 ngày

    • Tạo cửa sổ trượt bằng phương thức ".rolling()"
    • Tính biến động của cửa sổ trượt (bỏ các ngày thiếu)
    • Tính thống kê tóm tắt quan tâm, ví dụ .mean(), .min(), v.v.

     

rolling = portfolio_returns.rolling(30)

volatility = rolling.std().dropna()
vol_mean = volatility.resample("M").mean()
Quản trị Rủi ro Định lượng với Python

Biến động cửa sổ trượt

  • Trực quan hóa biến động kết quả (phương sai hoặc độ lệch chuẩn)
import matplotlib.pyplot as plt
vol_mean.plot(
  title="Monthly average volatility"
).set_ylabel("Standard deviation")
plt.show()

Hình biến động trung bình theo tháng

Quản trị Rủi ro Định lượng với Python

Biến động cửa sổ trượt

  • Trực quan hóa biến động kết quả (phương sai hoặc độ lệch chuẩn)
  • Thay đổi lớn về biến động => có thể có điểm gãy cấu trúc
  • Dùng điểm gợi ý trong mô hình tuyến tính của biến động
    • Biến thể của kiểm định Chow
  • Định hướng áp dụng như mô hình ARCH, biến động ngẫu nhiên
vol_mean.pct_change().plot(
  title="$\Delta$ average volatility"
).set_ylabel("% $\Delta$ stdev")
plt.show()

Hình phần trăm thay đổi biến động theo tháng

Quản trị Rủi ro Định lượng với Python

Giá trị cực đoan

  • VaR, CVaR: lỗ tối đa, tổn thất kỳ vọng tại một mức tin cậy
  • Trực quan hóa thay đổi lỗ tối đa bằng cách vẽ VaR?
    • Hữu ích với dữ liệu lớn
    • Dữ liệu nhỏ: không đủ thông tin
  • Thay thế: tìm các khoản lỗ vượt quá một ngưỡng
  • Ví dụ: $\text{VaR}_{95}$ là lỗ tối đa trong 95% thời gian
    • Vậy 5% thời gian, lỗ có thể vượt quá $\text{VaR}_{95}$
  • Backtesting: dùng dữ liệu quá khứ ex-post để kiểm tra ước lượng rủi ro
    • Dùng rộng rãi trong quản trị rủi ro doanh nghiệp
Quản trị Rủi ro Định lượng với Python

Backtesting

  • Giả sử $\text{VaR}_{95} = 0.03$
  • Các khoản lỗ vượt 3% là giá trị cực đoan
  • Backtesting: khoảng 5% (100% - 95%) lỗ quá khứ nên vượt 3%
    • Nhiều hơn 5%: phân phối có đuôi rộng ("béo") hơn
    • Ít hơn 5%: phân phối có đuôi hẹp hơn
  • CVaR cho backtesting: phản ánh đuôi tốt hơn VaR

Hình các khoản lỗ và ngưỡng VaR 95%

Quản trị Rủi ro Định lượng với Python

Ayo berlatih!

Quản trị Rủi ro Định lượng với Python

Preparing Video For Download...