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

Оценка доходности

Теперь посмотрим, как наш выбор портфеля показал бы себя по сравнению с простым вложением в SPY. Это поможет нам оценить перспективность наших прогнозов, несмотря на низкое значение R\(^2\).

Мы зададим начальную стоимость инвестиций в размере 1000 долларов, а затем пройдём в цикле по доходностям из наших прогнозов и из SPY. Для этого мы применим ежемесячную доходность нашего портфеля и SPY к начальному денежному балансу. В результате мы получим помесячную картину состояния наших инвестиций и сможем оценить, насколько точными оказались прогнозы в сравнении с SPY. Затем построим график нашего портфеля на основе прогнозов и сравним его с SPY.

Это упражнение является частью курса

Машинное обучение для финансов на Python

Посмотреть курс

Инструкции к упражнению

  • Присвойте первым элементам списков algo_cash и spy_cash одинаковое значение (cash).
  • Умножьте cash в цикле по test_returns на 1 + r, чтобы применить доходность к значению cash.
  • По аналогии с циклом по test_returns, в цикле расчёта доходности SPY добавьте cash в список spy_cash после умножения на 1 + r, чтобы учесть доходность в значении cash.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Calculate the effect of our portfolio selection on a hypothetical $1k investment
cash = 1000
algo_cash, spy_cash = [cash], ____  # set equal starting cash amounts
for r in test_returns:
    cash *= 1 + r
    algo_cash.append(cash)

# Calculate performance for SPY
cash = 1000  # reset cash amount
for r in returns_monthly['SPY'].iloc[train_size:]:
    cash ____ ____
    ____

print('algo returns:', (algo_cash[-1] - algo_cash[0]) / algo_cash[0])
print('SPY returns:', (spy_cash[-1] - spy_cash[0]) / spy_cash[0])
Редактировать и запускать код