НачатьНачать бесплатно

Вычисление доходности портфеля

Чтобы построить портфель и провести его бэктестирование, необходимо уверенно работать с доходностью нескольких активов в рамках одного объекта.

В этом упражнении вы будете использовать объект DataFrame из библиотеки pandas, уже сохранённый в переменной StockReturns, для хранения доходности нескольких активов и вычисления доходности модельного портфеля.

Модельный портфель составлен с заранее определёнными весами для ряда крупнейших компаний мира по состоянию на начало января 2017 года:

Компания Тикер Вес в портфеле
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%
Facebook 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()
Редактировать и запускать код