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 merupakan bagian dari kursus
Pengantar Manajemen Risiko Portofolio dengan Python
Instruksi 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 langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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()