CVaR와 손실 보장액 선택
이전 연습 문제에서 T 분포와 Gaussian KDE 분포가 위기 기간의 포트폴리오 손실을 꽤 잘 적합한다는 것을 확인했어요. 그렇다면 리스크 관리 관점에서는 둘 중 어느 것이 더 적합할까요? 한 가지 선택 기준은, 손실의 "최악 중의 최악" 상황을 대비할 수 있도록 손실 보장액(loss cover)을 가장 크게 제공하는 분포를 고르는 거예요.
t와 kde 분포가 제공되며, 2007-2008년 포트폴리오 losses에 맞춰져 있어요 (t의 추정된 모수는 p에 있어요). 각 분포에 대해 1일 99% CVaR 추정치를 계산한 뒤, 가장 큰 CVaR을 해당 기간에 보유해야 할 가장 ‘안전한’ 충당금으로 간주해요. 이는 99% VaR을 초과하는 기대 손실을 커버해요.
이 연습을 위해 kde 인스턴스에는 CVaR 계산에 필요한 기댓값을 구할 수 있도록 특별한 .expect() 메서드가 제공돼요.
이 연습은 강의의 일부입니다
Python을 활용한 정량적 리스크 관리
연습 안내
t와kde분포에서 생성한 난수 표본에np.quantile()을 적용해 99% VaR을 구하세요.- 각 분포의
.expect()메서드를 사용해 CVaR 추정을 위한 적분 값을 계산하세요. - 두 분포의 99% CVaR 추정치를 계산해 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Find the VaR as a quantile of random samples from the distributions
VaR_99_T = np.quantile(t.rvs(size=1000, *p), ____)
VaR_99_KDE = np.quantile(kde.resample(size=1000), ____)
# Find the expected tail losses, with lower bounds given by the VaR measures
integral_T = t.____(lambda x: x, args = (p[0],), loc = p[1], scale = p[2], lb = ____)
integral_KDE = kde.____(lambda x: x, lb = ____)
# Create the 99% CVaR estimates
CVaR_99_T = (1 / (1 - ____)) * integral_T
CVaR_99_KDE = (1 / (1 - ____)) * integral_KDE
# Display the results
print("99% CVaR for T: ", CVaR_99_T, "; 99% CVaR for KDE: ", CVaR_99_KDE)