Aan de slagBegin gratis

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

Bekijk cursus

Oefeninstructies

  • Gebruik de .iterrows()-methode met ewma_monthly om door de index, value in de lus te itereren.
  • Gebruik de date in de lus en best_idx om portfolio_weights te indexeren en zo de ideale portefeuillegewichten op basis van de beste Sharpe-ratio te krijgen.
  • Voeg de ewma toe 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:])
Code bewerken en uitvoeren