CommencerCommencer gratuitement

Rendements et risque à pondération exponentielle

Dans cet exercice, vous allez effectuer une optimisation de portefeuille avec une méthode légèrement différente pour estimer le risque et les rendements : vous allez accorder davantage de poids aux données récentes dans l’optimisation.

C’est une façon pertinente 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 le calcul des rendements utilisé pour obtenir mu. L’ensemble de données des cours boursiers est disponible sous stock_prices. À vous de jouer !

Cet exercice fait partie du cours

Introduction à l’analyse de portefeuille en Python

Afficher le cours

Instructions

  • Utilisez la matrice de covariance à pondération exponentielle depuis risk_models et la fonction de rendements historiques à pondération exponentielle depuis expected_returns pour calculer Sigma et mu. Définissez 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.
  • Générez le rapport de performance.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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