Menghitung imbal hasil portofolio
Untuk membangun dan melakukan backtest portofolio, Anda harus terbiasa bekerja dengan imbal hasil dari banyak aset dalam satu objek.
Dalam latihan ini, Anda akan menggunakan objek DataFrame dari pandas, yang sudah disimpan sebagai variabel StockReturns, untuk menampung imbal hasil dari beberapa aset dan menghitung imbal hasil portofolio model.
Portofolio model dibangun dengan bobot yang telah ditentukan untuk beberapa perusahaan terbesar di dunia tepat sebelum Januari 2017:
| Company Name | Ticker | Portfolio Weight |
|---|---|---|
| Apple | AAPL | 12% |
| Microsoft | MSFT | 15% |
| Exxon Mobil | XOM | 8% |
| Johnson & Johnson | JNJ | 5% |
| JP Morgan | JPM | 9% |
| Amazon | AMZN | 10% |
| General Electric | GE | 11% |
| FB | 14% | |
| AT&T | T | 16% |
Perhatikan bahwa dalam banyak kasus total bobot portofolio seharusnya berjumlah 100%
Latihan ini adalah bagian dari kursus
Pengantar Manajemen Risiko Portofolio dengan Python
Petunjuk latihan
- Lengkapi pendefinisian array numpy
portfolio_weightsdengan nilai sesuai tabel di atas. - Gunakan metode
.mul()untuk mengalikanportfolio_weightspada setiap barisStockReturnsguna memperoleh imbal hasil saham berbobot. - Lalu gunakan metode
.sum()pada setiap baris objekWeightedReturnsuntuk menghitung imbal hasil portofolio. - Terakhir, tinjau plot kumulatif imbal hasil seiring waktu.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Finish defining the portfolio weights as a numpy array
portfolio_weights = np.array([0.12, 0.15, 0.08, 0.05, 0.09, 0.10, 0.11, ____, ____])
# Calculate the weighted stock returns
WeightedReturns = StockReturns.____(portfolio_weights, axis=____)
# Calculate the portfolio returns
StockReturns['Portfolio'] = WeightedReturns.____(axis=____)
# Plot the cumulative portfolio returns over time
CumulativeReturns = ((1+StockReturns["Portfolio"]).cumprod()-1)
CumulativeReturns.plot()
plt.show()