Calcolare le EWMA
Ora inizieremo a creare alcune feature per poter prevedere i nostri portafogli ideali. Per il momento useremo semplicemente il movimento del prezzo come feature. Per farlo creeremo una media mobile esponenziale giornaliera (EWMA), poi la ricampioneremo alla frequenza mensile. Infine, sposteremo in avanti di un mese la media mobile mensile del prezzo, così da utilizzarla come feature per prevedere i portafogli futuri.
Questo esercizio fa parte del corso
Machine Learning per la finanza in Python
Istruzioni dell'esercizio
- Usa uno
spandi 30 per calcolare la media mobile esponenziale giornaliera (ewma_daily). - Ricampiona l'EWMA giornaliera a frequenza mensile usando la Business Monthly Start (BMS) e il primo giorno del mese (
.first()). - Applica uno shift di un mese in avanti a
ewma_monthly, così potremo usare l'EWMA del mese precedente come feature per prevedere il portafoglio ideale del mese successivo.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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])