CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Utilisez un span de 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_monthly d'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])
Modifier et exécuter le code