EmpezarEmpieza gratis

Crea features y targets

Para usar Machine Learning y escoger la mejor cartera, necesitamos generar features y targets. Nuestras features se acaban de crear en el ejercicio anterior: las medias móviles exponenciales de precios. Nuestros targets serán las mejores carteras que encontramos según el Sharpe ratio más alto.

Usaremos el método .iterrows() de pandas para obtener los pares index, value del DataFrame ewma_monthly. Dentro del bucle, estableceremos el valor actual de ewma_monthly como nuestras features. Luego usaremos el índice del mejor Sharpe ratio (de max_sharpe_idxs) para obtener los mejores portfolio_weights de cada mes y fijarlos como target.

Este ejercicio forma parte del curso

Machine Learning para finanzas con Python

Ver curso

Instrucciones del ejercicio

  • Usa el método .iterrows() con ewma_monthly para iterar por index, value en el bucle.
  • Usa date en el bucle y best_idx para indexar portfolio_weights y obtener los pesos ideales de la cartera según el mejor Sharpe ratio.
  • Añade el ewma a las features.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

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:])
Editar y ejecutar código