Bắt đầu ngayBắt đầu miễn phí

Ước lượng tham số: Skewed Normal

Trong bài trước, bạn đã thấy rằng khớp phân phối Normal cho dữ liệu danh mục của ngân hàng đầu tư giai đoạn 2005 - 2010 cho kết quả không tốt theo kiểm định Anderson-Darling.

Bạn sẽ kiểm định dữ liệu bằng hàm skewtest() từ scipy.stats. Nếu kết quả kiểm định khác không một cách có ý nghĩa thống kê, thì dữ liệu ủng hộ một phân phối bị lệch (skewed).

Giờ bạn sẽ ước lượng tham số để tính VaR 95% cho phân phối thua lỗ được khớp bằng phân phối Skewed Normal skewnorm của scipy.stats. Đây là một phân phối tổng quát hơn Normal và cho phép thua lỗ có phân phối không đối xứng. Ta có thể kỳ vọng thua lỗ bị lệch trong giai đoạn khủng hoảng, khi khả năng thua lỗ của danh mục cao hơn khả năng lãi.

Dữ liệu losses của danh mục cho giai đoạn 2007 - 2009 đã được cung cấp.

Bài tập này là một phần của khóa học

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

Xem khóa học

Hướng dẫn bài tập

  • Import skewnormskewtest từ scipy.stats.
  • Kiểm định độ lệch (skewness) của losses trong danh mục bằng skewtest. Kiểm định cho thấy có skewness nếu kết quả khác không một cách có ý nghĩa thống kê.
  • Khớp dữ liệu losses với phân phối Skewed Normal bằng phương thức .fit().
  • Tạo và hiển thị ước lượng VaR 95% từ phân phối đã khớp.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Import the skew-normal distribution and skewness test from scipy.stats
from scipy.stats import skewnorm, skewtest

# Test the data for skewness
print("Skewtest result: ", ____(____))

# Fit the portfolio loss data to the skew-normal distribution
params = ____.____(losses)

# Compute the 95% VaR from the fitted distribution, using parameter estimates
VaR_95 = ____.____(0.95, *params)
print("VaR_95 from skew-normal: ", VaR_95)
Chỉnh sửa và Chạy Mã