Risk maruziyeti ve kayıp

Python ile Nicel Risk Yönetimi

Jamsheed Shorish

Computational Economist

Bir tatil benzetmesi

  • Tatil için otel rezervasyonları

  • Ön ödemeli, konaklama öncesi

    • Düşük oda ücreti
    • İadesiz: iptal ücreti = oda ücretinin %100’ü
  • Varışta ödeme

    • Yüksek oda ücreti
    • Kısmi iade: oda ücretinin %20’si iptal ücreti

Karayipler kıyısında tekne görseli

Python ile Nicel Risk Yönetimi

Seçenekler arasında karar verme

  • Kararınızı ne belirler?
    1. Olumsuz şok olasılığı: hastalık, seyahat aksaklığı, hava
      • Kayıp olasılığı
    2. Şokla gelen kayıp: tutar veya koşullu tutar
      • ör. VaR, CVaR
    3. Şoktan kaçınma isteği: kişisel tercih
      • Risk toleransı

Ağızlarında termometre olan yatakta hasta üç çocuğun karikatürü

 

Risk ölçeği ve para görseli (risk yönetimi)

Python ile Nicel Risk Yönetimi

Risk maruziyeti ve VaR

  • Risk maruziyeti: kayıp olasılığı x kayıp ölçütü
    • Kayıp ölçütü: ör. VaR
  • Tatil iptal olasılığı %10: P(Hastalık) = 0,10
  • İadesiz:
    • Toplam iadesiz otel maliyeti: €500
    • %90 güven düzeyinde VaR: €500
  • Kısmen iade:
    • İadeli otel maliyeti: €550
    • %90 güven düzeyinde VaR: %20 iptal ücreti x €550 = €110
Python ile Nicel Risk Yönetimi

Risk maruziyeti hesaplama

  • İadesiz maruziyet ("$\text{nr}$"):
    • P(hastalık) x $\text{VaR}_{0.90}^{\text{nr}}$ = 0,10 x €500 = €50.
  • Kısmi iade maruziyeti ("$\text{pr}$"):
    • P(hastalık) x $\text{VaR}_{0.90}^{\text{pr}}$ = 0,10 x €110 = €11.
  • Risk maruziyeti farkı: €50 - €11 = €39.
  • Teklifler arası toplam fiyat farkı: €550 - €500 = €50.
  • Risk toleransı: €50 fazla ödemek, €39 ek maruziyetten kaçınmaya değer mi?
Python ile Nicel Risk Yönetimi

Risk toleransı ve risk iştahı

  • Risk nötr: yalnızca beklenen değer önemlidir
    • €39 < €50 $\Rightarrow$ iade yok seçeneği tercih edilir
  • Riskten kaçınan: belirsizliğin kendisi maliyetlidir
    • €39 < €50 $\Rightarrow$ kısmi iade seçeneği tercih edilir
  • Kurumsal risk yönetimi: tercihler risk iştahı olarak
  • Bireysel yatırımcılar: tercihler risk toleransı olarak
Python ile Nicel Risk Yönetimi

Kayıp dağılımı - ayrık

  • Risk maruziyeti, kayıp dağılımına (kayıp olasılığı) bağlıdır
  • Tatil örneği: rastgele risk faktöründen 2 sonuç

Tatil örneğindeki ikili kayıpların çubuk grafiği

Python ile Nicel Risk Yönetimi

Kayıp dağılımı - sürekli

  • Risk maruziyeti, kayıp dağılımına (kayıp olasılığı) bağlıdır
  • Tatil örneği: rastgele risk faktöründen 2 sonuç
  • Daha genel olarak: sürekli kayıp dağılımı
    • Normal dağılım: büyük örnekler için uygundur

Sürekli normal dağılım görseli

Python ile Nicel Risk Yönetimi

Kayıp dağılımı - sürekli

  • Risk maruziyeti, kayıp dağılımına (kayıp olasılığı) bağlıdır
  • Tatil örneği: rastgele risk faktöründen 2 sonuç
  • Daha genel olarak: sürekli kayıp dağılımı
    • Normal dağılım: büyük örnekler için uygun
    • Student’ın t-dağılımı: küçük örnekler için uygun

Sürekli kayıp T dağılımı görseli

Python ile Nicel Risk Yönetimi

Özet: Student’ın t-dağılımı

  • T dağılımı olarak da anılır
  • Küçük örneklerde Normal’e göre daha “kalın” kuyruklar
    • Portföy getiri/kayıplarına benzer
  • Örneklem büyüdükçe T, Normal’e yakınsar

Sürekli kayıp dağılımı görseli

Python ile Nicel Risk Yönetimi

Python’da T dağılımı

  • Örnek: T dağılımından %95 VaR hesaplama
    • scipy.stats içinden t dağılımını içe aktarın
    • portfolio_loss verisini t.fit() ile uydurun

 

from scipy.stats import t

params = t.fit(portfolio_losses)

Sürekli kayıp dağılımı görseli

Python ile Nicel Risk Yönetimi

Python’da T dağılımı

  • Örnek: T dağılımından %95 VaR hesaplama
    • scipy.stats içinden t dağılımını içe aktarın
    • portfolio_loss verisini t.fit() ile uydurun
    • VaR için yüzde noktası fonksiyonunu .ppf() ile hesaplayın
from scipy.stats import t

params = t.fit(portfolio_losses)
VaR_95 = t.ppf(0.95, *params)

VaR’lı sürekli T dağılımı görseli

Python ile Nicel Risk Yönetimi

Serbestlik derecesi

  • Serbestlik derecesi (df): bağımsız gözlem sayısı
  • Küçük df: “kalın kuyruklu” T dağılımı
  • Büyük df: Normal dağılım
x = np.linspace(-3, 3, 100)

plt.plot(x, t.pdf(x, df = 2))
plt.plot(x, t.pdf(x, df = 5))
plt.plot(x, t.pdf(x, df = 30))

30 serbestlik derecesi için T dağılımı görseli

Python ile Nicel Risk Yönetimi

Hadi pratik yapalım!

Python ile Nicel Risk Yönetimi

Preparing Video For Download...