CommencezCommencez gratuitement

Rendements et risque à pondération exponentielle

Dans cet exercice, vous allez optimiser un portefeuille en estimant le risque et les rendements d'une façon un peu différente : vous donnerez plus de poids aux données récentes dans l'optimisation.

C'est une bonne façon de traiter des données boursières généralement non stationnaires, c'est-à-dire lorsque la distribution évolue dans le temps. L'implémentation se fait rapidement en changeant le modèle de risque utilisé pour calculer Sigma, ainsi que la méthode de calcul des rendements pour obtenir mu. Le jeu de données des prix boursiers est disponible sous stock_prices. Allons-y!

Cette activité fait partie du cours

Introduction à l'analyse de portefeuille en Python

Voir le cours

Instructions de l’exercice

  • Utilisez la matrice de covariance à pondération exponentielle de risk_models et la fonction de rendements historiques à pondération exponentielle de expected_returns pour calculer Sigma et mu. Réglez la portée (span) à 180 et la fréquence (c.-à-d. les jours de bourse) à 252.
  • Calculez la frontière efficiente avec les nouveaux mu et Sigma.
  • Calculez les pondérations du portefeuille à ratio de Sharpe maximal.
  • Obtenez le rapport de performance.

Exercice interactif pratique

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

# Define exponentially weightedSigma and mu using stock_prices
Sigma = risk_models.____(____, span=____, frequency=____)
mu = expected_returns.____(____, frequency=____, span=____)

# Calculate the efficient frontier
ef = ____(____, ____)

# Calculate weights for the maximum sharpe ratio optimization
raw_weights_maxsharpe = ____.____()

# Show portfolio performance 
ef.____(verbose=True)
Modifier et exécuter le code