Calculer des EWMA
Nous allons maintenant créer des variables explicatives pour pouvoir prédire nos portefeuilles idéaux. Pour l'instant, nous allons simplement utiliser le mouvement des prix comme caractéristique. Pour cela, nous allons calculer une moyenne mobile exponentielle quotidienne (EWMA), puis la rééchantillonner à une fréquence mensuelle. Enfin, nous décalerons d'un mois vers l'avenir la moyenne mobile mensuelle du prix, afin de l'utiliser comme variable pour prédire les portefeuilles futurs.
Cet exercice fait partie du cours
<cours>Machine Learning pour la finance en Python</cours>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 d'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])