Extrem värde-teori

Kvantitativ riskhantering i Python

Jamsheed Shorish

Computational Economist

Extremvärden

  • Portföljförluster: extremvärden
  • bild av extrema händelser som överskrider VaR-tröskeln
  • Extremvärden: från fördelningens svans
    • Svansförluster: förluster som överstiger ett visst värde
    • Modellera svansförluster => bättre riskhantering
  • bild av svansrisk och VaR
Kvantitativ riskhantering i Python

Extrem värde-teori

  • Extrem värde-teori: statistisk fördelning av extremvärden
  • Blockmaxima

linjärt intervall från 0 till T

Kvantitativ riskhantering i Python

Extrem värde-teori

  • Extrem värde-teori: statistisk fördelning av extremvärden
  • Blockmaxima:
    • Dela in perioden i delperioder

linje från 0 till T uppdelad i delintervall

Kvantitativ riskhantering i Python

Extrem värde-teori

  • Extrem värde-teori: statistisk fördelning av extremvärden
  • Blockmaxima:
    • Dela in perioden i delperioder
    • Bilda ett block från varje delperiod

linjärt intervall som visar block

Kvantitativ riskhantering i Python

Extrem värde-teori

  • Extrem värde-teori: statistisk fördelning av extremvärden
  • Blockmaxima:
    • Dela in perioden i delperioder
    • Bilda block från varje delperiod
    • Mängden blockmaxima = datamängd
  • Peak over threshold (POT):
    • Hitta alla förluster över en given nivå
    • Mängden sådana förluster = datamängd

intervall med block och maximal förlust per block

Kvantitativ riskhantering i Python

Generalized Extreme Value Distribution

  • Exempel: Blockmaxima för 2007–2009

    • Sampla om förluster med önskad period (t.ex. veckovis)
      maxima = losses.resample("W").max()
      
  • Generalized Extreme Value Distribution (GEV)

    • Fördelning av maxima i data
    • Exempel: parametrisk skattning med scipy.stats.genextreme
      from scipy.stats import genextreme
      params = genextreme.fit(maxima)
      
Kvantitativ riskhantering i Python

VaR och CVaR från GEV-fördelningen

  • 99% VaR från GEV-fördelningen
    • Använd .ppf() (percentpunktsfunktionen) för att beräkna 99% VaR
    • Kräver params från den anpassade GEV-fördelningen
    • Beräknar maximal förlust under en vecka vid 99% konfidens
  • 99% CVaR från GEV-fördelningen
    • CVaR är det betingade förväntade värdet av förlust givet VaR som minimiförlust
    • Använd metoden .expect() för att beräkna det förväntade värdet
VaR_99 = genextreme.ppf(0.99, *params)
CVar_99 = ( 1 / (1 - 0.99) ) * genextreme.expect(lambda x: x, *params, lb = VaR_99)
Kvantitativ riskhantering i Python

Täcka förluster

  • Riskhantering: täcka förluster
    • Regulatoriskt krav (banker, försäkringsbolag)
    • Reserver måste finnas för att täcka förluster
      • Under en angiven period (t.ex. en vecka)
      • Vid en angiven konfidensnivå (t.ex. 99%)
  • VaR från GEV-fördelningen:
    • skattar maximal förlust
      • för en given period
      • vid en given konfidensnivå
Kvantitativ riskhantering i Python

Täcka förluster

  • Exempel: Initialt portföljvärde = 1 000 000 $
  • Reservkrav för en vecka vid 99% konfidens
    • $\text{VaR}_{99}$ från GEV-fördelningen: maximal förlust under en vecka vid 99% konfidens
  • Reservkrav: Portföljvärde × $\text{VaR}_{99}$
    • Antag $\text{VaR}_{99}$ = 0,10, dvs. 10% maximal förlust
    • Reservkrav = 100 000 $
  • Portföljvärdet förändras => reservkravet förändras
  • Reglering bestämmer hur ofta reservkravet uppdateras
Kvantitativ riskhantering i Python

Nu kör vi en övning!

Kvantitativ riskhantering i Python

Preparing Video For Download...