Çekirdek yoğunluk kestirimi

Python ile Nicel Risk Yönetimi

Jamsheed Shorish

Computational Economist

Histograma yeniden bakış

  • Risk faktörü dağılımları
    • Varsayılır (ör. Normal, T vb.)
    • Uydurulur (parametrik tahmin, Monte Carlo benzetimi)
    • Yok sayılır (tarihsel benzetim)
  • Gerçek veri: histogram
  • Histogramı olasılık dağılımıyla nasıl temsil ederiz?
    • Veriyi filtreleme ile düzleştir
    • Parametrik olmayan tahmin

kayıp histogramı

Python ile Nicel Risk Yönetimi

Veri düzleştirme

  • Filtre: histogramdaki 'tümsekleri' yumuşatır

histogram eksenleri

Python ile Nicel Risk Yönetimi

Veri düzleştirme

  • Filtre: histogramdaki 'tümsekleri' yumuşatır
  • Gözlemler zamanla birikir

gözlemlerin birikmesini gösteren görsel

Python ile Nicel Risk Yönetimi

Veri düzleştirme

  • Filtre: histogramdaki 'tümsekleri' yumuşatır
  • Gözlemler zamanla birikir

gözlemlerin birikmesini gösteren görsel

Python ile Nicel Risk Yönetimi

Veri düzleştirme

  • Filtre: histogramdaki 'tümsekleri' yumuşatır
  • Gözlemler zamanla birikir

gözlemlerin birikmesini gösteren görsel

Python ile Nicel Risk Yönetimi

Veri düzleştirme

  • Filtre: histogramdaki 'tümsekleri' yumuşatır
  • Gözlemler zamanla birikir
  • Belirli bir portföy kaybını seçin

kayıplar ve okla seçilmiş belirli bir kayıp

Python ile Nicel Risk Yönetimi

Veri düzleştirme

  • Filtre: histogramdaki 'tümsekleri' yumuşatır
  • Gözlemler zamanla birikir
  • Belirli bir portföy kaybını seçin
    • Yakın kayıpları inceleyin

gözlemlerin üzerine bindirilmiş çekirdek penceresi

Python ile Nicel Risk Yönetimi

Veri düzleştirme

  • Filtre: histogramdaki 'tümsekleri' yumuşatır
  • Gözlemler zamanla birikir
  • Belirli bir portföy kaybını seçin
    • Yakın kayıpları inceleyin
    • Kayıpların "ağırlıklı ortalamasını" alın
  • Çekirdek: filtre seçimi; "pencereyi" belirler

çekirdekten ağırlıklı ortalamanın görselleştirilmesi

Python ile Nicel Risk Yönetimi

Veri düzleştirme

  • Filtre: histogramdaki 'tümsekleri' yumuşatır
  • Gözlemler zamanla birikir
  • Belirli bir portföy kaybını seçin
    • Yakın kayıpları inceleyin
    • Kayıpların "ağırlıklı ortalamasını" alın
  • Çekirdek: filtre seçimi; "pencereyi" belirler
    • Pencereyi başka bir kayba taşıyın

ikinci çekirdek konumunun görseli

Python ile Nicel Risk Yönetimi

Veri düzleştirme

  • Filtre: histogramdaki 'tümsekleri' yumuşatır
  • Gözlemler zamanla birikir
  • Belirli bir portföy kaybını seçin
    • Yakın kayıpları inceleyin
    • Kayıpların "ağırlıklı ortalamasını" alın
  • Çekirdek: filtre seçimi; "pencereyi" belirler
    • Pencereyi başka bir kayba taşıyın
  • Çekirdek yoğunluk kestirimi: olasılık yoğunluğu

çekirdek yoğunluk kestirimi görseli

Python ile Nicel Risk Yönetimi

Gauss çekirdeği

  • Sürekli çekirdek
  • Tüm gözlemleri merkeze uzaklığa göre ağırlıklandırır
  • Genel olarak: birçok farklı çekirdek vardır
    • Zaman serilerinde kullanılır
    • Sinyal işlemde kullanılır

Gauss çekirdeği görseli

Python ile Nicel Risk Yönetimi

Python'da KDE

from scipy.stats import gaussian_kde

kde = guassian_kde(losses)
loss_range = np.linspace(np.min(losses), np.max(losses), 1000)
plt.plot(loss_range, kde.pdf(loss_range))
  • Görselleştirme: KDE uyumundan olasılık yoğunluk fonksiyonu

gauss KDE kestirimi grafiği

Python ile Nicel Risk Yönetimi

KDE ile VaR bulma

  • VaR: gaussian_kde .resample() yöntemini kullanın
  • Ortaya çıkan örneğin çeyreğini bulun
  • CVaR: beklenen değer daha önceki gibi, ancak
    • gaussian_kde .expect() yöntemi yok => integrali elle hesaplayın
    • alıştırma için özel .expect() yöntemi yazıldı
sample = kde.resample(size = 1000)

VaR_99 = np.quantile(sample, 0.99)
print("VaR_99 from KDE: ", VaR_99)
VaR_99 from KDE: 0.08796423698448601
Python ile Nicel Risk Yönetimi

Hadi pratik yapalım!

Python ile Nicel Risk Yönetimi

Preparing Video For Download...