Gestion de portefeuille avec Google Sheets : calcul de la rentabilité d'un portefeuille

Cet article est inspiré de plusieurs discussions sur la blogosphère boursière francophone, par exemple :

Pour un investisseur en bourse, le début d'une nouvelle année est généralement propice au calcul de la performance de son portefeuille boursier sur l'année écoulée, en commençant par le calcul de sa rentabilité.

Dans cet article, qui suit le chapitre The Mathematics of Portfolio Return du livre de Carl Bacon [1], je vous propose un petit tour d'horizon de différentes formules de calcul de la rentabilité d'un portefeuille sur une période donnée, ainsi qu'une feuille de calcul Google Sheets qui illustre ces formules.

  • Le cas d'école : aucun apport ni retrait de liquidités n'a été effectué sur la période

    Dans ce cas, la rentabilité $r$ du portefeuille sur la période se calcule en comparant la valeur $V_f$ du portefeuille en fin de période à la valeur $V_d$ du portefeuille en début de période selon la formule :
    \[ r = \frac{V_f - V_d}{V_d} \]
  • Le cas réel : des apports et/ou des retraits de liquidités ont été effectués sur la période

    Dans ce cas, puisque les apports (retraits) sont venus augmenter (diminuer) la valeur du portefeuille, la formule précédente ne peut plus être utilisée et doit être remplacée par une formule qui prend explicitement en compte ces apports et ces retraits.

    En considérant les apports et les retraits comme des flux de trésorerie $C_j, j=1..n, n \ge 1$ effectués en fin de journée aux dates $t_j$, avec $C_j > 0$ si $C_j$ est un apport et $C_j < 0$ si $C_j$ est un retrait, il existe alors deux grandes familles de telles formules :

    • Les formules de rentabilité pondérée par les capitaux (Money Weighted Rate of Return / MWRR), qui servent à calculer la rentabilité du portefeuille du point de vue de l'investisseur.

      Le principe de ces formules est de calculer un taux de rentabilité constant sur toute la période qui réconcilie la valeur $V_f$ du portefeuille en fin de période avec la valeur $V_d$ du portefeuille en début de période ajustée des apports et des retraits, selon différents niveaux de complexité (e.g., taux de rentabilité interne (TRI), méthode de Dietz modifiée...).

      La formule la plus rigoureuse qui appartient à cette famille est celle du taux de rentabilité interne, qui définie la rentabilité $r$ du portefeuille sur la période comme une solution de l'équation :
      \[ V_f = V_d(1 + r) - \sum_{j=1}^n { C_j(1 + r)^{\frac{T-t_j}{T}} } \] où $T \ge 1$ est le nombre de jours qui composent la période étudiée et où les dates $t_j$ sont exprimées en nombre de jours depuis le début de la période.

      A noter que la plupart des tableurs (Excel, Open Office, Google Sheets...) fournissent une fonction de calcul du taux de rentabilité interne (par exemple, TRI.PAIEMENTS / XIRR dans le cas de Google Sheets).

    • Les formules de rentabilité pondérée par le temps (Time Weighted Rate of Return / TWRR), qui servent à calculer la rentabilité du portefeuille du point de vue du gérant.

      Le principe de ces formules est cette fois de calculer un taux de rentabilité insensible aux apports et aux retraits, ce qui rend ces formules utilisables à des fins de comparaisons entre gérants de fonds, puisque ces derniers ne contrôlent normalement pas les apports et les retraits effectués par leurs cients.

      La formule la plus rigoureuse qui appartient à cette famille est la formule du taux de rentabilité de la valeur unitaire étudiée dans [2], où il est également établit que c'est la seule formule qui est à la fois insensible aux apports et aux retraits et qui possède de "bonnes" caractéristiques, qui définie la rentabilité $r$ du portefeuille sur la période par la formule :
      \[ r = \frac{U_{n+1}-U_0}{U_0} \] avec \[ U_0 = 1 \] \[ \forall k=1..n+1, U_k = U_{k-1} \frac{V_k}{V_{k-1} + C_{k-1}} \] où $V_j$ est la valeur du portefeuille à l'instant $t_j$ de l'apport ou du retrait $C_j$ (par convention, $V_j$ n'intègre pas la valeur du flux de trésorerie $C_j$), avec $V_0 = V_d$ et $V_{n+1} = V_f$.

      A noter que cette formule permet de travailler avec une valeur de part, de manière similaire à une valeur de part d'un OPCVM, ce qui la rend particulièrement pratique pour calculer n'importe quel indicateur de performance du portefeuille (en utilisant, par exemple, la librairie Google Sheets PortfolioAnalytics :-)), et non pas sa seule rentabilité.

A vous maintenant de décider comment calculer la rentabilité de votre portefeuille boursier, sachant que vous avez probablement la maîtrise de vos flux de trésorerie et que ces derniers impactent probablement votre processus de gestion, ce qui favoriserait l'utilisation de la formule du taux de rentabilité interne, mais que si vous souhaitez comparer vos performances de gérant avec d'autres investisseurs, seule l'utilisation de la formule du taux de rentabilité de la valeur unitaire le permet.

Personellement, je calcule les deux types de rentabilité pour mes portefeuilles boursiers.

Bon trading (quantitatif),
Roman

PS: La feuille de calcul Google Sheets associée est disponible ici.

/

[1] - Bacon, Carl R., 2011. "Practical Portfolio Performance Measurement and Attribution", Wiley Finance, disponible sur Amazon (lien affilié)

[2] - Kenneth B. Gray, Jr. and Robert B. K. Dewar. 1971. "Axiomatic Characterization of the Time-Weighted Rate of Return", Management Science, Vol. 18, No. 2, pp. B32-B35, disponible ici