Selamat datang!

Manajemen Risiko Kuantitatif dengan Python

Dr. Jamsheed Shorish

Computational Economist

Tentang saya

  • Ekonom Komputasional
  • Spesialisasi:
    • penetapan harga aset
    • teknologi keuangan ("FinTech")
    • aplikasi komputasi untuk ekonomi dan keuangan
  • Ko-pengajar, "Economic Analysis of the Digital Economy" di ANU
  • Shorish Research (Belgia): aplikasi bisnis komputasional
Manajemen Risiko Kuantitatif dengan Python

Apa itu Manajemen Risiko Kuantitatif?

  • Manajemen Risiko Kuantitatif: Kajian ketidakpastian terukur
  • Ketidakpastian:
    • Hasil di masa depan tidak diketahui
    • Hasil memengaruhi keputusan perencanaan
  • Manajemen risiko: mengurangi dampak hasil yang merugikan
  • Ketidakpastian terukur: identifikasi faktor untuk mengukur risiko
    • Contoh: Asuransi kebakaran. Faktor apa yang meningkatkan risiko kebakaran?
  • Kursus ini: fokus pada risiko terkait portofolio keuangan
Manajemen Risiko Kuantitatif dengan Python

Manajemen risiko dan Krisis Keuangan Global

  • Resesi Besar (2007 - 2010)
    • Global: kehilangan pertumbuhan > $2 triliun
    • Amerika Serikat: hampir $10 triliun hilang dari kekayaan rumah tangga
    • Pasar saham AS kehilangan kira-kira $8 triliun nilai
  • Krisis Keuangan Global (2007-2009)
    • Perubahan besar pada nilai dasar aset
    • Ketidakpastian besar soal imbal hasil masa depan
    • Volatilitas imbal hasil aset tinggi
    • Manajemen risiko krusial bagi sukses atau gagal
Manajemen Risiko Kuantitatif dengan Python

Kilasan: portofolio keuangan

  • Portofolio keuangan
    • Kumpulan aset dengan imbal hasil masa depan yang tidak pasti
    • Saham
    • Obligasi
    • Kepemilikan valuta asing ('forex')
    • Opsi saham
  • Tantangan: mengukur risiko untuk mengelola ketidakpastian
    • Ambil keputusan investasi optimal
    • Maksimalkan imbal hasil, sesuai selera risiko
Manajemen Risiko Kuantitatif dengan Python

Mengukur imbal hasil

  • Imbal hasil portofolio: jumlah berbobot imbal hasil tiap aset
    • Pustaka analisis data Pandas
    • DataFrame prices
    • Metode .pct_change()
    • Metode .dot() pada returns
prices = pandas.read_csv("portfolio.csv")

returns = prices.pct_change()
weights = (weight_1, weight_2, ...)
portfolio_returns = returns.dot(weights)
Manajemen Risiko Kuantitatif dengan Python

Mengukur risiko

  • Volatilitas imbal hasil portofolio = risiko
  • Hitung volatilitas lewat matriks kovarians
  • Gunakan metode DataFrame .cov() pada returns dan tahunkan
covariance = returns.cov()*252

print(covariance)

Contoh matriks kovarians antara 4 aset

Manajemen Risiko Kuantitatif dengan Python

Mengukur risiko

  • Volatilitas imbal hasil portofolio = risiko
  • Hitung volatilitas lewat matriks kovarians
  • Gunakan metode DataFrame .cov() pada returns dan tahunkan
  • Diagonal covariance adalah varians tiap aset
covariance = returns.cov()*252

print(covariance)

Contoh matriks kovarians dengan varians disorot pada diagonal

Manajemen Risiko Kuantitatif dengan Python

Mengukur risiko

  • Volatilitas imbal hasil portofolio = risiko
  • Hitung volatilitas lewat matriks kovarians
  • Gunakan metode DataFrame .cov() pada returns dan tahunkan
  • Diagonal covariance adalah varians tiap aset
  • Off-diagonal covariance adalah kovarians antar aset
covariance = returns.cov()*252

print(covariance)

Contoh matriks kovarians dengan kovarians disorot pada off-diagonal

Manajemen Risiko Kuantitatif dengan Python

Risiko portofolio

  • Bergantung pada weights aset dalam portofolio
  • Varians portofolio $\sigma_p^2$ adalah $$ \sigma_p^2 := w^T \cdot \textnormal{Cov}_p \cdot w $$
  • Perkalian matriks dapat dihitung dengan operator @ di Python
  • Biasanya gunakan simpangan baku, bukan varians
weights = [0.25, 0.25, 0.25, 0.25] # Asumsikan empat aset dalam portofolio

portfolio_variance = np.transpose(weights) @ covariance @ weights
portfolio_volatility = np.sqrt(portfolio_variance)
Manajemen Risiko Kuantitatif dengan Python

Deret waktu volatilitas

  • Dapat juga menghitung volatilitas portofolio dari waktu ke waktu
  • Gunakan 'jendela' untuk menghitung volatilitas pada periode tetap (mis. minggu, 'bulan' 30 hari)
  • Series.rolling() membuat jendela
  • Amati tren volatilitas dan kemungkinan peristiwa ekstrem
windowed = portfolio_returns.rolling(30)

volatility = windowed.std()*np.sqrt(252) volatility.plot() .set_ylabel("Standard Deviation...")

Plot jendela berjalan 30 hari untuk volatilitas imbal hasil tahunan

Manajemen Risiko Kuantitatif dengan Python

Ayo berlatih!

Manajemen Risiko Kuantitatif dengan Python

Preparing Video For Download...