Calculer les EWMA
Nous allons maintenant créer des caractéristiques pour pouvoir prédire nos portefeuilles idéaux. Pour l'instant, nous allons simplement utiliser le mouvement des prix comme caractéristique. Pour ce faire, nous créerons une moyenne mobile exponentielle quotidienne (EWMA), puis nous la rééchantillonnerons à l'échelle mensuelle. Enfin, nous décalerons la moyenne mobile mensuelle du prix d'un mois vers le futur, afin de pouvoir l'utiliser comme caractéristique pour prédire les portefeuilles futurs.
Cette activité fait partie du cours
Machine Learning pour la finance en Python
Instructions de l’exercice
- Utilisez un
spande 30 pour calculer la moyenne mobile exponentielle quotidienne (ewma_daily). - Rééchantillonnez l'EWMA quotidienne au mois en utilisant la fréquence Business Monthly Start (BMS) et le premier jour du mois (
.first()). - Décalez
ewma_monthlyd'un mois vers l'avant, afin que nous puissions utiliser l'EWMA du mois précédent comme caractéristique pour prédire le portefeuille idéal du mois suivant.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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])