Wartości ekstremalne i backtesting
Wartości ekstremalne to takie, które przekraczają określony próg. Stosuje się je do oceny, czy miary ryzyka – takie jak VaR – prawidłowo odzwierciedlają ryzyko straty.
Zbadasz wartości ekstremalne, obliczając 95% VaR dla równoważonego portfela banków inwestycyjnych na podstawie danych z lat 2009–2010 (przypomnij sobie, że odpowiada to symulacji historycznej od 2010 roku wzwyż), a następnie wykonasz backtesting na danych z lat 2007–2008.
Straty portfela z lat 2009–2010 są dostępne w zmiennej estimate_data – na ich podstawie obliczysz szacunek 95% VaR. Następnie znajdziesz wartości ekstremalne przekraczające ten próg, korzystając ze strat portfela z lat 2007–2008 dostępnych w zmiennej backtest_data.
Porównaj częstość względną wartości ekstremalnych z szacunkiem 95% VaR, a na koniec zwizualizuj je na wykresie słupkowym (stem plot).
To ćwiczenie jest częścią kursu
Ilościowe zarządzanie ryzykiem w Pythonie
Instrukcje do ćwiczenia
- Oblicz 95% VaR na danych
estimate_data, używając funkcjinp.quantile(). - Znajdź
extreme_valueswbacktest_data, przyjmującVaR_95jako próg straty. - Porównaj częstość względną
extreme_valuesz szacunkiemVaR_95. Czy są takie same? - Wyświetl wykres stem dla
extreme_values, pokazując, jak duże odchylenia skupiały się podczas kryzysu.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()