Features en targets maken
Om Machine Learning te gebruiken om het beste portfolio te kiezen, moeten we features en targets genereren. Onze features heb je net in de vorige oefening gemaakt: de exponentieel gewogen voortschrijdende gemiddelden van prijzen. Onze targets zijn de beste portfolio's die we vonden op basis van de hoogste Sharpe-ratio.
We gebruiken de .iterrows()-methode van pandas om de index, value-paren op te halen voor de ewma_monthly-DataFrame. We zetten de huidige waarde van ewma_monthly in de lus als onze features. Vervolgens gebruiken we de index van de beste Sharpe-ratio (uit max_sharpe_idxs) om de beste portfolio_weights voor elke maand op te halen en die als target te zetten.
Deze oefening maakt deel uit van de cursus
Machine Learning voor finance in Python
Oefeninstructies
- Gebruik de
.iterrows()-methode metewma_monthlyom door deindex, valuein de lus te itereren. - Gebruik de
datein de lus enbest_idxomportfolio_weightste indexeren en zo de ideale portefeuillegewichten op basis van de beste Sharpe-ratio te krijgen. - Voeg de
ewmatoe aan de features.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
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:])