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
Hướng dẫn bài tập
- Import phân phối
tcủa Student từscipy.stats. - Tính vector trung bình
muvà độ lệch chuẩnsigmatheo cửa sổ 30 ngày từlosses, và đưa vàorolling_parameters. - Tính một mảng Numpy các độ đo VaR 99%
VaR_99bằngt.ppf(), từ một danh sách các phân phối T sử dụng các phần tử củarolling_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()