시작하기무료로 시작하기

CVaR와 손실 보장액 선택

이전 연습 문제에서 T 분포와 Gaussian KDE 분포가 위기 기간의 포트폴리오 손실을 꽤 잘 적합한다는 것을 확인했어요. 그렇다면 리스크 관리 관점에서는 둘 중 어느 것이 더 적합할까요? 한 가지 선택 기준은, 손실의 "최악 중의 최악" 상황을 대비할 수 있도록 손실 보장액(loss cover)을 가장 크게 제공하는 분포를 고르는 거예요.

tkde 분포가 제공되며, 2007-2008년 포트폴리오 losses에 맞춰져 있어요 (t의 추정된 모수는 p에 있어요). 각 분포에 대해 1일 99% CVaR 추정치를 계산한 뒤, 가장 큰 CVaR을 해당 기간에 보유해야 할 가장 ‘안전한’ 충당금으로 간주해요. 이는 99% VaR을 초과하는 기대 손실을 커버해요.

이 연습을 위해 kde 인스턴스에는 CVaR 계산에 필요한 기댓값을 구할 수 있도록 특별한 .expect() 메서드가 제공돼요.

이 연습은 강의의 일부입니다

Python을 활용한 정량적 리스크 관리

강의 보기

연습 안내

  • tkde 분포에서 생성한 난수 표본에 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)
코드 편집 및 실행