Calcularea randamentelor portofoliului
Pentru a construi și testa un portofoliu, trebuie să fii confortabil cu lucrul cu randamentele mai multor active într-un singur obiect.
În acest exercițiu, vei folosi un obiect DataFrame din pandas, deja stocat în variabila StockReturns, pentru a reține randamentele mai multor active și a calcula randamentele unui portofoliu model.
Portofoliul model este construit cu ponderi predefinite pentru câteva dintre cele mai mari companii din lume, înainte de ianuarie 2017:
| Nume companie | Ticker | Pondere în portofoliu |
|---|---|---|
| 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% |
Reține că ponderile din portofoliu ar trebui să sumeze 100% în majoritatea cazurilor
Acest exercițiu face parte din cursul
Introducere în gestionarea riscului de portofoliu în Python
Instrucțiuni pentru exercițiu
- Finalizează definirea array-ului numpy cu
portfolio_weights, folosind valorile din tabelul de mai sus. - Folosește metoda
.mul()pentru a înmulțiportfolio_weightspe rândurile dinStockReturnsși a obține randamentele ponderate ale acțiunilor. - Apoi aplică metoda
.sum()pe rândurile obiectuluiWeightedReturnspentru a calcula randamentele portofoliului. - În final, analizează graficul randamentelor cumulate în timp.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()