Manajemen risiko dengan VaR & CVaR

Manajemen Risiko Kuantitatif dengan Python

Jamsheed Shorish

Computational Economist

Manajemen risiko via modern portfolio theory

  • Portofolio Efisien
    • Bobot portofolio memaksimalkan return untuk tingkat risiko tertentu
  • Efficient Frontier: himpunan titik (risiko, return) dari berbagai portofolio efisien
    • Tiap titik = optimisasi bobot portofolio
  • Pembuatan portofolio/frontier efisien: Modern Portfolio Theory

Plot dari efficient frontier

Manajemen Risiko Kuantitatif dengan Python

Menggabungkan Value at Risk ke MPT

  • Modern Portfolio Theory (MPT): optimisasi "mean-variance"
    • Return ekspektasian tertinggi
    • Tingkat risiko (volatilitas) ditetapkan
    • Fungsi objektif: return ekspektasian
  • VaR/CVaR: mengukur risiko pada distribusi kerugian
  • Adaptasi MPT untuk mengoptimalkan atas distribusi kerugian vs. return ekspektasian
Manajemen Risiko Kuantitatif dengan Python

Objektif baru: minimalkan CVaR

  • Ubah objektif optimisasi portofolio
    • Objektif mean-variance: memaksimalkan return ekspektasian
    • Objektif CVaR: meminimalkan kerugian kondisional ekspektasian pada level kepercayaan tertentu
  • Contoh: Distribusi kerugian
    • VaR: kerugian maksimum dengan kepercayaan 95%
    • Optimisasi: bobot portofolio yang meminimalkan CVaR
    • CVaR: kerugian ekspektasian jika setidaknya terjadi kerugian VaR (5% terburuk)
  • Cari kerugian ekspektasian terendah pada 100% - 95% = 5% skenario terburuk
Manajemen Risiko Kuantitatif dengan Python

Masalah manajemen risiko

  • Pilih bobot portofolio optimal $w^\star$ sebagai solusi untuk

cvar_minimization

  • Ingat: $f(x)$ = fungsi kepadatan probabilitas dari kerugian portofolio

  • PyPortfolioOpt: pilih minimisasi CVaR sebagai objektif baru

Manajemen Risiko Kuantitatif dengan Python

Minimisasi CVaR dengan PyPortfolioOpt

  • Buat objek EfficientCVaR dengan return aset returns
  • Hitung bobot portofolio optimal dengan metode .min_cvar()

 

ec = pypfopt.efficient_frontier.EfficientCVaR(None, returns)

optimal_weights = ec.min_cvar()
Manajemen Risiko Kuantitatif dengan Python

Manajemen risiko mean-variance vs. CVaR

  • Portofolio volatilitas minimum mean-variance, aset bank investasi 2005–2010
ef = EfficientFrontier(None, e_cov)

min_vol_weights = ef.min_volatility()
print(min_vol_weights)
{'Citibank': 0.0,
 'Morgan Stanley': 5.0784330940519306e-18,
 'Goldman Sachs': 0.6280157234640608,
 'J.P. Morgan': 0.3719842765359393}
Manajemen Risiko Kuantitatif dengan Python

Manajemen risiko mean-variance vs. CVaR

  • Portofolio yang meminimalkan CVaR, aset bank investasi 2005–2010
ec = pypfopt.efficient_frontier.EfficientCVaR(None, returns)
min_cvar_weights = ec.min_cvar()

print(min_cvar_weights)

 

{'Citibank': 0.0,
 'Morgan Stanley': 0.0,
 'Goldman Sachs': 0.669324359403484,
 'J.P. Morgan': 0.3306756405965026}
Manajemen Risiko Kuantitatif dengan Python

Ayo berlatih!

Manajemen Risiko Kuantitatif dengan Python

Preparing Video For Download...