Les données de rendement et de variance des variations de rendement (ie risque) utilisées dans ce classeur sont des données passées. Elles sont utilisées ici dans un but pédagogique. Il faut garder à l'esprit qu'aussi bien les rendements des valeurs mobiliéres que les variances de leurs variations ne sont pas constants dans le temps. Leurs pouvoirs prédictifs sont donc pour le moins douteux.
Voici d'ailleurs ce qu'en disent deux auteurs.
Florin Aftalion dans La Nouvelle Finance et la Gestion des Portefeuilles (pages 68 à 70) :
[...] l'investisseur doit appliquer le modèle de Markowitz à l'aide d'estimations obtenues sur un échantillon de rentabilités passées, alors que c'est un autre échantillon qui déterminera la frontière représentant les portefeuilles efficients effectivement gérés. Le hic est qu'il est impossible de connaître à l'avance les paramètres (espérances de rentabilité, variances et covariances) de cette frontière efficiente là.
Le choix de portefeuilles efficients pose donc le problème du "risque d'estimation" lorsque le modèle de Markowitz est mis en oeuvre à l'aide de données historiques (mais peut-on faire autrement ?).
[...]
Jobson et Korkie concluent que l'application pratique du modèle de Markowitz au choix des portefeuilles ne donne pas de meilleurs résultats que ceux qui seraient obtenus par la sélection systématique de portefeuilles équipondérés.
[...]
Cependant, lorsque des contraintes de non-négativité sont imposées, les rentabilités des portefeuilles optimaux ne sont plus aussi sensibles aux variations des espérances des rentabilités des titres (contrairement à leur composition).
[...]
(toutes choses égales par ailleurs) les erreurs commises sur les rentabilités espérées des titres ont un impact sur la rentabilité des portefeuilles optimaux beaucoup plus important que les erreurs sur les variances et les covariances (10 à 20 fois plus fortes pour les mêmes variations en pourcentage des moyennes ou des variances-covariances).
Compte-tenu de ces constatations, le modèle de Markowitz (ou l'optimisation moyenne-variance) ne peut servir à la gestion de portefeuilles sans que son domaine d'application ne soit restreint ou que des correctifs ne lui soient apportés.
A propos de la première catégorie de mesures, il convient de noter que de tous les portefeuilles composant une frontière efficiente, celui correspondant à la variance minimum est le seul dont la composition ne dépend que des variances-covariances des titres qui le composent. Ce portefeuille, n'étant pas soumis aux effets des erreurs de mesure sur les moyennes, est beaucoup plus stable que ceux constituant le reste de la frontière efficiente (au cours des périodes de gestion, il reste proche du "vrai" portefeuille de variance minimum). Il peut donc paraître préférable de n'investir que dans des portefeuilles de variance minimum !
Notons également que l'ensemble de la frontière efficiente (surtout si des contraintes de non négativité sont imposées) gagne en stabilité si deux conditions sont remplies : les estimations sont effectuées sur de très longues périodes et les rentabilités comme les variances des actifs constitutifs sont plus dissemblables. Cette dernière condition est satisfaite pour les portefeuilles composés de classes d'actifs tels que bons du Trésor, obligations, actions et biens immobiliers. Comme les paramètres de ces classes d'actifs se prêtent à des estimations sur de très longues périodes, la frontière efficiente que décrivent les portefeuilles qui en sont composés sont relativement stables. Des institutions telles que les fonds de retraite qui mettent en oeuvre ces portefeuilles peuvent donc légitimement appliquer les résultats d'analyses espérance-variance (Boulier et Dupré, 2002).
Et Robert Haugen dans The New Finance (page 11) :
It is possible to build stock portfolios that have the lowest possible risk, given your objective for expected return. Call the technique to build these portfolios The Tool.
[...]
There is nothing wrong with The Tool--other than the fact that almost no one uses it1.
[...]
1 Except at asset allocation levels where institutions such as pension funds use it to determine how much of their funds should be invested in asset classes like bonds and stock. The Tool is also used by quantitative investment managers to manage the volatility of the differences between the returns on their long and short portfolios. Hedge funds actually build portfolios of stocks that they sell short. Long only managers are "short" their benchmark like the S&P500 stock index.
Voilà pour l'avertissement. Souvenez vous donc que l'optimisation de portefeuille est un moyen, un outil, applicable uniquement dans certains contextes (long terme et allocation d'actifs plutôt qu'allocation de titres dans un portefeuille d'actions). Ce n'est pas le Graal de l'investisseur !
Rhaaaaaaaa, enfin, nous y sommes. Après cette petite douche écossaise, nécessaire car il s'agit de vos sous, vous pouvez télécharger le classeur Excel en Cliquant ici.
Certaines versions francisées du fichier SOLVER.XLA posent des problèmes à l'exécution des macros faisant appel au solveur.Si lors de l'exécution des macros d'optimisation sous Office XP vous obtenez un message d'erreur du style "Erreur de compilation: Sub ou Fonction non définie", utilisez cette autre version du classeur ou suivez les procédures de contrôles de bonne configuration du solver dans la partie En cas de problème
.Pour pouvoir optimiser un portefeuille, il nous faudra :
Pour faire simple, vous permettre d'adapter le classeur à vos besoins et ne pas vous torturer les méninges à estimer des rendements futurs, j'ai décidé de permettre de travailler sur des données passées. Attention toutefois : ceci ne permet probablement pas l'obtention des meilleurs résultats.
Le classeur se compose donc de quatre feuilles et de plusieurs macros :
Paires de colonnes
Cette feuille est composée de paires de colonnes, une par valeur de notre univers. La première
colonne de chaque paire contient le cours de cloture de la valeur à la date indiquée dans la
colonne de gauche de la feuille, et la seconde colonne de chaque paire donne le rendement obtenu
par la valeur en question sur la dernière période.
Dans notre exemple, les périodes sont mensuelles.
Les rendements sont indiqués sous la forme de facteurs et non pas de pourcentages de manière à
pouvoir utiliser la fonction MOYENNE.GEOMETRIQUE() d'Excel pour calculer le rendement moyen.
La dernière ligne de chaque paire de colonnes indique le rendement moyen (moyenne géométrique des
rendements des différentes périodes).
Cette feuille contient la matrice de variance/covariance des rendements des valeurs listées dans la
feuille "Données".
La matrice de variance/covariance est générée automatiquement à la demande par la macro "CreeMatriceVarCovar".
Pour l'exécuter, il suffit de cliquer sur le bouton correspondant dans la feuille "Mode d'emploi", ou de
la sélectionner dans la liste des macros en cliquant sur 'Outils/Macro/Macros", puis en sélectionnant
"CreeMatriceVarCovar" et en cliquant sur le bouton "Exécuter".
Un dessin valant mieux que de grands discours, voici la feuille principale du classeur :
Et son mode d'emploi :
Colonne A :
La première colonne de cette feuille contient des cases à cocher, permettant de sélectionner les
valeurs que l'on souhaite voir figurer dans le portefeuille. Les valeurs situées sur des lignes
dont la case n'est pas cochée seront systématiquement exclues des portefeuilles constitués.
Colonne B :
La deuxième colonne contient les noms des valeurs.
Colonne C : "Proportion"
La troisième colonne est destinée à contenir les proportions de chaque valeur dans le portefeuille.
Lorsqu'on optimise un portefeuille en cliquant sur le bouton "Optimiser PF", on retrouve dans ces
colonnes les proportions calculées par l'optimiseur.
On peut aussi utiliser ces colonnes à l'envers. Si l'on saisit des proportions, par exemple
correspondant à un portefeuille existant, on obtient le calcul du rendement et de la variance
attendues de ce portefeuille et l'on peut voir sur le graphique où il se situe par rapport à la
frontière efficiente.
Colonne D : "R annuel"
Cette colonne contient les rendements annuels espérés pour chaque valeur. Elle est utilisée comme
entrée par l'optimiseur. Vous pouvez soit la remplir manuellement en indiquant pour chaque valeur
le rendement annuel attendu (1 = 100%), soit la faire pointer sur la colonne "R Histo" qui contient
le rendement annuel constaté pour chaque valeur.
Colonne E : "Volatilité"
Cette colonne contient les volatilités annuelles espérées pour chaque valeur. Elle est utilisée
comme entrée par l'optimiseur. Vous pouvez soit la remplir manuellement en indiquant pour chaque
valeur la volatilité annuelle attendue (1=100%), soit la faire pointer sur la colonne "Vol Histo"
qui contient la volatilité mensuelle constatée pour chaque valeur.
Colonne F : "Bêta"
Cette colonne n'est pas utilisée pour les calculs. Elle indique, pour information, le bêta de
chaque valeur par rapport au CAC40.
Colonne G : "R Histo"
Cette colonne contient les rendements historiques constatés des différentes valeurs. Ils sont
calculés sur la feuille "Données" et repris ici. Cette colonne ne doit pas être modifiée (cela
ne servirait à rien puisqu'on peut modifier la colonne D à la place, ou faire pointer la colonne D
sur la colonne I, ce qui évite de perdre les saisies lorsque l'on souhaite revenir aux rendements
historiques).
Colonne H : "Vol Histo"
Cette colonne contient les volatilités historiques constatées des différentes valeurs. Elles sont
calculées sur la feuille "Données" et reprises ici. Cette colonne ne doit pas être modifiée (cela
ne servirait à rien puisqu'on peut modifier la colonne E à la place ou faire pointer la colonne E
sur la colonne J, ce qui évite de perdre les saisies lorsque l'on souhaite revenir aux volatilités
historiques).
Colonne I :
Cette colonne est destinée à contenir les rendements de chaque valeur dans le cas où l'on ne souhaite
pas utiliser les rendements historiques. Vous pouvez donc saisir ici les rendements espérés de chaque
valeur puis faire pointer la colonne D sur cette colonne.
Colonne J :
Cette colonne est destinée à contenir les volatilités de chaque valeur dans le cas où l'on ne souhaite
pas utiliser les volatilités historiques. Vous pouvez donc saisir ici les volatilités attendues de chaque
valeur puis faire pointer la colonne E sur cette colonne.
ATTENTION : la matrice de variance/covariance n'est pas modifiée pour autant et reste basée sur les
données historiques.
Colonne K : "FE R Histo"
Cette colonne contient les rendements historiques pour le tracé de la frontière efficiente
historique. Elle correspond à un portefeuille constitué des valeurs du CAC40 sans celles
disposant d'un historique de cours insuffisant (valeurs sur fond rouge).
Si vous souhaitez disposer d'une autre référence, vous pouvez modifier ces données, en y recopiant
par exemple le contenu de la colonne 'M', après avoir effectué un calcul de frontière efficiente
sur un ensemble de titres.
Colonne L : "FE V Histo"
Cette colonne contient les volatilités historiques pour le tracé de la frontière efficiente
historique. Elle correspond à un portefeuille constitué des valeurs du CAC40 sans celles
disposant d'un historique de cours insuffisant (valeurs sur fond rouge).
Si vous souhaitez disposer d'une autre référence, vous pouvez modifier ces données, en y recopiant
par exemple le contenu de la colonne 'N', après avoir effectué un calcul de frontière efficiente
sur un ensemble de titres.
Colonne M : "Rendements"
Cette colonne contient la liste des rendements pour lesquels un portefeuille optimisé sera
calculé, lorsque vous cliquerez sur le bouton "Tracer la frontière efficiente". Si vous souhaitez
raccourcir les temps de calcul, vous pouvez changer le nombre de rendements, augmenter l'écart
entre ceux-ci ou vous arrêter avant les 45% actuels (bien trop optimistes !).
Note : il serait possible simplement d'indiquer uniquement la valeur de début, celle de fin et
celle de l'incrément et de modifier la macro TracerFrontiereEfficiente() en conséquence, mais le
résultat serait le même. D'autant que la macro s'arrête lorsqu'elle trouve deux rendements
successifs identiques. Si cela se produit, cela veut dire qu'il est impossible d'obtenir le
rendement souhaité avec les titres sélectionnés et les contraintes exprimées.
Colonnes N et O :"Pour optimiseur et calcul frontière efficiente"
Ces colonnes sont remplies par la macro de calcul de la frontiére efficiente. Pour chaque
rendement de la colonne L, l'optimiseur essaiera de composer un portefeuille constitué des valeurs
sélectionnées (colonne A) en minimisant sa variance (volatilité). Le rendement et la variance du
portefeuille calculé sont recopiées par la macro respectivement dans les colonnes M et N.
Le contenu des colonnes M et N est utilisé dans le graphique, c'est la courbe bleue foncé
intitulée "FE calculée".
Vous pouvez calculer le portefeuille optimal, soit en cherchant le portefeuille présentant le risque attendu le plus faible pour un rendement donné, soit en cherchant le portefeuille présentant le rendement espéré le plus élevé pour un risque donné.
Pour ce faire, vous devez :
Le solveur sera alors programmé et lancé. Après une période de calculs vous pourrez consulter les proportions de valeurs qu'il aura sélectionnées (colonne C), ainsi que le rendement et l'écart-type annuel espérés pour le portefeuille.
Vous pouvez exprimer des contraintes sur la composition du portefeuille en les indiquant dans les cellules E55 et E56. Elles permettent de forcer la proportion de chaque valeur à respecter un minimum et un maximum fixés. Pour forcer par exemple l'optimiseur à retenir entre 2% et 15% de chaque valeur dans les portefeuilles évalués, saisissez 0,02 comme minimum et 0,15 comme maximum.
Les différentes combinaisons de valeurs composant un portefeuilles sont en nombre fini, chaque combinaison permettant d'obtenir un couple (rendement,risque) particulier. Si l'on pointe sur un graphique tous les couples (rendement,risque) obtenus avec un univers de titres donnés, on s'aperçoit qu'ils ne sont pas répartis dans l'espace de manière aléatoire. Les portefeuilles optimisés se trouvent sur la frontière efficiente.
Vous pouvez tracer la frontiére efficiente d'un univers de portefeuilles composés des valeurs que vous avez choisi et respectants les contraintes que vous avez exprimé en cliquant sur le bouton "Tracer la frontière efficiente". Attention, le calcul peut être assez long.
Pour ceux qui souhaitent voir les macros sans télécharger la feuille Excel, ou qui ne disposent pas d'Excel pour les lire, la page suivante propose les les sources des macros.
RAPPEL suite aux multiples mails reçus: le solveur bien que fourni systématiquement avec Excel est désactivé par défaut. Pour faire fonctionner l'optimisation, VOUS DEVEZ ACTIVER LE SOLVEUR !
Si l'optimisation ne fonctionne pas et que vous obtenez des messages d'erreur du type "Erreur de compilation ou bibliothèque introuvable", vérifiez que le solveur est bien installé et fonctionne correctement à l'aide de la procédure décrite dans les parties "Activation du solveur" et "Utilisation du solveur" de la page Optimisation, principes et pratique.
Et si vous obtenez toujours un message d'erreur lors du lancement des macros bien que le solveur fonctionne en mode interactif, contrôlez le fait que les références au solver pour VBA soient correctes en suivant les étapes décrites ci-dessous car il arrive qu'après des mises à jour d'Excel, les références pointent vers une version de fichier solver supprimée.
Vous avez ce message d'erreur ou un équivalent lors de l'exécution d'une macro du classeur Optimisation, par exemple lorsque vous essayez de générer la matrice de variances/covariances :
Cliquez sur le bouton "OK", puis arrêtez l'exécution de la macro en cliquant sur le bouton d'arrêt de l'éditeur de macros (bouton bleu carré intitulé "Réinitialiser" :
Ensuite choisissez l'entrée "Références" du menu "Outils" :
Et vérifiez que vous avez bien une ligne cochée "MANQUANT : SOLVER.XLA" :
Décochez cette ligne, puis cochez la ligne "Solver" qui doit se trouver un peu plus bas :
Cliquez sur le bouton "OK", puis relancez la macro, tout devrait fonctionner correctement !
Après, après ? He bien, il faudrait s'attaquer au problème de l'instabilité des variances/covariances et à l'amélioration
des prévisions de rendement. Mais ce n'est pas une mince affaire !
Concernant les variances/covariances, il existe des pistes, concernant les rendements, c'est beaucoup plus délicat.
Au préalable, il peut être intéressant de poursuivre un peu sur le chemin de la théorie en voyant comment il est possible d'obtenir un portefeuille situé dans le coin supérieur gauche ou supérieur droit du graphique, c'est à dire au-delà de la frontiere efficiente. Si, si, c'est possible ! Il sera toujours temps ensuite de revenir sur les problèmes plus ardus nécessitant une boule de cristal.
Vous pouvez donc poursuivre via la page le levier et l'optimisation de portefeuille.
Retour au début de la page Retour au sommaire de l'optimisation Retour au sommaire du site
Rubriques
Meilleurs courtiers en Bourse
Meilleurs PEA
Toutes les données du CAC40
Livres finance et Bourse
Newsletter
Pour recevoir nos derniers articles, détachements de dividendes et offres de placements :
Nous contacter ou nous suivre sur les réseaux
Site hébergé par OVH - 2 rue Kellermann - 59100 Roubaix - France - Tel : 09 72 10 10 10