Inizia subitoInizia gratis

Crea feature e target

Per usare il Machine Learning per scegliere il portafoglio migliore, dobbiamo generare feature e target. Le nostre feature sono state appena create nell'esercizio precedente: le medie mobili esponenzialmente pesate dei prezzi. I nostri target saranno i portafogli migliori trovati in base allo Sharpe ratio più alto.

Useremo il metodo .iterrows() di pandas per ottenere le coppie index, value dal DataFrame ewma_monthly. Imposteremo il valore corrente di ewma_monthly nel ciclo come nostre feature. Poi useremo l'indice dello Sharpe ratio migliore (da max_sharpe_idxs) per ottenere i portfolio_weights migliori per ogni mese e impostarli come target.

Questo esercizio fa parte del corso

Machine Learning per la finanza in Python

Visualizza corso

Istruzioni dell'esercizio

  • Usa il metodo .iterrows() con ewma_monthly per iterare su index, value nel ciclo.
  • Usa date nel ciclo e best_idx per indicizzare portfolio_weights e ottenere i pesi ideali del portafoglio in base al miglior Sharpe ratio.
  • Aggiungi l'ewma alle feature.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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:])
Modifica ed esegui il codice