시작하기무료로 시작하기

극단값과 백테스팅

극단값은 특정 임계값을 초과하는 관측치로, 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()
코드 편집 및 실행