Обчислення дохідності портфеля
Щоб створити й протестувати портфель, потрібно впевнено працювати з дохідностями кількох активів у одному об'єкті.
У цій вправі ви використаєте об'єкт pandas DataFrame, уже збережений у змінній StockReturns, щоб тримати дохідності кількох активів і обчислити дохідність модельного портфеля.
Модельний портфель побудовано з попередньо заданими вагами для деяких найбільших компаній світу станом на кінець грудня 2016 року (перед січнем 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% |
Зверніть увагу, що в більшості випадків сума ваг портфеля має дорівнювати 100%
Ця вправа є частиною курсу
Вступ до керування ризиком портфеля в Python
Інструкції до вправи
- Завершіть визначення масиву numpy
portfolio_weightsзі значеннями згідно з наведеною вище таблицею. - Використайте метод
.mul(), щоб помножитиportfolio_weightsпо рядкахStockReturnsі отримати зважені дохідності акцій. - Потім застосуйте метод
.sum()по рядках до об'єктаWeightedReturns, щоб обчислити дохідність портфеля. - Нарешті, перегляньте графік кумулятивної дохідності в часі.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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()