![]() |
||
Optimisation de portefeuilleLe classeur "Optimisation.xls" |
| Cinq valeurs, un univers de portefeuilles | ||
| La frontière efficiente | ||
| Le principe | ||
| Optimisation : la pratique | ||
| Activation du solveur | ||
| Utilisation du solveur | ||
| <== Vous êtes ici | ||
| Avertissement important | ||
| Let's go on... | ||
| Feuille "Données" | ||
| Feuille "VarCovar" | ||
| Feuille "Portefeuille" | ||
| Utilisation du classeur | ||
| Optimisation d'un portefeuille | ||
| Calcul et affichage de la frontiere efficiente | ||
| Les macros | ||
| Création de la matrice de variances/covariances | ||
| Optimisation d'un portefeuille | ||
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à. [...] 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). |
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 it [...] |
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.
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.
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.
Donc, prochainement sur vos écrans : comment construire un portefeuille au-delà de la frontière efficiente !
Si vous brûlez de le savoir avant que j'ai eu le temps de rédiger les pages suivantes, vous pouvez vous reporter aux
ouvrages suivants :
Exercices de théorie financière et de gestion de portefeuille
Gestion de portefeuille
La théorie moderne du portefeuille
Marchés Financiers - Gestion de portefeuille et des risques
Principes de Finance Moderne
Et si vous avez déjà lu les précédents, vous pouvez aller plus loin avec :
La Nouvelle Finance et la Gestion des Portefeuilles
The New Finance
Vous avez des questions ? Des remarques ? Des félicitations ou des reproches ? Laissez un message dans un des forums mis à votre disposition. Tout le monde pourra ainsi en profiter.
Retour au début de la page
Retour au sommaire de l'optimisation
Retour au sommaire du site