Voorspellingen maken en eerste evaluatie
Nu we een getraind random forest-model (rfr) hebben, willen we het gebruiken om voorspellingen te maken op de testset. We doen dit om de prestatie van ons model te beoordelen — op hoofdlijnen: doet het het even goed of beter dan simpelweg de index, SPY, kopen?
We gebruiken de gebruikelijke sklearn-methode .predict(features), vermenigvuldigen daarna onze maandrendementen met onze portfoliovoorspellingen. We sommeren deze met np.sum() aangezien dit 3 rijen per maand heeft. Vervolgens plotten we zowel de maandrendementen op basis van onze voorspellingen als die van SPY en vergelijken we die twee.
Deze oefening maakt deel uit van de cursus
Machine Learning voor finance in Python
Oefeninstructies
- Gebruik de
.predict()-methode van hetrfrrandom forest-model om voorspellingen te maken optrain_featuresentest_features. - Vermenigvuldig het testgedeelte van
returns_monthlymettest_predictionsom de rendementen van onze testsetvoorspellingen te krijgen. - Plot de
returns_monthlyvan de testset voor'SPY'(alles vantrain_sizetot het einde van de data).
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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()