Théorie moderne du portefeuille

Gestion quantitative des risques en Python

Jamsheed Shorish

Computational Economist

Le couple risque-rendement

  • Facteurs de risque : sources d'incertitude affectant le rendement
  • Intuition : plus d'incertitude (plus de risque) compensée par plus de rendement
  • Impossible de garantir un rendement : besoin d'une mesure de rendement attendu
    • rendement historique moyen : proxy du rendement futur attendu
Gestion quantitative des risques en Python

Appétence au risque de l'investisseur

  • Enquête investisseurs : rendement minimal exigé pour un niveau de risque donné ?
  • Chaque réponse crée un point « données » (risque, rendement) du profil de risque
  • Faire varier le risque ⇒ ensemble de points (risque, rendement)
  • Appétence au risque de l'investisseur : une relation chiffrée entre risque et rendement
Gestion quantitative des risques en Python

Choisir les pondérations du portefeuille

  • Faire varier les pondérations d'un portefeuille donné ⇒ crée un ensemble de couples (risque, rendement)
  • Modifier les pondérations = début de la gestion des risques !
  • Objectif : changer les pondérations pour maximiser le rendement attendu, pour un niveau de risque donné
    • Équivalent : minimiser le risque, pour un niveau de rendement attendu
  • Changer les pondérations = ajuster l'exposition au risque de l'investisseur
Gestion quantitative des risques en Python

Théorie moderne du portefeuille

  • Portefeuille efficient : pondérations générant le rendement attendu le plus élevé pour un risque donné
  • Modern Portfolio Theory (MPT), 1952
    • H. M. Markowitz (Prix Nobel 1990)
  • Le vecteur de pondérations efficientes $w^\star$ résout :

Équations du problème d'optimisation pour trouver le portefeuille efficient

Gestion quantitative des risques en Python

La frontière efficiente

  • Calculer de nombreux portefeuilles efficients pour différents niveaux de risque
  • Frontière efficiente : lieu des couples (risque, rendement) créés par les portefeuilles efficients
  • Bibliothèque PyPortfolioOpt : outils optimisés pour la MPT
    • Classe EfficientFrontier : génère un portefeuille optimal à la fois
    • Classe Constrained Line Algorithm (CLA) : génère toute la frontière efficiente
      • Nécessite la matrice de covariance des rendements
      • Nécessite un proxy du rendement futur attendu : rendements historiques moyens
Gestion quantitative des risques en Python

Portefeuille de banque d'investissement 2005 - 2010

  • Rendements attendus : données historiques
  • Matrice de covariance : Covariance Shrinkage améliore l'estimation
  • Objet Constrained Line Algorithm CLA
  • Portefeuille à variance minimale : cla.min_volatility()
  • Frontière efficiente : cla.efficient_frontier()

 

expected_returns = mean_historical_return(prices)

efficient_cov = CovarianceShrinkage(prices).ledoit_wolf()
cla = CLA(expected_returns, efficient_cov)
minimum_variance = cla.min_volatility()
(ret, vol, weights) = cla.efficient_frontier()
Gestion quantitative des risques en Python

Visualiser la frontière efficiente

  • Nuage de points des couples (vol, rend)

Graphique de la frontière efficiente tracée comme une série de couples (risque, rendement)

Gestion quantitative des risques en Python

Visualiser la frontière efficiente

  • Nuage de points des couples (vol, rend)
  • Portefeuille à variance minimale : volatilité la plus faible de tous les portefeuilles efficients possibles

Le portefeuille à variance minimale mis en évidence sur la frontière efficiente

Gestion quantitative des risques en Python

Visualiser la frontière efficiente

  • Nuage de points des couples (vol, rend)
  • Portefeuille à variance minimale : volatilité la plus faible de tous les portefeuilles efficients
  • Appétence au risque croissante : se déplacer le long de la frontière

Déplacement le long de la frontière efficiente représenté par une flèche vers plus de risque et plus de rendement

Gestion quantitative des risques en Python

Passons à la pratique !

Gestion quantitative des risques en Python

Preparing Video For Download...