Szacowanie ryzyka metodą GEV
Załóżmy, że 1 stycznia 2010 roku posiadasz akcje GE o wartości 1 000 000 €. Chcesz zabezpieczyć się przed oczekiwanymi maksymalnymi stratami, które mogą wystąpić w ciągu następnego tygodnia – na podstawie danych z poprzednich dwóch lat, 2008–2009. Przyjmujesz, że tygodniowe maksymalne straty dla GE mają rozkład Uogólnionych Wartości Ekstremalnych (GEV).
Aby modelować oczekiwane straty, wyznaczysz CVaR na poziomie ufności 99% dla rozkładu GEV i użyjesz go do obliczenia kwoty rezerwy potrzebnej do pokrycia oczekiwanej maksymalnej tygodniowej straty w styczniu 2010 roku.
W środowisku pracy dostępna jest dystrybucja genextreme z biblioteki scipy.stats oraz dane losses dla spółki GE z okresu 2008–2009.
To ćwiczenie jest częścią kursu
Ilościowe zarządzanie ryzykiem w Pythonie
Instrukcje do ćwiczenia
- Wyznacz maksima cen aktywów GE dla bloków jednotygodniowych.
- Dopasuj rozkład GEV
genextremedo danychweekly_maxima. - Oblicz 99% VaR i użyj go do wyznaczenia szacunkowego 99% CVaR.
- Oblicz kwotę rezerwy potrzebną do pokrycia oczekiwanej maksymalnej tygodniowej straty.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Compute the weekly block maxima for GE's stock
weekly_maxima = losses.____("W").____()
# Fit the GEV distribution to the maxima
p = genextreme.____(____)
# Compute the 99% VaR (needed for the CVaR computation)
VaR_99 = genextreme.____(____, *p)
# Compute the 99% CVaR estimate
CVaR_99 = (1 / (1 - 0.99)) * genextreme.____(lambda x: x,
args=(p[0],), loc = p[1], scale = p[2], lb = ____)
# Display the covering loss amount
print("Reserve amount: ", 1000000 * CVaR_99)