Hämta förutsägelser och genomför en första utvärdering
Nu när vi har en tränad random forest-modell (rfr) vill vi använda den för att göra förutsägelser på testuppsättningen. Det här gör vi för att utvärdera modellens prestanda – på en grundläggande nivå: presterar den lika bra eller bättre än att helt enkelt köpa indexet SPY?
Vi använder den vanliga sklearn-metoden .predict(features) och multiplicerar sedan våra månadsavkastningar med våra portföljförutsägelser. Vi summerar dessa med np.sum() eftersom det finns 3 rader per månad. Sedan plottar vi både månadsavkastningarna från våra förutsägelser och SPY, och jämför de två.
Den här övningen är en del av kursen
Maskininlärning för finans i Python
Övningsinstruktioner
- Använd random forest-modellen
rfr:s.predict()-metod för att göra förutsägelser påtrain_featuresochtest_features. - Multiplicera testuppsättningens del av
returns_monthlymedtest_predictionsför att beräkna avkastningen för våra testförutsägelser. - Plotta testuppsättningens
returns_monthlyför'SPY'(allt fråntrain_sizetill slutet av data).
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()