Skapa särdrag och mål
För att använda maskininlärning för att välja den bästa portföljen behöver vi skapa särdrag och mål. Särdragen skapade vi i förra övningen – det exponentiellt viktade glidande medelvärdet av priser. Målen blir de bästa portföljerna vi identifierade utifrån det högsta Sharpe-kvoten.
Vi använder pandas .iterrows()-metod för att hämta index, value-paren från ewma_monthly-DataFramen. Det aktuella värdet för ewma_monthly i loopen sätter vi som våra särdrag. Sedan använder vi indexet för den högsta Sharpe-kvoten (från max_sharpe_idxs) för att hämta de bästa portfolio_weights för varje månad och sätter det som mål.
Den här övningen är en del av kursen
Maskininlärning för finans i Python
Övningsinstruktioner
- Använd
.iterrows()-metoden medewma_monthlyför att iterera genomindex, valuei loopen. - Använd
datei loopen ochbest_idxför att indexeraportfolio_weightsoch hämta de optimala portföljvikterna baserat på den högsta Sharpe-kvoten. - Lägg till
ewmai särdragen.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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:])