극단값과 백테스팅
극단값은 특정 임계값을 초과하는 관측치로, VaR 같은 위험 측정치가 손실 위험을 제대로 반영하는지 판단할 때 사용돼요.
이번에는 2009-2010년 같은 비중 투자은행 포트폴리오의 95% VaR을 계산해 극단값을 살펴보고(2010년 이후 구간의 역사적 시뮬레이션과 동일하다는 점을 기억하세요), 그다음 2007-2008년 데이터를 이용해 백테스팅을 수행해요.
2009-2010년 포트폴리오 손실은 estimate_data에 제공되며, 여기서 95% VaR 추정치를 계산할 거예요. 그런 다음 제공된 backtest_data에 있는 2007-2008년 포트폴리오 손실 중 VaR 추정치를 초과하는 극단값을 찾으세요.
극단값의 상대도수를 95% VaR과 비교하고, 마지막으로 스템 플롯으로 극단값을 시각화해 위기 기간에 큰 편차가 어떻게 군집했는지 살펴보세요.
이 연습은 강의의 일부입니다
Python을 활용한 정량적 리스크 관리
연습 안내
np.quantile()을 사용해estimate_data에서 95% VaR을 계산하세요.- 손실 임계값으로
VaR_95를 사용해backtest_data에서extreme_values를 찾으세요. extreme_values의 상대도수를VaR_95추정치와 비교하세요. 일치하나요?extreme_values의 스템 플롯을 표시해, 위기 기간에 큰 편차가 어떻게 군집했는지 보여 주세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Compute the 95% VaR on 2009-2010 losses
VaR_95 = ____.____(estimate_data, 0.95)
# Find backtest_data exceeding the 95% VaR
extreme_values = backtest_data[____ > VaR_95]
# Compare the fraction of extreme values for 2007-2008 to the Var_95 estimate
print("VaR_95: ", VaR_95, "; Backtest: ", len(____) / len(backtest_data) )
# Plot the extreme values and look for clustering
plt.stem(extreme_values.index, ____)
plt.ylabel("Extreme values > VaR_95"); plt.xlabel("Date")
plt.show()