ÎncepețiÎncepe gratuit

Creează caracteristici și ținte

Pentru a folosi învățarea automată în selectarea celui mai bun portofoliu, trebuie să generăm caracteristici și ținte. Caracteristicile tocmai au fost create în exercițiul anterior – mediile mobile ponderate exponențial ale prețurilor. Țintele vor fi cele mai bune portofolii identificate pe baza celui mai mare raport Sharpe.

Vom folosi metoda .iterrows() din pandas pentru a obține perechile index, value din DataFrame-ul ewma_monthly. În cadrul buclei, vom seta valoarea curentă a ewma_monthly drept caracteristici. Apoi vom folosi indexul celui mai bun raport Sharpe (din max_sharpe_idxs) pentru a extrage portfolio_weights-urile optime pentru fiecare lună și le vom seta ca țintă.

Acest exercițiu face parte din cursul

Machine Learning pentru finanțe în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Folosește metoda .iterrows() cu ewma_monthly pentru a itera prin perechile index, value în buclă.
  • Folosește date din buclă și best_idx pentru a indexa portfolio_weights și a obține ponderile optime ale portofoliului pe baza celui mai bun raport Sharpe.
  • Adaugă ewma la lista de caracteristici.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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:])
Editează și rulează codul