Features und Targets erstellen
Um mit Machine Learning das beste Portfolio auszuwählen, brauchen wir Features und Targets. Unsere Features hast du in der letzten Übung erstellt – die exponentiell gewichteten gleitenden Durchschnitte der Preise. Unsere Targets sind die besten Portfolios, die wir anhand der höchsten Sharpe Ratio gefunden haben.
Wir verwenden die pandas-Methode .iterrows(), um die index, value-Paare für das DataFrame ewma_monthly zu erhalten. Im Loop setzen wir den aktuellen Wert von ewma_monthly als unsere Features. Anschließend nutzen wir den Index der besten Sharpe Ratio (aus max_sharpe_idxs), um die besten portfolio_weights für jeden Monat zu holen und als Target zu setzen.
Diese Übung ist Teil des Kurses
<Kurs>Maschinelles Lernen für Finanzen in Python</Kurs>Übungsanweisungen
- Verwende die Methode
.iterrows()mitewma_monthly, um im Loop überindex, valuezu iterieren. - Verwende das
dateim Loop undbest_idx, umportfolio_weightszu indexieren und die idealen Portfolio-Gewichte basierend auf der besten Sharpe Ratio zu erhalten. - Hänge das
ewmaan die Features an.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
targets, features = [], []
# Create features from price history and targets as ideal portfolio
for date, ewma in ewma_monthly.____:
# Get the index of the best sharpe ratio
best_idx = max_sharpe_idxs[date]
targets.append(portfolio_weights[____][____])
features.append(____) # add ewma to features
targets = np.array(targets)
features = np.array(features)
print(targets[-5:])