Calcula EWMAs
Ahora vamos a crear algunas características para poder predecir nuestras carteras ideales. Por ahora, usaremos simplemente el movimiento del precio como característica. Para ello, crearemos una media móvil exponencial diaria (EWMA) y luego la remuestrearemos a un marco temporal mensual. Por último, desplazaremos la media móvil mensual del precio un mes hacia el futuro, para poder usarla como característica al predecir carteras futuras.
Este ejercicio forma parte del curso
Machine Learning para finanzas con Python
Instrucciones del ejercicio
- Usa un
spande 30 para calcular la media móvil exponencial diaria (ewma_daily). - Remuestrea la EWMA diaria a mensual utilizando la frecuencia Business Monthly Start (BMS) y el primer día del mes (
.first()). - Desplaza
ewma_monthlyun mes hacia adelante, para poder usar la EWMA del mes anterior como característica para predecir la cartera ideal del mes siguiente.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Calculate exponentially-weighted moving average of daily returns
ewma_daily = returns_daily.ewm(span=____).mean()
# Resample daily returns to first business day of the month with the first day for that month
ewma_monthly = ewma_daily.resample(____).____
# Shift ewma for the month by 1 month forward so we can use it as a feature for future predictions
ewma_monthly = ewma_monthly.____.dropna()
print(ewma_monthly.iloc[-1])