CommencerCommencez gratuitement

Évaluer les rendements

Voyons maintenant comment notre sélection de portefeuille se comporterait par rapport à un simple investissement dans le SPY. Nous faisons cela pour vérifier si nos prédictions sont prometteuses, malgré la faible valeur de R\(^2\).

Nous allons fixer une valeur initiale d'investissement de 1 000 $, puis parcourir les rendements issus de nos prédictions ainsi que ceux du SPY. Nous utiliserons les rendements mensuels de notre sélection de portefeuille et du SPY et les appliquerons à notre solde de trésorerie de départ. Nous obtiendrons ainsi une vue mois par mois de la performance de l'investissement, et nous pourrons comparer globalement nos prédictions au SPY. Ensuite, nous tracerons notre portefeuille issu des prédictions et le comparerons au SPY.

Cet exercice fait partie du cours

<cours>Machine Learning pour la finance en Python</cours>
Voir le cours

Instructions de l’exercice

  • Définissez les premières entrées de liste de algo_cash et spy_cash à la même valeur (cash).
  • Multipliez cash dans notre boucle test_returns par 1 + r afin d'appliquer les rendements à notre cash.
  • Comme dans la boucle test_returns, dans la boucle de performance du SPY, ajoutez cash à spy_cash après l'avoir multiplié par 1 + r pour intégrer les rendements à cash.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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])
Modifier et exécuter le code