CommencezCommencez gratuitement

Calculer les covariances pour la volatilité

En MPT, on mesure le risque par la volatilité. Le calcul de la volatilité d'un portefeuille est complexe et nécessite les covariances des rendements quotidiens. Nous allons maintenant parcourir chaque mois du DataFrame returns_monthly et calculer la covariance des rendements quotidiens.

Avec les index datetime de pandas, vous pouvez accéder au mois et à l'année avec df.index.month et df.index.year. Nous allons nous en servir pour créer un masque pour returns_daily qui nous donne les rendements quotidiens du mois et de l'année courants dans la boucle. Nous utilisons ensuite ce masque pour filtrer le DataFrame ainsi : df[mask]. Cela récupère les entrées de returns_daily qui appartiennent au mois et à l'année en cours à chaque itération de la boucle. Enfin, nous utiliserons la méthode .cov() de pandas pour obtenir la covariance des rendements quotidiens.

Cette activité fait partie du cours

Machine Learning pour la finance en Python

Voir le cours

Instructions de l’exercice

  • Parcourez l'index de returns_monthly.
  • Créez un masque pour returns_daily qui utilise le mois et l'année en cours de returns_monthly et les fait correspondre au mois et à l'année de i dans la boucle.
  • Appliquez le masque à returns_daily et calculez les covariances avec .cov().

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Daily covariance of stocks (for each monthly period)
covariances = {}
rtd_idx = returns_daily.index
for i in returns_monthly.____:    
    # Mask daily returns for each month and year, and calculate covariance
    mask = (rtd_idx.month == i.month) & (rtd_idx.____ == i.____)
    
    # Use the mask to get daily returns for the current month and year of monthy returns index
    covariances[i] = returns_daily[____].cov()

print(covariances[i])
Modifier et exécuter le code