Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Använd .iterrows()-metoden med ewma_monthly för att iterera genom index, value i loopen.
  • Använd date i loopen och best_idx för att indexera portfolio_weights och hämta de optimala portföljvikterna baserat på den högsta Sharpe-kvoten.
  • Lägg till ewma i 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:])
Redigera och kör kod