Setiap investor umumnya memiliki lebih dari satu jenis saham. Kumpulan saham ini disebut portfolio. Pada modul ini kita akan buat program sederhana untuk menghitung rate of return dari sebuah portfolio.
Misalnya portofilio dengan weight dan rate of return
- ADRO, 25%, 0,21
- BBRI, 25%, 0,32
- JPFA, 25%, 0,16
- KLBF, 25%, 0,14
Maka rate of return dari portfolio adalah
Rate of Return = (25% * 0,21) + (25% * 0,32) + (25% * 0,16) + (25% * 0,14)
Rate of Return = 0,2075
Jika weight berbeda, maka hasil rate of return dari portfolio juga akan berbeda.
Berikut code untuk menghitung rate of return dari portfolio.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pandas_datareader import data as wb
portfolio = ['ADRO.JK', 'BBRI.JK', 'JPFA.JK', 'KLBF.JK']
mydata = pd.DataFrame()
for p in portfolio:
mydata[p] = wb.DataReader(p, data_source='yahoo', start='2015-1-1')['Adj Close']
(mydata / mydata.iloc[0]*100).plot(figsize=(13,5))
plt.show()

returns = (mydata / mydata.shift(1)) - 1 weight = np.array([0.25, 0.25, 0.25, 0.25]) ret_a = returns.mean()*250 portfolio01 = str(round(np.dot(ret_a, weight), 5) * 100) + '%' print (portfolio01) weight2 = np.array([0.15, 0.35, 0.35, 0.15]) portfolio02 = str(round(np.dot(ret_a, weight2), 5) * 100) + '%' print (portfolio02
15.589%
17.742%