Vorhersagen und erste Auswertung
Jetzt, da wir ein trainiertes Random-Forest-Modell (rfr) haben, wollen wir es verwenden, um Vorhersagen auf dem Testset zu erhalten. So bewerten wir die Leistung unseres Modells – ganz grundsätzlich: schneidet es so gut oder besser ab als ein einfacher Kauf des Index, SPY?
Wir nutzen die übliche sklearn-Methode .predict(features) und multiplizieren anschließend unsere monatlichen Renditen mit unseren Portfoliovohersagen. Wir summieren diese mit np.sum(), da es für jeden Monat 3 Zeilen geben wird. Danach plotten wir sowohl die monatlichen Renditen aus unseren Vorhersagen als auch SPY und vergleichen beide.
Diese Übung ist Teil des Kurses
<Kurs>Maschinelles Lernen für Finanzen in Python</Kurs>Übungsanweisungen
- Verwende die
.predict()-Methode des Random-Forest-Modellsrfr, um Vorhersagen fürtrain_featuresundtest_featureszu erzeugen. - Multipliziere den Testset-Anteil von
returns_monthlymittest_predictions, um die Renditen unserer Testset-Vorhersagen zu erhalten. - Plotte die
returns_monthlydes Testsets für'SPY'(alles vontrain_sizebis zum Ende der Daten).
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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()