Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Wyznacz maksima cen aktywów GE dla bloków jednotygodniowych.
  • Dopasuj rozkład GEV genextreme do danych weekly_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)
Edytuj i uruchom kod