Estimasi kerapatan kernel

Manajemen Risiko Kuantitatif dengan Python

Jamsheed Shorish

Computational Economist

Meninjau ulang histogram

  • Distribusi faktor risiko
    • Diasumsikan (mis. Normal, T, dll.)
    • Diestimasi (parametrik, simulasi Monte Carlo)
    • Diabaikan (simulasi historis)
  • Data aktual: histogram
  • Bagaimana merepresentasikan histogram sebagai distribusi probabilitas?
    • Haluskan data dengan penyaringan
    • Estimasi nonparametrik

histogram kerugian

Manajemen Risiko Kuantitatif dengan Python

Penghalusan data

  • Filter: menghaluskan ‘tonjolan’ histogram

sumbu histogram

Manajemen Risiko Kuantitatif dengan Python

Penghalusan data

  • Filter: menghaluskan ‘tonjolan’ histogram
  • Observasi terakumulasi seiring waktu

gambar observasi yang terakumulasi

Manajemen Risiko Kuantitatif dengan Python

Penghalusan data

  • Filter: menghaluskan ‘tonjolan’ histogram
  • Observasi terakumulasi seiring waktu

gambar observasi yang terakumulasi

Manajemen Risiko Kuantitatif dengan Python

Penghalusan data

  • Filter: menghaluskan ‘tonjolan’ histogram
  • Observasi terakumulasi seiring waktu

gambar observasi yang terakumulasi

Manajemen Risiko Kuantitatif dengan Python

Penghalusan data

  • Filter: menghaluskan ‘tonjolan’ histogram
  • Observasi terakumulasi seiring waktu
  • Pilih kerugian portofolio tertentu

kerugian dan satu kerugian dipilih dengan panah

Manajemen Risiko Kuantitatif dengan Python

Penghalusan data

  • Filter: menghaluskan ‘tonjolan’ histogram
  • Observasi terakumulasi seiring waktu
  • Pilih kerugian portofolio tertentu
    • Teliti kerugian di sekitarnya

jendela kernel di atas observasi

Manajemen Risiko Kuantitatif dengan Python

Penghalusan data

  • Filter: menghaluskan ‘tonjolan’ histogram
  • Observasi terakumulasi seiring waktu
  • Pilih kerugian portofolio tertentu
    • Teliti kerugian di sekitarnya
    • Bentuk "rata-rata berbobot" kerugian
  • Kernel: pilihan filter; menentukan "jendela"

rata-rata berbobot dari kernel ditampilkan pada gambar

Manajemen Risiko Kuantitatif dengan Python

Penghalusan data

  • Filter: menghaluskan ‘tonjolan’ histogram
  • Observasi terakumulasi seiring waktu
  • Pilih kerugian portofolio tertentu
    • Teliti kerugian di sekitarnya
    • Bentuk "rata-rata berbobot" kerugian
  • Kernel: pilihan filter; menentukan "jendela"
    • Geser jendela ke kerugian lain

gambar lokasi kernel kedua

Manajemen Risiko Kuantitatif dengan Python

Penghalusan data

  • Filter: menghaluskan ‘tonjolan’ histogram
  • Observasi terakumulasi seiring waktu
  • Pilih kerugian portofolio tertentu
    • Teliti kerugian di sekitarnya
    • Bentuk "rata-rata berbobot" kerugian
  • Kernel: pilihan filter; menentukan "jendela"
    • Geser jendela ke kerugian lain
  • Estimasi kerapatan kernel: kerapatan probabilitas

gambar estimasi kerapatan kernel

Manajemen Risiko Kuantitatif dengan Python

Kernel Gaussian

  • Kernel kontinu
  • Membobot semua observasi menurut jarak dari pusat
  • Umumnya: banyak jenis kernel tersedia
    • Dipakai dalam analisis deret waktu
    • Dipakai dalam pemrosesan sinyal

gambar kernel Gaussian

Manajemen Risiko Kuantitatif dengan Python

KDE di Python

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))
  • Visualisasi: fungsi kerapatan probabilitas dari KDE

plot estimasi kde gaussian

Manajemen Risiko Kuantitatif dengan Python

Mencari VaR dengan KDE

  • VaR: gunakan metode gaussian_kde .resample()
  • Cari kuantil dari sampel hasilnya
  • CVaR: nilai harapan seperti sebelumnya, tetapi
    • gaussian_kde tidak punya .expect() => hitung integral manual
    • metode .expect() khusus disediakan untuk latihan
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
Manajemen Risiko Kuantitatif dengan Python

Ayo berlatih!

Manajemen Risiko Kuantitatif dengan Python

Preparing Video For Download...