Mengukur risiko portofolio

Pengantar Analisis Portofolio dengan Python

Charlotte Werger

Data Scientist

Risiko portofolio

  • Investasi berisiko: aset individu bisa naik atau turun
  • Return ekspektasian adalah variabel acak
  • Sebaran return dari rata-rata diukur dengan varians $\sigma^2$, ukuran umum volatilitas
  • $\sigma^2 = \frac{\sum\limits_{i=1}^N (X -\mu)^2}{N}$

Risiko sebagai aksi menyeimbangkan

Pengantar Analisis Portofolio dengan Python

Varians

$$

  • Varians aset individu berbeda-beda: ada yang lebih/kurang tersebar dari rata-rata
  • Varians portofolio bukan sekadar bobot × varians aset penyusunnya
  • Karena return aset saling berkorelasi, perhitungannya menjadi kompleks

Distribusi dengan varians tinggi dan rendah

Pengantar Analisis Portofolio dengan Python

Bagaimana varians dan korelasi terkait risiko portofolio?

$$

  • Korelasi antara aset 1 dan 2 dilambangkan $\rho_{1,2}$, menunjukkan sejauh mana keduanya bergerak bersama
  • Varians portofolio mempertimbangkan varians tiap aset ($\sigma_1^2, \sigma_2^2, dll$), bobot aset di portofolio ($w_1, w_2$), serta korelasi antar aset
  • Standar deviasi ($\sigma$) adalah akar kuadrat varians ($\sigma^2$); keduanya mengukur volatilitas
Pengantar Analisis Portofolio dengan Python

Menghitung varians portofolio

$$ Rumus varians portofolio

  • $\rho_{1,2} \sigma_1 \sigma_2$ disebut kovarians antara aset 1 dan 2
  • Kovarians juga bisa ditulis $ \sigma_{1,2} $
  • Ini membuat kita dapat menulis:

Rumus varians portofolio ditulis ulang

Pengantar Analisis Portofolio dengan Python

Menulis ulang varians portofolio lebih singkat

Rumus varians portofolio

  • Ini bisa ditulis ulang dalam notasi matriks, yang lebih mudah dipakai di kode:

Varians portofolio dalam notasi matriks

  • Secara lisan, yang perlu dihitung di Python:

    Varians portofolio = Bobot transpos x (Matriks kovarians x Bobot)

Pengantar Analisis Portofolio dengan Python

Varians portofolio di Python

price_data.head(2)

ticker        AAPL       FB        GE       GM       WMT
date                    
2018-03-21    171.270    169.39    13.88    37.58    88.18
2018-03-22    168.845    164.89    13.35    36.35    87.14
# Hitung return harian dari harga
daily_returns = df.pct_change()
# Bangun matriks kovarians untuk data return harian
cov_matrix_d = daily_returns.cov()
Pengantar Analisis Portofolio dengan Python

Varians portofolio di Python

# Bangun matriks kovarians dari daily_returns
cov_matrix_d = (daily_returns.cov())*250
print (cov_matrix_d)

        AAPL          FB          GE          GM          WMT                    
AAPL    0.053569    0.026822    0.013466    0.018119    0.010798
FB      0.026822    0.062351    0.015298    0.017250    0.008765
GE      0.013466    0.015298    0.045987    0.021315    0.009513
GM      0.018119    0.017250    0.021315    0.058651    0.011894
WMT     0.010798    0.008765    0.009513    0.011894    0.041520
weights = np.array([0.2, 0.2, 0.2, 0.2, 0.2])
Pengantar Analisis Portofolio dengan Python

Varians portofolio di Python

# Hitung varians dengan rumus
port_variance = np.dot(weights.T, np.dot(cov_matrix_a, weights))
print (port_variance)

0.022742232726360567
# Ubah nilai varians (float) menjadi persen
print(str(np.round(port_variance, 3) * 100) + '%')

2.3%
port_stddev = np.sqrt(np.dot(weights.T, np.dot(cov_matrix_a, weights)))
print(str(np.round(port_stddev, 3) * 100) + '%')
15.1%
Pengantar Analisis Portofolio dengan Python

Ayo berlatih!

Pengantar Analisis Portofolio dengan Python

Preparing Video For Download...