Pengantar Analisis Portofolio dengan Python
Charlotte Werger
Data Scientist

$$

$$
$$



Secara lisan, yang perlu dihitung di Python:
Varians portofolio = Bobot transpos x (Matriks kovarians x Bobot)
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()
# 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])
# 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