Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Oblicz 95% VaR na danych estimate_data, używając funkcji np.quantile().
  • Znajdź extreme_values w backtest_data, przyjmując VaR_95 jako próg straty.
  • Porównaj częstość względną extreme_values z szacunkiem VaR_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()
Edytuj i uruchom kod