LoslegenKostenlos starten

Renditen auswerten

Schauen wir uns jetzt an, wie sich unsere Portfolioauswahl im Vergleich zu einer reinen Investition in den SPY geschlagen hätte. So sehen wir, ob unsere Vorhersagen trotz des niedrigen R\(^2\)-Werts vielversprechend sind.

Wir setzen einen Startwert für unsere Investition von 1.000 $, dann iterieren wir über die Renditen aus unseren Vorhersagen sowie aus dem SPY. Wir verwenden die monatlichen Renditen unserer Portfolioauswahl und des SPY und wenden sie auf unseren anfänglichen Kassenbestand an. So erhalten wir ein monatliches Bild davon, wie sich unsere Investition entwickelt, und wir können sehen, wie unsere Vorhersagen insgesamt im Vergleich zum SPY abgeschnitten haben. Anschließend plotten wir unser Portfolio basierend auf den Vorhersagen und vergleichen es mit dem SPY.

Diese Übung ist Teil des Kurses

<Kurs>Maschinelles Lernen für Finanzen in Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • Setze die ersten Listeneinträge von algo_cash und spy_cash beide auf denselben Betrag (cash).
  • Multipliziere das cash in unserer test_returns-Schleife mit 1 + r, um die Renditen auf unser cash anzuwenden.
  • Wie in der test_returns-Schleife: Hänge in der SPY-Performance-Schleife cash an spy_cash an, nachdem du es mit 1 + r multipliziert hast, um die Renditen zu cash hinzuzufügen.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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])
Code bearbeiten und ausführen