Оцініть дохідність
Подивімося, як би показав себе наш добір портфеля порівняно з інвестуванням лише в SPY. Зробимо це, щоб перевірити, чи є наші прогнози багатообіцяльними, попри невелике значення R\(^2\).
Ми задамо початкову суму інвестиції $1000, після чого пройдемося циклом по дохідностях за нашими прогнозами та за SPY. Ми використаємо місячну дохідність для нашого портфеля і SPY та застосуємо її до нашого початкового грошового залишку. Так ми отримаємо помісячну картину динаміки інвестиції та зможемо побачити, як наші прогнози спрацювали загалом порівняно зі SPY. Далі побудуємо графік нашого портфеля за прогнозами й порівняємо його зі SPY.
Ця вправа є частиною курсу
Machine Learning для фінансів у Python
Інструкції до вправи
- Встановіть перші елементи списків
algo_cashіspy_cashна однакову суму (cash). - У циклі
test_returnsпомножтеcashна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])