Obtenir des prédictions et une première évaluation
Maintenant que nous avons entraîné un modèle de random forest (rfr), nous allons l'utiliser pour générer des prédictions sur l'ensemble de test. L'objectif est d'évaluer les performances du modèle : au minimum, fait‑il aussi bien ou mieux que l'achat simple de l'indice SPY ?
Nous allons utiliser la méthode sklearn classique .predict(features), puis multiplier nos rendements mensuels par nos prédictions de portefeuille. Nous les additionnons avec np.sum() car il y aura 3 lignes pour chaque mois. Enfin, nous traçons à la fois les rendements mensuels issus de nos prédictions et ceux de SPY afin de les comparer.
Cet exercice fait partie du cours
<cours>Machine Learning pour la finance en Python</cours>Instructions de l’exercice
- Utilisez la méthode
.predict()du modèle de random forestrfrpour produire des prédictions surtrain_featuresettest_features. - Multipliez la partie test de
returns_monthlypartest_predictionspour obtenir les rendements correspondant à nos prédictions sur l'ensemble de test. - Tracez les
returns_monthlyde l'ensemble de test pour'SPY'(tout depuistrain_sizejusqu'à la fin des données).
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Get predictions from model on train and test
train_predictions = rfr.predict(train_features)
test_predictions = ____
# Calculate and plot returns from our RF predictions and the SPY returns
test_returns = np.sum(returns_monthly.iloc[train_size:] * ____, axis=1)
plt.plot(test_returns, label='algo')
plt.plot(returns_monthly['SPY'].iloc[____], label='SPY')
plt.legend()
plt.show()