Teoria wartości ekstremalnych

Ilościowe zarządzanie ryzykiem w Pythonie

Jamsheed Shorish

Computational Economist

Wartości ekstremalne

  • Straty portfela: wartości ekstremalne
  • obraz ekstremalnych zdarzeń przekraczających próg VaR
  • Wartości ekstremalne: z ogona rozkładu
    • Straty ogonowe: straty przekraczające pewną wartość
    • Modelowanie strat ogonowych => lepsza kontrola ryzyka
  • obraz ryzyka ogonowego i VaR
Ilościowe zarządzanie ryzykiem w Pythonie

Teoria wartości ekstremalnych

  • Teoria wartości ekstremalnych: rozkład statystyczny wartości ekstremalnych
  • Maksima blokowe

odcinek czasowy od 0 do T

Ilościowe zarządzanie ryzykiem w Pythonie

Teoria wartości ekstremalnych

  • Teoria wartości ekstremalnych: rozkład statystyczny wartości ekstremalnych
  • Maksima blokowe:
    • Podział okresu na podokresy

odcinek od 0 do T podzielony na podinterwały

Ilościowe zarządzanie ryzykiem w Pythonie

Teoria wartości ekstremalnych

  • Teoria wartości ekstremalnych: rozkład statystyczny wartości ekstremalnych
  • Maksima blokowe:
    • Podział okresu na podokresy
    • Utworzenie bloku z każdego podokresu

wykres odcinka czasowego z blokami

Ilościowe zarządzanie ryzykiem w Pythonie

Teoria wartości ekstremalnych

  • Teoria wartości ekstremalnych: rozkład statystyczny wartości ekstremalnych
  • Maksima blokowe:
    • Podział okresu na podokresy
    • Utworzenie bloków z każdego podokresu
    • Zbiór maksimów blokowych = zbiór danych
  • Wartości szczytowe ponad próg (POT):
    • Wyszukanie wszystkich strat powyżej danego poziomu
    • Zbiór takich strat = zbiór danych

odcinek z blokami i maksymalną stratą w każdym bloku

Ilościowe zarządzanie ryzykiem w Pythonie

Uogólniony rozkład wartości ekstremalnych

  • Przykład: Maksima blokowe dla lat 2007–2009

    • Ponowne próbkowanie strat z wybranym okresem (np. tygodniowym)
      maxima = losses.resample("W").max()
      
  • Uogólniony rozkład wartości ekstremalnych (GEV)

    • Rozkład maksimów danych
    • Przykład: estymacja parametryczna z użyciem scipy.stats.genextreme
      from scipy.stats import genextreme
      params = genextreme.fit(maxima)
      
Ilościowe zarządzanie ryzykiem w Pythonie

VaR i CVaR z rozkładu GEV

  • 99% VaR z rozkładu GEV
    • Użycie .ppf() do wyznaczenia 99% VaR
    • Wymaga params z dopasowanego rozkładu GEV
    • Wyznacza maksymalną stratę w ciągu tygodnia przy 99% ufności
  • 99% CVaR z rozkładu GEV
    • CVaR to warunkowa wartość oczekiwana straty przy VaR jako stracie minimalnej
    • Użycie metody .expect() do obliczenia wartości oczekiwanej
VaR_99 = genextreme.ppf(0.99, *params)
CVar_99 = ( 1 / (1 - 0.99) ) * genextreme.expect(lambda x: x, *params, lb = VaR_99)
Ilościowe zarządzanie ryzykiem w Pythonie

Pokrywanie strat

  • Zarządzanie ryzykiem: pokrywanie strat
    • Wymóg regulacyjny (banki, ubezpieczenia)
    • Rezerwy muszą pokrywać straty
      • W określonym przedziale czasu (np. tydzień)
      • Przy określonym poziomie ufności (np. 99%)
  • VaR z rozkładu GEV:
    • szacuje maksymalną stratę
      • w danym okresie
      • przy danym poziomie ufności
Ilościowe zarządzanie ryzykiem w Pythonie

Pokrywanie strat

  • Przykład: Początkowa wartość portfela = 1 000 000 USD
  • Tygodniowy wymóg rezerwy przy 99% ufności
    • $\text{VaR}_{99}$ z rozkładu GEV: maksymalna strata w ciągu tygodnia przy 99% ufności
  • Wymóg rezerwy: wartość portfela × $\text{VaR}_{99}$
    • Zakładając $\text{VaR}_{99}$ = 0,10, tj. maksymalna strata 10%
    • Wymóg rezerwy = 100 000 USD
  • Wartość portfela zmienia się => wymóg rezerwy zmienia się
  • Regulacje określają częstotliwość aktualizacji wymogu rezerwy
Ilościowe zarządzanie ryzykiem w Pythonie

Czas na ćwiczenia!

Ilościowe zarządzanie ryzykiem w Pythonie

Preparing Video For Download...