Tvorba příznaků a cílů
Aby mohl machine learning vybrat nejlepší portfolio, potřebujeme vygenerovat příznaky a cíle. Příznaky jsme vytvořili v předchozím cvičení – jsou to exponenciálně vážené klouzavé průměry cen. Jako cíle použijeme nejlepší portfolia, která jsme našli na základě nejvyššího Sharpe ratio.
Využijeme metodu .iterrows() z pandy, abychom získali páry index, value z DataFrame ewma_monthly. V rámci smyčky nastavíme aktuální hodnotu ewma_monthly jako příznaky. Poté použijeme index nejlepšího Sharpe ratio (z max_sharpe_idxs), abychom pro každý měsíc získali nejlepší portfolio_weights a nastavili je jako cíl.
Toto cvičení je součástí kurzu
Machine Learning for Finance in Python
Pokyny k cvičení
- Použij metodu
.iterrows()naewma_monthlypro iteraci přes páryindex, valueve smyčce. - Pomocí
dateze smyčky abest_idxindexujportfolio_weights, abys získal/a ideální váhy portfolia na základě nejlepšího Sharpe ratio. - Přidej
ewmado příznaků pomocíappend.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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:])