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

VaR và mức phơi nhiễm rủi ro

Trước đó bạn đã tính VaR và CVaR khi thua lỗ tuân theo phân phối Chuẩn. Ở đây bạn sẽ tìm VaR với một phân phối thua lỗ phổ biến khác, phân phối Student's t (hay T) trong scipy.stats.

Bạn sẽ tính một mảng các độ đo VaR 99% từ phân phối T (với 30 - 1 = 29 bậc tự do), sử dụng cửa sổ lăn 30 ngày từ losses của danh mục ngân hàng đầu tư.

Đầu tiên, bạn sẽ tìm trung bình và độ lệch chuẩn của mỗi cửa sổ, tạo danh sách rolling_parameters. Bạn sẽ dùng các tham số này để tính mảng độ đo VaR 99%.

Sau đó bạn sẽ dùng mảng này để vẽ mức phơi nhiễm rủi ro cho một danh mục ban đầu trị giá $100,000. Nhớ rằng mức phơi nhiễm rủi ro bằng xác suất thua lỗ (ở đây là 1%) nhân với mức thua lỗ (chính là thua lỗ theo VaR 99%).

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 phân phối t của Student từ scipy.stats.
  • Tính vector trung bình mu và độ lệch chuẩn sigma theo cửa sổ 30 ngày từ losses, và đưa vào rolling_parameters.
  • Tính một mảng Numpy các độ đo VaR 99% VaR_99 bằng t.ppf(), từ một danh sách các phân phối T sử dụng các phần tử của rolling_parameters.
  • Tính và trực quan hóa mức phơi nhiễm rủi ro gắn với mảng VaR_99.

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 Student's t-distribution
from scipy.____ import t

# Create rolling window parameter list
mu = losses.rolling(30).____
sigma = losses.rolling(30).____
rolling_parameters = [(29, mu[i], s) for i,s in enumerate(sigma)]

# Compute the 99% VaR array using the rolling window parameters
VaR_99 = np.array( [ t.ppf(____, *params) 
                    for params in ____ ] )

# Plot the minimum risk exposure over the 2005-2010 time period
plt.plot(losses.index, 0.01 * ____ * 100000)
plt.show()
Chỉnh sửa và Chạy Mã