Aşırı değer kuramı

Python ile Nicel Risk Yönetimi

Jamsheed Shorish

Computational Economist

Aşırı değerler

  • Portföy kayıpları: aşırı değerler
  • VaR eşiğini aşan aşırı olayların görseli
  • Aşırı değerler: dağılımın kuyruğundan
    • Kuyruk kayıpları: belli bir değeri aşan kayıplar
    • Kuyruk kayıplarını modelleyin => daha iyi risk yönetimi
  • kuyruk riski ve VaR görseli
Python ile Nicel Risk Yönetimi

Aşırı değer kuramı

  • Aşırı değer kuramı: aşırı değerlerin istatistiksel dağılımı
  • Blok maksimumları

0'dan T'ye zaman aralığı çizgisi

Python ile Nicel Risk Yönetimi

Aşırı değer kuramı

  • Aşırı değer kuramı: aşırı değerlerin istatistiksel dağılımı
  • Blok maksimumları:
    • Dönemi alt dönemlere ayırın

0'dan T'ye alt aralıklara bölünmüş çizgi

Python ile Nicel Risk Yönetimi

Aşırı değer kuramı

  • Aşırı değer kuramı: aşırı değerlerin istatistiksel dağılımı
  • Blok maksimumları:
    • Dönemi alt dönemlere ayırın
    • Her alt dönemden bir blok oluşturun

blokları gösteren çizgi aralığı

Python ile Nicel Risk Yönetimi

Aşırı değer kuramı

  • Aşırı değer kuramı: aşırı değerlerin istatistiksel dağılımı
  • Blok maksimumları:
    • Dönemi alt dönemlere ayırın
    • Her alt dönemden bloklar oluşturun
    • Blok maksimumları kümesi = veri kümesi
  • Eşik üzeri tepe (POT):
    • Verilen seviyeyi aşan tüm kayıpları bulun
    • Bu kayıpların kümesi = veri kümesi

bloklar ve blok başına en yüksek kaybı gösteren aralık

Python ile Nicel Risk Yönetimi

Genelleştirilmiş Aşırı Değer Dağılımı

  • Örnek: 2007 - 2009 için blok maksimumları

    • Kayıpları istenen dönemle yeniden örnekleyin (örn. haftalık)
      maxima = losses.resample("W").max()
      
  • Genelleştirilmiş Aşırı Değer Dağılımı (GEV)

    • Verinin maksimumlarının dağılımı
    • Örnek: scipy.stats.genextreme ile parametrik tahmin
      from scipy.stats import genextreme
      params = genextreme.fit(maxima)
      
Python ile Nicel Risk Yönetimi

GEV’den VaR ve CVaR

  • GEV dağılımından %99 VaR
    • %99 VaR için yüzde noktası fonksiyonu .ppf() kullanın
    • Uyumlu GEV dağılımından params gerekir
    • %99 güvenle bir haftadaki en büyük kaybı bulur
  • GEV dağılımından %99 CVaR
    • CVaR, VaR asgari kayıp iken koşullu beklenen kayıptır
    • Beklenen değeri bulmak için .expect() kullanın
VaR_99 = genextreme.ppf(0.99, *params)
CVar_99 = ( 1 / (1 - 0.99) ) * genextreme.expect(lambda x: x, *params, lb = VaR_99)
Python ile Nicel Risk Yönetimi

Kayıpları karşılama

  • Risk yönetimi: kayıpları karşılama
    • Düzenleyici gereklilik (bankalar, sigorta)
    • Kayıpları karşılamak için karşılıklar hazır olmalıdır
      • Belirli bir dönem için (örn. bir hafta)
      • Belirli bir güven düzeyinde (örn. %99)
  • GEV dağılımından VaR:
    • en büyük kaybı tahmin eder
      • verilen dönem için
      • verilen güven düzeyinde
Python ile Nicel Risk Yönetimi

Kayıpları karşılama

  • Örnek: Başlangıç portföy değeri = $1.000.000
  • Bir haftalık karşılık gereği %99 güvenle
    • GEV dağılımından $\text{VaR}_{99}$: %99 güvenle bir haftadaki en büyük kayıp
  • Karşılık gereği: Portföy değeri x $\text{VaR}_{99}$
    • Örn. $\text{VaR}_{99}$ = 0,10, yani azami kayıp %10
    • Gerekli karşılık = $100.000
  • Portföy değeri değişir => karşılık gereği değişir
  • Düzenleme, güncelleme sıklığını belirler
Python ile Nicel Risk Yönetimi

Hadi pratik yapalım!

Python ile Nicel Risk Yönetimi

Preparing Video For Download...