Communauté des investisseurs heureux (depuis 2010)
Echanges courtois, réfléchis, sans jugement moral, sur l’investissement patrimonial pour devenir rentier, s'enrichir et l’optimisation de patrimoine
Vous n'êtes pas identifié : inscrivez-vous pour échanger et participer aux discussions de notre communauté !
Prosper Conseil (partenariat) : optimisation patrimoniale et fiscale sans rétro-commission en cliquant ici.
1 18 #1 09/01/2020 15h23
- LeWiZ
- Membre (2014)
Top 50 Finance/Économie - Réputation : 30
Bonjour,
Comme mentionné dans ma présentation, je me lance pour détailler l’approche que j’utilise pour calculer la répartition cible des ETF de mon portefeuille via une optimisation linéaire.
Cette approche vous semblera certainement inutilement compliquée. Et je suis d’accord ! Mais ça m’amuse : j’espère mon enthousiasme geek / matheux sera un peu partagé :-). Veuillez m’excuser d’avance pour la longueur de ce post.
L’objectif est le suivant : déterminer mathématiquement l’allocation se rapprochant le plus possible d’une cible donnée tout en minimisant les frais.
Dans mon cas, je souhaitais déterminer l’allocation d’ETF éligibles PEA permettant d’approcher le plus possible l’indice MSCI ACWI IMI tout en minimisant les frais.
Spoiler : le résultat de l’optimisation que j’utilise dans mon portefeuille me rapproche avec une "erreur résiduelle de 17 %" (cf. ci-dessous l’explication de cette distance) du MSCI ACWI IMI pour 0,16 % de frais annuels, via un portefeuille de 7 ETF. C’est quand même 2 fois moins cher qu’un ETF MSCI World.
La démarche s’applique bien entendu quelle que soit la cible et le périmètre d’investissement qu’on se donne.
Modélisation d’un portefeuille
Je modélise un portefeuille comme un vecteur dans un espace des supports d’investissements.
Par exemple, pour mon optimisation vers le MSCI ACWI IMI, je me suis constitué une short-list de 13 ETF éligibles PEA couvrant diverses zones géographiques et diverses tailles de capitalisation. Un portefeuille est alors représenté comme un vecteur à 13 dimensions, où chaque composante est comprise entre 0 et 1 (le pourcentage d’allocation sur chaque ETF) et où la somme des composantes fait 1.
Remarquez que je n’utilise à aucun moment la valorisation "en euros" du portefeuille, puisque seule m’intéresse sa répartition au sein des différents supports d’investissement.
Modélisation des objectifs
Comme le suggère la formulation de l’objectif ci-dessus, le résultat de l’optimisation est nécessairement un compromis entre deux sous-objectifs :
- la minimisation de la "distance" entre le portefeuille et la cible
- la minimisation de coûts
Il convient tout d’abord de modéliser ces deux sous-objectifs.
Objectif de distance
La mesure d’une distance entre deux allocations dépend bien-entendu de l’univers d’investissement qu’on manipule. Dans mon cas, s’agissant d’ETF visant à répliquer un indice monde, j’ai choisi de mesurer cette distance en projetant les allocations sur un espace produit géographie - taille.
Concrètement, je découpe arbitrairement le monde en 7 plaques géographiques :
- Etats-Unis
- Europe (marchés développés) hors France
- France
- Japon
- Autres marchés développés (Canada, Australie, Hong Kong, etc.)
- Marchés émergents Asie
- Marchés émergents hors Asie
Puis je subdivise chaque plaque géographique selon les 3 tailles utilisées par les indices MSCI
- Large cap
- Mid cap
- Small cap
Ce découpage est arbitraire. Et il impacte fortement le résultat de l’optimisation. Mais il n’y a pas à mon sens de découpage canonique : il faut donc faire un choix. Voici les raisons qui m’ont poussé à choisir celui-ci :
- une large proportion des ETF suivent les indices MSCI : il est donc plus facile de les assembler si on reste dans le paradigme MSCI (notamment le facteur taille)
- ce découpage géographique correspond de manière à peine simplifiée aux périmètres géographiques disponibles à l’investissement via des ETF éligibles PEA
- j’ai choisi d’isoler la France en faisant l’hypothèse que des ETF à très bas coût pouvaient un jour être émis par Amundi / Lyxor et qu’il pouvait donc être intéressant d’en faire un cas à part. Ce n’est hélas pas (encore) le cas.
Les 7 plaques géographiques croisées avec les 3 tailles font donc 21 poches d’investissements.
Je modélise alors une allocation comme sa répartition au sein des 21 poches. Par exemple, un ETF suivant l’indice Russell 2000 aurait 100 % dans la poche Etats-Unis - Small et 0 % dans les autres. Un ETF suivant l’indice MSCI France aurait (données MSCI au moment où j’écris ces lignes) 82 % en France - Large et 18 % en France - Mid.
On peut alors représenter une allocation comme un vecteur dans un espace à 21 dimensions, dont chaque composante est comprise entre 0 et 1 et dont la somme des composantes fait exactement 1.
Je définis alors la distance entre deux portefeuille comme la distance L1 entre les deux projections sur l’espace géographie - taille. La distance L1, c’est la somme des valeurs absolues des écarts. Autrement dit, pour deux "vecteurs allocations" a1 et a2 :
distance = |a1 - a2| = sum(|a1_i - a2_i|)
Je note ici a1_i et a2_i les composantes respectives des allocations a1 et a2 pour l’indice i.
Ainsi, quand dans mon spoiler ci-dessus je disais que le résultat de l’optimisation s’approchait du MSCI ACWI IMI avec une erreur résiduelle de 17 %, cela voulait dire qu’après projection du MSCI ACWI IMI et du résultat de l’optimisation dans les 21 poches, la somme des valeurs absolues des différences de % de répartition était d’environ 17 %.
Remarque 1 : les matheux me diront qu’il y a d’autres façons de mesurer la distance, notamment la norme L2 (racine carrée de la somme des carrés des écarts) qui est plus courante dans les exercices d’optimisation. C’est vrai, mais la norme L1 présente des avantages intéressants que je détaille ci-dessous.
Remarque 2 : je regarde uniquement la répartition des ETF ou des allocations dans mes 21 poches, mais pas le taux de couverture de la poche en question. C’est une faiblesse du modèle. En effet, un ETF qui par exemple ne suivrait que les 50 plus petites capitalisations boursières du S&P 500 serait ici catégorisée à 100 % dans Etats-Unis - Large. Mais il serait bien entendu loin de couvrir l’intégralité des grandes capitalisation américaines.
Si je me dote d’une matrice "A" d’allocation de mes supports d’investissement (dans mon exemple, 13 colonnes correspondant à ma short-list d’ETF et 21 lignes correspondant à mes poches) avec dans chaque "case" la part de la poche pour le support d’investissement correspondant, alors je peux calculer l’allocation d’un portefeuille à l’aide d’un produit matriciel :
a = A p
Avec "p" mon vecteur portefeuille à 13 dimensions et "a" l’allocation résultante à 21 dimensions.
C’est une manière de dire que l’allocation d’un portefeuille est la somme pondérée de l’allocation des supports d’investissement qui la compose.
Si je note "c" l’allocation cible (dans mon cas, le MSCI ACWI IMI), la distance géographique d’un portefeuille "p" avec la cible est donnée par :
distance = |A p - c|
Objectif de coûts
Je modélise le coût d’un portefeuille comme un taux fixe annuel, à l’image des frais d’un ETF.
Si je note "f" le "vecteur frais" correspondant à mon espace de supports d’investissements (dans mon cas, les 13 taux de frais annuels correspondant à mes 13 ETF short-listés), alors le taux de frais d’un portefeuille "p" sera donné par :
frais récurrents = p . f
Le "." signifie ici le produit scalaire, c’est-à-dire la somme des produits terme à terme.
Je ne l’ai pas fait chez moi, mais on pourrait tout à faire tenir compte des tracking differences de la même manière, par exemple en créant un "vecteur frais corrigé" dans lequel la tracking difference est ajouté aux frais annuels, en positif ou en négatif. On peut de la même manière y ajouter les éventuels frais récurrents liés à la détention de supports d’investissement hors Euronext (comme chez Bourse Direct).
Je souhaite également tenir compte dans mon modèle des frais de transaction. Pourquoi ? Parce que je sais que ma short-list d’ETF pourra être amenée à évoluer, par exemple suite à l’introduction d’un nouvel ETF à prix compétitif, ou alors suite à la suppression d’un ETF par un émetteur. Je souhaite tenir compte des éventuels compromis à faire entre basculer vers un nouvel ETF moins cher et les coûts de transactions que cela représenterait.
Je modélise les frais de transaction comme un taux fixe sur le volume total échangé. C’est le cas pour la plupart des courtiers si on dépasse certain montant, par exemple 0,09 % chez Bourse Direct au dessus de 4400 €. Supposons pour simplifier que toutes les transactions respectent ce minimum et se font donc à frais de transaction unique.
Notons "t" ce taux des frais de transactions. Passer d’un portefeuille "p0" à un portefeuille "p" implique alors les frais de transaction suivants :
frais transaction = t|p0 - p|
Mais comment rapprocher des frais de transactions ponctuels à des frais récurrents ? En introduisant une hypothèse de temps de retour sur investissement.
Je décide arbitrairement que les frais de transactions peuvent être compensés par un certain nombre d’années de gains sur les frais récurrents. J’appelle "tri" ce nombre d’années. Chez moi, j’utilise "tri" = 3 ans.
On peut alors rassembler dans une même formule l’ensemble des frais :
frais = p . f + (t / tri) |p - p0|
Avec "f" le vecteur frais récurrents, "t" les frais de transactions, "tri" le temps de retour sur investissement, "p0" le portefeuille actuel et "p" le portefeuille cible.
Combinaison des objectifs
Maintenant que les 2 sous-objectifs sont modélisés, il faut les combiner pour former un objectif global qui fera l’objet de l’optimisation. Ceci est fait en introduisant un paramètre de poids relatif de l’objectif de coûts par rapport à l’objectif de distance, que j’appelle "alpha" :
objectif = distance + alpha . frais
Plus "alpha" est grand, plus la réduction des frais sera prioritaire par rapport à la proximité avec l’allocation cible.
Si je développe à présent les deux sous-objectifs :
objectif = |A p - c| + alpha (p . f + (t / tri) |p - p0|)
Autrement dit, connaissant :
- "A" : l’allocation de mes différents supports d’investissements
- "c" : l’allocation cible que je souhaite atteindre
- "alpha" : l’importance de réduire les frais par rapport à l’importance de me rapprocher de mon allocation cible
- "f" : les frais récurrents de mes supports d’investissement
- "t" : mes frais de transaction
- "tri" : le temps de retour sur investissement souhaité des frais de transaction
- "p0" : mon portefeuille actuel avant optimisation
Je souhaite déterminer le portefeuille "p" qui minimise la fonction d’objectif.
Optimisation
Le vecteur "p" recherché doit bien entendu respecter des conditions pour être admissible comme un portefeuille : avoir des composantes entre 0 et 1 et exactement 1 comme somme des composantes.
On cherche donc à résoudre le système :
Trouver (p) qui minimise |A p - c| + alpha (p . f + (t / tri) |p - p0|)
Avec les contraintes 0 <= p <= 1 et sum(p_i) = 1
Comment résoudre un tel système ? La bonne nouvelle, c’est qu’il est résoluble de manière exacte à l’aide d’un algorithme d’optimisation linéaire, par exemple via l’algorithme du simplexe (Algorithme du simplexe ? Wikipédia)
Remarque 1 : certains me diront à juste titre que ma fonction d’optimisation n’a rien de linéaire en raison des valeurs absolues. Il est néanmoins possible de se ramener à un système linéaire en introduisant des variables auxiliaires. Minimiser |a| revient à minimiser b en ajoutant les deux contraintes a <= b et -a <= b. On peut ainsi transformer le système en :
Trouver (p, X, Y) qui minimise X + alpha (p . f + (t / tri) Y)
Avec les contraintes :
0 <= p <= 1
sum(p_i) = 1
-X <= A p - c<= X
-Y <= p - p0 <= Y
Ce système a la même solution "p" que le système précédent (si elle existe), et a le bon goût d’être linéaire.
Remarque 2 : si on utilise la norme L2 (racine carrée de la somme des carrés écarts, ou plus simplement somme des carrés des écarts) pour mesurer la distance au lieu de la norme L1 (somme des valeurs absolues des écarts), le système n’est plus linéaire mais il reste résoluble à l’aide d’algorithmes d’optimisation SDP (Optimisation SDP ? Wikipédia).
Remarque 3 : l’autre avantage de la norme L1, c’est que la solution est stable par rapport à de petites variations du paramètre "alpha". Ceci est expliqué par le fait que sauf cas particulier, la solution du système se trouve sur un sommet du simplexe, qui ne bouge pas suite à de petites variations de "alpha". En effet, le paramètre "alpha" n’est pas utilisé dans les contraintes du systèmes (les inégalités). Ceci a pour conséquence que le nombre de solutions distinctes du système est fini si on balaye toutes les valeurs possibles pour "alpha", en ignorant les valeurs très particulières de "alpha" pour lesquelles on se trouve sur une arête du simplexe. On peut construire du coup un joli graphique (cf. ci-dessous).
Résultats
Univers d’investissement
J’ai utilisé comme univers de supports d’investissements les 13 ETF suivants, short-listés sur la base de leur éligibilité PEA, de leur frais et éventuellement de leur encours. Je n’ai pas regardé leur tracking difference, cf. ma présentation, ce sera une prochaine étape. Je fais donc l’hypothèse abusive que ces ETF suivent parfaitement leurs indices :
- Amundi ETF Euro STOXX Small Cap
- Amundi ETF PEA MSCI Emerging Markets
- Amundi ETF PEA MSCI Europe
- Amundi MSCI World
- Amundi Russell 2000
- Amundi ETF PEA S&P 500
- Lyxor Core Euro STOXX 50
- Lyxor MSCI EMU Small Cap
- BNP Paribas EASY STOXX Europe 600
- BNP Paribas EASY MSCI Europe Small Caps Ex CW
- Amundi ETF PEA Japan TOPIX
- Amundi ETF MSCI France
- Lyxor Core Euro STOXX 300
Il y aurait certainement tout un tas de commentaires à faire sur cette sélection arbitraire. Vous remarquerez notamment que le découpage spécifique de la France et des marchés émergents Asie dans mes 7 géographies est inutile avec cette sélection. Il existe bien un ETF Emerging Asia éligible PEA chez Amundi, mais comme il est au même prix que l’ETF "tout emerging", il n’y pas d’intérêt à le shortlister ici.
Solutions
J’ai représenté l’ensemble des optimums dans le graphique suivant :
J’ai construit ce graphique fin novembre 2019. Comme c’est assez fastidieux, je ne l’ai pas (encore) mis à jour avec les dernières valeurs des indices. Mais les poids relatifs des différentes composantes n’a pas dû trop changer.
Les portefeuilles sont représentés par les colonnes. L’axe horizontal représente les différentes solutions obtenues en faisant varier le paramètre "alpha", c’est à dire l’importance de la proximité avec la cible MSCI ACWI IMI par rapport à l’importance des frais.
Le portefeuille A, tout à gauche, est celui qui s’approche le plus de la cible (6 % de distance L1), mais présente des frais annuels de 0,35 %. C’est tout de même déjà inférieur aux frais d’un unique ETF World.
Le portefeuille H, tout à droite, représente le portefeuille le moins cher, en ne donnant plus aucune importance à la cible MSCI ACWI IMI. Comme on peut s’y attendre, l’optimum est dans ce cas simplement 100 % de l’ETF le moins cher de ma shortlist, en l’occurrence MFED à 0,07 % de frais annuels.
J’ai choisi de mon côté de suivre le portefeuille C, qui me semblait représenter un bon compromis.
Implémentation en pratique
J’ai implémenté l’optimisation à l’aide du module d’optimisation linéaire de Google, disponible en extension Google Spreadsheet (Linear Optimization Add-on for Google Sheets | OR-Tools)
La principale raison de ce choix est que je faisais déjà le suivi de mon portefeuille sur Google Spreadsheet, et cela me permettait donc d’y adjoindre cette optimisation de manière intégrée. Mais il est tout à fait possible (et peut-être plus simple) de le faire en Python à l’aide d’un package d’optimisation mathématique. Il existe des packages qui peuvent gérer directement la fonction d’objectif sans besoin de la transformer (ex : Home — CVXOPT)
Une des difficultés que j’ai rencontré dans l’exercice est de constituer la matrice "A", c’est à dire de projeter l’ensemble des vecteurs d’investissement (chez moi les ETF éligibles PEA) dans les poches (chez moi le croisement géographie - taille). J’ai pour cela développé un petit script de scrapping des données de clôture des indices MSCI, que j’utilise à la fois pour alimenter mon allocation cible (MSCI ACWI IMI) et l’allocation des différents ETF short-listés. Lorsque ces ETF suivent un indice non-MSCI, j’essaye de déterminer leur allocation selon mon découpage en analysant leur factsheets (market cap, taille du plus grand / plus petit composant, etc.).
Je vous aurais bien partagé directement le spreadsheet, mais il est non seulement complètement indigeste et pas autoporteur pour un sou, mais aussi totalement imbriqué avec mon suivi de portefeuille personnel…
Au plaisir d’échanger avec vous sur cette démarche !
LeWiZ
Dernière modification par LeWiZ (09/01/2020 15h38)
Mots-clés : etf, optimisation, portefeuille, simplexe
Hors ligne
1 1 #2 10/01/2020 00h08
- ArnvaldIngofson
- Membre (2016)
Top 10 Année 2024
Top 20 Année 2023
Top 20 Année 2022
Top 10 Portefeuille
Top 50 Expatriation
Top 50 Banque/Fiscalité
Top 5 SIIC/REIT
Top 10 SCPI/OPCI - Réputation : 994
Hall of Fame
Bel effort !
Même si ça ne passionne pas les foules …
J’ai bien aimé parce que ça m’a rappelé un souvenir d’étudiant.
Dans mon école d’ingénieurs, le cours en ampli sur l’algorithme du simplexe était réputé comme un grand moment à vivre par tous, même ceux comme moi qui allaient très peu aux amphis (pas réveillé le matin, tennis l’après-midi).
En effet le professeur de calcul numérique était sans doute fort dans son domaine, mais nul en pédagogie. Il utilisait des notations étranges et se perdait lui-même. Il écrivait sur plusieurs tableaux et ne savait plus où il avait écrit ses résultats partiels. Avec le simplexe ça devenait du grand théâtre. Après 1/4 d’heure plus personne ne suivait.
Il fallait voir aussi la tête des "polars". Les polars sont ceux qui travaillaient beaucoup. Ce qui est inutile dans une école sans classement de sortie ; il suffit d’avoir la moyenne générale ce qui demande peu d’investissement scolaire mais permet de s’investir dans d’autres domaines. Les polars vont à tous les amphis au premier rang et habituellement boivent les paroles du prof. Là même eux étaient largués et en panique.
Tout cela était très drôle.
40 ans après je m’en souviens encore (de l’ambiance, pas du contenu du cours).
Pour en revenir à l’objectif "déterminer mathématiquement l’allocation se rapprochant le plus possible d’une cible donnée tout en minimisant les frais", il faut voir que c’est une optimisation de second ordre.
L’optimisation de premier ordre est de passer des OPCVM et leurs frais dans les 2 % aux ETF à 0,x %.
Après on peut encore gagner 0,2 ou 0,3 % avec des ETF ayant les frais les plus faibles. Mais pour que l’économie soit significative il faut un portefeuille d’un montant important (disons à 6 chiffres).
Je suis surpris que vous n’ayez pas d’optimum reflétant parfaitement l’indice MSCI ACWI IMI.
Si on se réfère au célèbre schéma de fructif :
ça doit être possible avec 4 ETF : une majorité de World, un peu d’émergents et de small US, une dose homéopathique de small Europe.
Les ETF World éligible PEA ayant des frais élevés, supérieurs à ceux plus spécialisés (US notamment), l’optimisation des coûts est de remplacer le world par ces composants, au risque de s’éloigner si on fait l’impasse sur les "autres".
Dans votre liste d’ETF, il n’y a pas d’ETF Royaume-Uni (UK).
On devrait donc utiliser un ETF Europe, qui regroupe les pays de la zone Euro et hors zone (UK, Suisse, etc.). Ces ETF sont souvent basés sur l’indice EuroStoxx 600.
En revanche, l’indice EuroStoxx 300 est uniquement sur la zone Euro.
Je suis surpris que vous ayez un optimum avec l’indice EuroStoxx 300 et pas EuroStoxx 600. En faisant l’impasse sur le Royaume-Uni on doit s’éloigner de la cible.
En PEA on est obligé de faire l’impasse sur d’autres pays, principalement Canada, Australie et Hong-Kong.
Les 1 ou 2 % d’ETF small Europe ne sont, en pratique et à des coûts de transactions acceptables, adaptés qu’à un portefeuille d’un montant important.
Avec un ETF EESM d’une valeur liquidative de 259 €, il faudrait pour acheter une part 1 % d’un versement de 25 900 €.
Donc en général on oublie small Europe, et ça ne doit pas beaucoup dévier de la cible.
Compte tenu des performances boursières du Japon sur des décennies, on fuit souvent le Japon (comme Carlos …).
On pourrait se poser la question de Royaume-Uni dans le contexte du BrExit.
Ne pas oublier que l’objectif d’un portefeuille n’est pas d’optimiser une fonction mathématique mais de gagner de l’argent …
Une bonne allocation d’actifs l’emporte sans doute sur une optimisation des coûts.
Dif tor heh smusma
Hors ligne
#3 10/01/2020 09h39
- LeWiZ
- Membre (2014)
Top 50 Finance/Économie - Réputation : 30
Bonjour ArnvaldIngofson,
ArnvaldIngofson a écrit :
Bel effort !
Même si ça ne passionne pas les foules …
Merci ! Effectivement, je me doutais que le côté mathémaniaque de la démarche allait susciter un peu de perplexité.
ArnvaldIngofson a écrit :
Pour en revenir à l’objectif "déterminer mathématiquement l’allocation se rapprochant le plus possible d’une cible donnée tout en minimisant les frais", il faut voir que c’est une optimisation de second ordre.
L’optimisation de premier ordre est de passer des OPCVM et leurs frais dans les 2 % aux ETF à 0,x %.
Après on peut encore gagner 0,2 ou 0,3 % avec des ETF ayant les frais les plus faibles. Mais pour que l’économie soit significative il faut un portefeuille d’un montant important (disons à 6 chiffres).
Je suis tout à fait d’accord avec vous ! Passer d’un fond actif à un ETF dans l’enveloppe fiscale qui va bien est la première chose à faire avant de se soucier du détail de l’allocation.
ArnvaldIngofson a écrit :
Je suis surpris que vous n’ayez pas d’optimum reflétant parfaitement l’indice MSCI ACWI IMI.
La raison est qu’il existe plusieurs marchés couverts par le MSCI ACWI IMI qui sont à ma connaissance impossibles à atteindre via des ETF éligibles PEA, notamment :
- Les small caps des pays développés hors Europe / USA / Japon
- Les small caps des pays émergents
Ceci explique les 6 % d’écart minimum mesurés sur mon portefeuille A. Il s’agit d’ailleurs un peu d’une "double punition", car il y a dans cet écart à la fois l’absence des marchés ci-dessus et la surpondération nécessaire des autres marchés pour arriver à une total investi de 100 %.
Remarquez que le marché small caps Japon est accessible via les ETF qui suivent le TOPIX, car cet indice a une couverture très large du marché japonais ; il est quasiment équivalent à un MSCI Japan IMI. Ceci explique sa présence dans le portefeuille A, alors que les large/mid caps du Japon sont déjà couvertes par l’ETF MSCI World.
Si on enlève la contrainte d’éligibilité PEA, il devient possible de suivre "exactement" le MSCI ACWI IMI à moindre frais (en ignorant encore une fois toute tracking difference), par exemple via les 3 ETF suivants :
- LCWD (Lyxor Core MSCI World)
- EMIM (iShares Core MSCI EM IMI)
- WSML (iShares MSCI World Small Cap)
ArnvaldIngofson a écrit :
Dans votre liste d’ETF, il n’y a pas d’ETF Royaume-Uni (UK).
Je n’ai en effet pas fait de cas particulier UK. Ceci a pour conséquence que mon modèle ne pénalise pas les ETF EuroSTOXX (300/600) vis-à-vis de l’absence du marché UK. Il y a bien dans ma shortlist l’ETF BNP Paribas Easy STOXX Europe 600 (ETZ) qui le couvre à 0,20 % de frais, mais il n’a pas été retenu par l’optimisation. Je l’explique par la présence de MFED (ETF EuroSTOXX 300) qui est très peu cher à seulement 0,07 %.
Mais du coup, je masque effectivement une partie du marché UK.
ArnvaldIngofson a écrit :
Compte tenu des performances boursières du Japon sur des décennies, on fuit souvent le Japon (comme Carlos …).
On pourrait se poser la question de Royaume-Uni dans le contexte du BrExit.
Ne pas oublier que l’objectif d’un portefeuille n’est pas d’optimiser une fonction mathématique mais de gagner de l’argent …
Une bonne allocation d’actifs l’emporte sans doute sur une optimisation des coûts.
C’est l’éternel débat !
J’ai choisi de suivre le MSCI ACWI IMI justement pour couvrir le plus fidèlement le marché sans avoir à me préoccuper ni faire de choix sur les prix / l’actualité / l’avenir de tel ou tel segment de marché.
Disons que je ne suis pas tant adepte du "lazy investing" que du "hypothesis-free investing". Suivre le MSCI ACWI IMI est une hypothèse en soi, mais je considère que c’est la plus modeste.
Dernière modification par LeWiZ (10/01/2020 11h40)
Hors ligne
#4 10/01/2020 17h58
- PointsLignesPoints
- Membre (2019)
- Réputation : 6
File très intéressante !
C’est beaucoup plus détaillé que le raisonnement que j’ai essayé de suivre lorsque j’ai voulu répliqué l’indice MSCI World IMI (Portefeuille d’actions de PointsLignesPoints)
Je ne suis pas capable de suivre les calculs mathématiques, par contre, il y a quelque chose qui m’interpelle.
Lorsque vous dites que :
Je modélise les frais de transaction comme un taux fixe sur le volume total échangé. C’est le cas pour la plupart des courtiers si on dépasse certain montant, par exemple 0,09 % chez Bourse Direct au dessus de 4400 €. a écrit :
Je décide arbitrairement que les frais de transactions peuvent être compensés par un certain nombre d’années de gains sur les frais récurrents. J’appelle "tri" ce nombre d’années. Chez moi, j’utilise "tri" = 3 ans. a écrit :
Dans les faits ça ne fonctionne pas aussi simplement.
Si vous voulez investir 2.4% dans le tracker EESM et ne payer que 0.9% de frais (donc investissement de 4400 euros minimum), il faut donc que votre portefeuille soit de 200 000 euros. Soit un portefeuille supérieur au PEA.
De plus, il n’y aura aucun lissage de cet investissement, les 4400 euros d’EESM seront investi en une seule fois et représenteront donc un pourcentage soit bien plus élevé si investi au départ, soit nul tant que l’investissement n’est pas effectué.
Je relève cela parce qu’après avoir suivit mon portefeuille pendant quelques mois, on se rend bien compte que les petites lignes représentent un coût assez élevé de transaction et pour optimiser les frais, je me rapproche de plus en plus d’une seule ligne d’ETF monde (CW8).
Est-ce qu’il ne serait pas possible de creuser mathématiquement plus finement c’est frais de transaction en faisant comme hypothèse pour les "petites lignes" d’un investissement par an sur 5 ans par exemple?
Je pense que cette simulation tendrait vers la solution A et que la conclusion serait tout autre. (Notamment de ce passer de l’ETF MSCI World de la solution C)
N’étant pas bon mathématicien, cela n’est que supposition et je serai ravi que LeWIZ se penche sur la question pour infirmer ou confirmer mon ressenti/expérience.
En ligne
#5 10/01/2020 18h11
- dangarcia
- Membre (2015)
Top 50 Portefeuille
Top 50 Dvpt perso.
Top 50 Expatriation
Top 50 Vivre rentier
Top 50 Invest. Exotiques
Top 20 Crypto-actifs
Top 20 Finance/Économie
Top 50 Immobilier locatif - Réputation : 599
Je salue à mon tour l’exercice intellectuel, qui me rappelle également des souvenirs d’étudiant et de début de carrière.
Pour ce qui est de l’application pratique,
ArnvaldIngofson a écrit :
Ne pas oublier que l’objectif d’un portefeuille n’est pas d’optimiser une fonction mathématique mais de gagner de l’argent …
Une bonne allocation d’actifs l’emporte sans doute sur une optimisation des coûts.
LeWiZ a écrit :
Ce découpage est arbitraire. Et il impacte fortement le résultat de l’optimisation.
L’allocation stratégique détermine 80% de la performance d’un portefeuille. L’allocation tactique à peine 20%. En pratique ça veut dire que l’éventuel gain de performance apporté par un modèle de ce type, aussi élaboré soit-il sur le plan mathématique, est certainement négligeable au regard du découpage arbitraire sur lequel il est basé.
Hors ligne
1 #6 12/01/2020 14h12
- LeWiZ
- Membre (2014)
Top 50 Finance/Économie - Réputation : 30
dangarcia a écrit :
L’allocation stratégique détermine 80% de la performance d’un portefeuille. L’allocation tactique à peine 20%. En pratique ça veut dire que l’éventuel gain de performance apporté par un modèle de ce type, aussi élaboré soit-il sur le plan mathématique, est certainement négligeable au regard du découpage arbitraire sur lequel il est basé.
Je suis entièrement d’accord avec vous sur l’importance première de l’allocation stratégique. J’ai cependant veillé à ne jamais parler de performance. Ayant focalisé mon message initial sur comment suivre le MSCI ACWI IMI à moindre frais, je n’ai pas expliqué pourquoi je le suivais.
En voici les 2 raisons :
- Je suis incapable de savoir si telle action ou même tel segment de marché va mieux performer qu’un autre. J’ai entre parenthèses la conviction que c’est pareil pour l’immense majorité des investisseurs, mais je suis déjà certain que c’est mon cas. Je souhaite donc idéalement acheter toutes les actions du monde, en proportion du free-float. C’est ce vers quoi tend le MSCI ACWI IMI. Je vois cela comme du "hypothesis-free investing". On y arrive certes déjà très bien, et de façon beaucoup moins compliquée, avec un unique ETF World. C’est juste que ça m’amuse d’aller plus loin.
- Un portefeuille en proportion du free-float est, au premier ordre, stable vis-à-vis des évolutions du marché. Les facteurs de divergence résiduelle sont les écarts de frais, les écarts de politique de versement de dividendes, les écarts de fiscalité, et les tracking differences. Mon PEA ayant atteint son maximum de versement, ceci me permet au moins en principe de minimiser les besoins de rebalancing et donc d’économiser sur les frais de transaction.
Je ne cherche ni n’attends aucun gain de performance en adoptant cette allocation. Et je pense qu’il n’y a aucune raison qu’il y en ait un. Remarquez qu’à aucun moment je n’utilise la performance des segments de marché dans les calculs. A la limite, on pourrait théoriquement attendre une moindre volatilité due à la diversification mais je ne suis même pas sûr que ce soit le cas ; les small caps ainsi que les émergents présentant historiquement une volatilité plus forte.
PointsLignesPoints a écrit :
Est-ce qu’il ne serait pas possible de creuser mathématiquement plus finement c’est frais de transaction en faisant comme hypothèse pour les "petites lignes" d’un investissement par an sur 5 ans par exemple?
D’un point du vue purement matheux, c’est possible.
Si les courtiers avaient structuré leur pricing uniquement sur la base d’un coût proportionnel aux volumes de transaction (et non en utilisant un prix fixe pour les faibles volumes), on aurait même pu rester dans une optimisation linéaire. Il suffirait que les frais soient affines par morceau et continus. Le problème c’est que les frais de transaction sont souvent des montants fixes qui varient par segment et de manière discontinue par tranche de montant des transactions.
Il reste possible de résoudre ce type de problème d’optimisation avec d’autres outils mathématiques. Mais on ne peut plus donner de résultat général, puisque ça dépend du montant investi.
En pratique, je ne recommande pas d’affiner le modèle ainsi.
L’objectif d’introduire des frais de transaction dans le modèle n’était pas de tenir compte des petites transactions vis-à-vis des plus grandes. L’objectif était de rationaliser les éventuels compromis à faire en cas d’évolution de la shortlist des ETF du modèle ; typiquement en cas de mise sur le marché d’un nouvel ETF à prix plus faible. Imaginons que demain un émetteur propose un ETF éligible PEA suivant le S&P 500 à seulement 0,12 % de frais annuels (vs. 0,15 % aujourd’hui). Est-il préférable de remplacer toute sa ligne S&P 500 par ce nouvel ETF ou d’économiser les frais de transaction induits ?
C’est ici qu’intervient le paramètre "tri" : on dit que le remplacement est rentable si les frais de transactions sont compensés par "tri" années d’économies sur les frais récurrents.
Les portefeuille optimaux obtenus en sortie de l’algorithme comportent des composantes dont la proportion est très réduite, par exemple 2,4 % de EESM pour les portefeuilles A à E. Pour de petits portefeuilles, cette composante peut représenter des frais de transactions élevés en proportion, et représenter un très faible nombre de part d’ETF. Ma préconisation serait plutôt d’ignorer la composante en attente d’un volume de portefeuille suffisant.
La démarche est selon moi la suivante :
1 - D’abord, être certain qu’on souhaite faire autre chose qu’un simple, unique ETF World.
C’est infiniment plus simple, plus pratique, plus pilotable que la démarche que je présente. Je pense qu’il ne faut pas se lancer dans une démarche qu’on ne parviendra pas à gérer dans la durée.
2 - Se construire une cible "idéale" vers laquelle on souhaite tendre.
Dans mon cas, il s’agit du portefeuille C.
3 - Suivre pour chaque composante l’écart en valeur entre son portefeuille actuel et le portefeuille cible
4 - Acheter les composantes seulement lorsqu’elles sont en écart suffisant avec la cible
Dans mon cas, 4400 € pour être dans la tranche de coût minimal de Bourse Direct. Même pour de petits portefeuilles, je pense que la règle n’est pas idiote : commencer par une allocation S&P 500 et Europe me semble tout à fait raisonnable si on souhaite faire moins cher qu’un unique ETF World. Les composantes plus petites pourront être achetées par la suite.
5 - Eviter autant que possible de vendre une composante surpondérée
Sauf si l’écart global du portefeuille avec sa cible est significativement supérieur à l’ordre de grandeur de vos versements. Entre d’autres termes : si vous ne serez pas capable de rééquilibrer le portefeuille par vos seuls achats.
Dernière modification par LeWiZ (12/01/2020 17h30)
Hors ligne
#7 17/01/2020 16h47
Bonjour,
Discussion intéressante.
LeWiZ a écrit :
Si on enlève la contrainte d’éligibilité PEA, il devient possible de suivre exactement le MSCI ACWI IMI à moindre frais (en ignorant encore une fois toute tracking difference), par exemple via les 3 ETF suivants :
- LCWD (Lyxor Core MSCI World)
- EMIM (iShares Core MSCI EM IMI)
- WSML (iShares MSCI World Small Cap)
Oui mais l’avantage apporté par la fiscalité du PEA à hauteur de 150k€ est à mon sens clairement imbattable par rapport à des gains sur des frais des ETFS.
Par contre le fait de fractionner le suivi d’un indice world en plusieurs poches (3 ou 7 ou même xxx poches…) peut permettre des stratégies d’investissements et de rebalancement spécifiques.
Je reprends un exemple simple cité dans le livre de Philippe :
Stratégie simple = 50% ETF US + 50% ETF Europe
Tous les xxx mois vous rachetez celui qui a le moins monté (ou le plus baissé)…
Ca peut se décliner en y ajoutant des émergents, des small caps, etc.
Cordialement,
Eric
Hors ligne
#8 24/01/2020 08h50
- roro
- Membre (2011)
Top 20 Finance/Économie - Réputation : 91
Bonjour LeWiZ !
Sujet très intéressant, et généralement peu abordé dans les allocations tactiques d’ailleurs, merci !
Pour aller plus loin, vous devriez essayer de prendre en compte des positions entières (lors du passage d’un poids de 2.4% a 3.5%, vous devez vendre/acheter un nombre entier d’actions), les frais fixes (très important pour les petits portefeuilles et le DCA), ainsi que le ré-équilibrage en cas d’ajout de cash sur le portefeuille.
J’ai dans mes cartons le projet d’implémenter l’algorithme associé (qui n’est plus un programme linéaire).
Je vous tiendrez au courant si ca vous intéresse.
Par ailleurs, puisque vous utilisez Google Sheets, je ne résiste pas: si vous voulez jouer avec des algos d’allocation de portefeuille (genre Markowitz ou autre, comme vous avez les données historiques) -> GitHub - lequant40/portfolio_allocation_js: A JavaScript library to allocate and optimize portfolios of financial instruments. :-) !
Amicalement,
R.
Dernière modification par roro (24/01/2020 10h40)
Développeur pour investisseurs : Web API d'optimisation de portefeuille - Surveillance d'articles de recherche
Hors ligne
#9 25/01/2020 20h35
- Samuel222
- Membre (2016)
Top 50 Banque/Fiscalité - Réputation : 95
LeWiZ a écrit :
Mais du coup, je masque effectivement une partie du marché UK.
Beau travail ! Je serais curieux de voir si l’algorithme basculerait sur un ETF comprenant l’UK ou non vu le coût supplémentaire. Si vous avez la curiosité d’affiner.
Merci
Hors ligne
#10 26/01/2020 22h18
- LeWiZ
- Membre (2014)
Top 50 Finance/Économie - Réputation : 30
@roro
Merci pour votre lien vers l’outil JS d’allocation de portefeuilles !
Avez-vous testé ces algorithmes pour votre portefeuille ? Je serais preneur d’un retour d’expérience à ce sujet. :-)
Je m’avoue en effet assez sceptique avec l’usage de ces approches pour construire et piloter un portefeuille personnel. En effet :
- Elles reposent généralement sur l’hypothèse que le cours d’un actif se comporte comme un mouvement brownien géométrique, souvent supposé stationnaire et de volatilité constante, ou en tout cas d’une distribution connue
- Elles nécessitent, forcément, de paramétrer ces processus avec les données historiques dont on dispose à ce jour sur chaque actif (performance moyenne, volatilité, corrélation avec les autres actifs, etc.), avec la nécessaire hypothèse que ces paramètres resteront valables dans le futur
Tout ceci représente beaucoup trop d’hypothèses à mon goût, pour une recherche d’optimum par ailleurs difficile à caractériser (ratio de Sharpe ou autre).
Le cadre mathématique du calcul stochastique est passionnant, et indispensable pour pricer une option ou un produit structuré. Mais je suis sceptique sur sa valeur ajoutée pour l’optimisation d’un portefeuille personnel, par rapport à la démarche indicielle qui ne suppose aucune hypothèse sur le comportement des actifs : ni distribution statistique, ni performance historique, ni volatilité, ni stationnarité, ni corrélation, etc.
Concernant votre idée de tenir compte de la taille des parts d’actifs dans l’allocation :
Si je comprends bien votre suggestion, il s’agirait d’inclure dans le modèle la notion de taille de part pour chaque ETF, et ainsi de permettre au modèle de proposer des allocations plus proches de l’allocation cible compte tenu du fait qu’on ne puisse acheter qu’un nombre entier de parts.
C’est possible, même si c’est algorithmiquement beaucoup plus complexe, en utilisant un algorithme d’optimisation en nombres entiers (Optimisation linéaire en nombres entiers ? Wikipédia)
Mais je ne recommanderais pas d’affiner le problème ainsi. En effet :
- La solution de l’optimisation sera, pour de petits portefeuilles, très sensible au paramètre du volume total du portefeuille. L’optimum pour un portefeuille de 5 000 € pourra être complètement différent de l’optimum pour un portefeuille de 5 001 €. C’est gênant.
- Si on augmente le volume total du portefeuille, sauf cas particulier, l’optimum tendra vers la même solution qu’avec l’optimisation linéaire décrite ci-dessus, qui n’utilise pas le montant des parts.
Pour un portefeuille suffisamment grand, l’optimum obtenu pourra en fait être décomposé en deux parties :
- Un "socle" s’approchant de la solution du problème linéaire sans contrainte entière, insensible à la valeur des parts et quasi-proportionnel au montant total à investir
- Un "complément" permettant de s’approcher au plus près de la cible compte tenue des valeurs de parts. Son volume sera (sauf cas particulier) d’un ordre de grandeur fixe, et en tout cas borné, si on augmente le volume total à investir. L’allocation de ce complément sera très sensible au montant total (5 000 € vs. 5 001 €).
Le volume de ce "complément" étant sauf cas particulier peu dépendant du volume total du portefeuille, il deviendra de plus en plus négligeable avec la croissance de celui-ci.
Même pour le cas très particulier d’un portefeuille n’ayant pas vocation à subir de versement, les variations dues aux tracking differences suffiront sans doute à rendre le résultat d’une telle optimisation impossible à implémenter en pratique en raison de sa sensibilité extrême au volume total exact du portefeuille.
Et comme nos portefeuilles ont généralement vocation à recevoir des versements réguliers, je pense qu’il
faut se contenter du "socle" et ignorer le "complément" : c’est à dire rester dans un modèle non-entier.
La prise en compte des ajouts de cash ne nécessite alors pas de modèle particulier
Voici mon approche. Notons :
- pa le vecteur portefeuille actuel (composantes entre 0 et 1, sommes des composantes à 1)
- pc le vecteur portefeuille cible, issu de l’optimisation (par exemple le portefeuille "C" de mon premier post)
- v la valorisation actuelle totale du portefeuille
- c le cash supplémentaire qu’on souhaite investir dans le portefeuille
Les achats/ventes permettant d’atteindre exactement la cible pc tout en investissant l’ensemble du cash disponible sont donnés par le vecteur :
pc * (v + c) - pa * v
Le composantes positives représentent les achats, et les composantes négatives les ventes.
Il est bien-sûr sous-optimal de réaliser l’ensemble de ces transactions. Il existera forcément de petites différences, par exemple expliquées par les tracking differences, les écarts de frais et tailles des parts d’ETF. Ces petites différences ne seront pas toujours dans le même sens, et seront souvent trop faibles pour justifier les frais de transaction.
Je vois deux approches rationnelles pour sélectionner les transactions à réaliser :
- Se fixer un montant minimum de volume de transaction et ne déclencher les achats/ventes que si ce seuil est atteint, sinon laisser le cash. Il ne faut pas que le montant des versements soit trop inférieur à ce seuil, sinon le coût d’opportunité à attendre le seuil deviendrait prépondérant (et c’est en fait très très vite le cas)
- Acheter à chaque versement la ligne la plus en écart dans le sens de l’achat, quitte à surpondérer temporairement cette ligne. La surpondération sera compensée lors de l’achat suivant. Cette approche fait converger le portefeuille vers la cible tout en minimisant le cash non-investi.
Quelle que soit l’approche, la vente de titres devrait être réservée aux modifications majeures de l’allocation et évitée autant que possible si compensée par les prochains achats.
Je n’ai pas compris ce que vous entendiez par "frais fixes" au delà des coûts récurrents des ETF et des éventuels frais de garde : pouvez-vous préciser votre point ?
@Samuel222
Oui, je pense aussi qu’il faudrait désormais faire du UK un cas à part. Peut-être en remplacement de FR dans mon découpage géographique, ça aurait beaucoup plus de sens.
Je vais essayer de me lancer dans cette modification : le gros du travail sera d’éplucher les factsheets des indices non-MSCI pour mettre à jour les allocations, comme je l’avais fait pour la France.
Dernière modification par LeWiZ (27/01/2020 08h08)
Hors ligne
#11 08/02/2020 16h07
- roro
- Membre (2011)
Top 20 Finance/Économie - Réputation : 91
Bonjour LeWiZ,
Oui, j’utilise une partie de ces algorithmes, mais avec des modifications que je n’ai pas encore publiées/mises au propre :-(.
Quelques compléments si cela vous intéresse:
-
Elles reposent généralement sur l’hypothèse que le cours d’un actif se comporte comme un mouvement brownien géométrique, souvent supposé stationnaire et de volatilité constante, ou en tout cas d’une distribution connue
Non, pas vraiment; ce que vous décrivez ressemble plutôt à du calcul stochastique (réplication d’actif donc), tandis qu’en allocation de portefeuille on ne fait pas vraiment ce genre d’hypothèses.
Du moment que vous avez des actifs avec des rendements, vous pouvez calculer des variances, des value at risk, etc., ce qui vous permet d’optimiser un portfeuille sur ces critères.
Par contre…
-
Elles nécessitent, forcément, de paramétrer ces processus avec les données historiques dont on dispose à ce jour sur chaque actif (performance moyenne, volatilité, corrélation avec les autres actifs, etc.), avec la nécessaire hypothèse que ces paramètres resteront valables dans le futur
Oui, la plupart de ces optimisations dépendent de paramètres (et peuvent y être très sensibles !), mais 1) le but est plutôt de fournir des paramètres collant au plus près de ce qui va se passer dans le futur (c’est tout le problème, mais ça, je ne l’open-sourcerait pas :-)), et 2) il y a certains algorithmes qui permettent de contourner cela (par exemple, l’optimisation sur des sous-espaces aléatoires, ou le resampling - que je n’ai pas encore implémenté par contre).
-
Mais je ne recommanderais pas d’affiner le problème ainsi.
Si vous voulez investir dans des ETFs (ou d’autres actifs) dont le prix unitaire est élevé par rapport au portefeuille (j’ai en tête 1000 euros/dollars pour certaines actions), il n’y a pas le choix en fait :-(.
Mais ne vous inquiétez pas, même si c’est plus difficile, les façons de faire sont connues; je vous tiendrais au courant quand j’aurais implémenter quelque chose d’utilisable.
-
Je n’ai pas compris ce que vous entendiez par "frais fixes"
Les frais de transactions en montant fixes (ex: 10 euros pour <= 5000 euros de transaction).
-
la vente de titres devrait être réservée aux modifications majeures de l’allocation et évitée autant que possible si compensée par les prochains achats
Là, il faudrait tenir compte des éventuels gains au niveau fiscal rendus possibles par la vente de positions en pertes (par exemple si on détient un autre portefeuille avec des plus values); certains soft le font (mais je n’implémenterai pas ça !).
Voilà pour moi !
Discussion très intéressante, merci !
Amicalement,
R.
Développeur pour investisseurs : Web API d'optimisation de portefeuille - Surveillance d'articles de recherche
Hors ligne
1 #12 13/11/2020 18h20
- roro
- Membre (2011)
Top 20 Finance/Économie - Réputation : 91
Bonjour,
Note à la modération: Je suis l’auteur de l’API Portfolio Optimizer dont je parle ci-dessous; si vous ne voulez pas de mon post, pas de soucis, je comprendrais.
Pour faire echo à la discussion sur l’extraction des données fondamentales et de prix sur les actions, qui a trouvé sa conclusion par l’utilisation d’une API dédiée, je voulais mentionner l’existence d’API d’optimisation de portefeuille, qui les complémentent très bien (puisqu’il faut au moins les prix des actifs pour optimiser un portefeuille d’actifs !).
Et en particulier, mentionner celle sur laquelle je suis en train de travailler, parce que je pense qu’elle pourrait combler un manque pour certains investisseurs particuliers (pas forcément en termes d’optimisation d’ailleurs, qui est assez casse-gueule, mais peut être plutôt en termes d’analyse a posteriori).
A ma connaissance, il existe au moins deux API d’optimisation de portefeuille:
- Portfolio Visualizer, que certains doivent connaître, avec une API disponible pour les gros clients
- IBM Cloud Portfolio Optimization API, qui m’avait semblée compliqué à première vue, mais qui a le mérite d’exister et d’être documentée publiquement, bien qu’elle soit payante également
De mon côté, je travaille depuis plusieurs années à mes heures perdues sur des librairies d’optimisation de portefeuille, et il y a quelques mois, j’ai décidé de rendre certaines parties utilisables sous forme d’une API: Portfolio Optimizer.
Un exemple d’utilisation que certains pourraient avoir en tête ici serait de pouvoir regarder où s’est situé leur portefeuille par rapport à la frontière efficiente passée, ou de pouvoir regarder quelles ont été les positions de leur portefeuille qui ont contribué le plus à sa volatilité passée.
Un autre exemple d’utilisation, pour ceux qui suivent des stratégies "tactiques" sur ETFs proposées par des sites web comme AllocateSmartly, serait de pouvoir reproduire ces stratégies sous Google Sheets ou sous Excel (par exemple, celles qui nécessitent le calcul d’un portefeuille de variance minimale).
Si vous pensez à d’autres cas d’utilisation, ou si vous avez des commentaires sur des fonctionnalités qui seraient utiles pour vous dans cette API, je suis plus que preneur !
Amicalement,
Roman
PS: L’API est utilisable anonymement, mais est limitée à un certains nombre d’actifs pour l’instant.
Développeur pour investisseurs : Web API d'optimisation de portefeuille - Surveillance d'articles de recherche
Hors ligne
#13 13/11/2020 18h40
- Ernest
- Membre (2017)
- Réputation : 103
Bonjour, je n’ai pas testé mais c’est une bonne initiative. En effet la théorie du portefeuille "moderne" de Markowitz est encore rarement utilisée chez les particuliers, alors qu’elle date pourtant des années 50.
Pour info cet outil est dispo avec la formule Pro+ de Quantalys.
Hors ligne
#14 14/11/2020 14h58
- LeWiZ
- Membre (2014)
Top 50 Finance/Économie - Réputation : 30
Bravo roro pour cette API !
Quels résultats obtenez-vous en appliquant ces approches à des données réelles ? Etant très sceptique sur l’utilité de la théorie du portefeuille dit "moderne" pour un particulier, je suis curieux de voir ce que vous arrivez à en sortir.
Avez-vous essayé d’implémenter la démarche que je décris dans ce post ? La méthode de votre API qui s’en approcherait le plus semble être "Investable Portfolio", mais de ce que j’en comprends il s’agit d’une optimisation en nombres entiers d’une allocation cible en fonction de la granularité des parts, alors que ce que je décris plus haut est une optimisation du compromis coût / proximité de l’allocation cible indépendamment de la granularité des parts.
Hors ligne
1 #15 14/11/2020 19h33
- roro
- Membre (2011)
Top 20 Finance/Économie - Réputation : 91
Bonjour LeWiZ,
En fait, mon message a été déplacé dans cette file (probablement parce qu’il y a "optimisation" dans le titre :-)), et donc pour vous répondre, non, je n’ai pas tenté d’optimiser les frais.
Toutefois, comme vous l’avez vu, j’ai effectivement quelque chose qui ressemble à cela, et qui y ressemble d’autant plus - mais ce n’est pas encore documenté - que le endpoint de l’API supporte les contraintes d’égalité ou d’’inégalité de groupes.
Donc, sans parler de frais, ce que le endpoint sait faire c’est équilibrer "au mieux" ("au mieux" = le problème peut ne pas avoir de solution au sens strict, ce n’est pas grave) le fait de vouloir par exemple investir dans x ETFs MAIS:
- En maximisant le nombre d’émetteurs
- En maximisant le nombre de brokers (en remplissant éventuellement le PEA, pour nous français)
- En limitant les ETFs à réplication synthétiques à une certaine proportion du portefeuille
- Etc.
Et effectivement, j’utilise cela pour mon portefeuille, qui est éclaté entre plusieurs enveloppes.
--
Pour votre première question, pour un particulier, il y a des choses potentiellement très bien qui nécessitent une pincée d’optimisation de portefeuille (ex: Adaptative Asset Allocation), et pour éviter de payer l’abonnement à ce genre de sites, j’ai déjà reçu une poignée de demandes d’utilisation de mes outils dans le passé (mais hélas, qui dit ETF US dit problèmes à cause des DICI pour nous européens…).
Par contre, là où c’est peut être plus intéressant pour un particulier, c’est de pouvoir quantifier le comportement de son portefeuille.
Par exemple, si mois après mois (ou trimestre après trimestre, etc.), pendant votre repporting, vous vous apercevez que votre portefeuille est systématiquement le gros point noir par rapport à la frontière efficiente:
C’est qu’il faut peut être revoir votre façon de gérer votre portefeuille (vous pouvez avoir largement moins de volatilité pour un rendement identique par exemple - et il ne s’agit pas de prévoir l’avenir mais de s’interroger sur pourquoi le portefeuille est systématiquement là où il est) !
Il y a plein d’autres analyses comme cela qui peuvent être faites (peut être que seulement quelques positions de votre portefeuille sont responsables de la majorité de sa volatilité, et qu’elles ne contribuent pas forcément à son rendement, etc.).
Sans ces outils, on navigue un peu à vue dès qu’on s’éloigne d’une allocation purement "World".
Amicalement,
R.
Développeur pour investisseurs : Web API d'optimisation de portefeuille - Surveillance d'articles de recherche
Hors ligne
#16 16/11/2020 15h10
- xoxo
- Membre (2020)
- Réputation : 18
Bravo roro, gros travail sur cette API ! Je compte tester
Hors ligne
#17 30/12/2020 10h07
- Priority
- Membre (2020)
Top 50 Année 2022 - Réputation : 113
Bonjour à tous et bravo à Lewiz pour sa stratégie d’optimisation mathématique de portefeuille d’etf !
Je suis à la recherche d’exactement la même démarche, mais sur la base d’actions.
L’idée est là aussi de minimiser les coûts.
En effet, il me semble qu’à partir d’un portefeuille suffisant (mettons à 6 chiffres) la diversification doit pouvoir très bien se faire "à la main".
Toute la question est alors de savoir si les frais de courtage sont alors ou non inférieurs aux frais des ETF. Pour un grand groupe comme Vanguard la réponse est forcément oui sinon ils n’existeraient pas, par contre pour un petit particulier je ne suis pas sûr…
Ce qui m’intéresserait ce serait donc de savoir à partir de combien d’actions du monde intelligemment choisies et pondérées on arrive à reproduire un tracker monde avec une erreur donnée (mettons inférieure à 5%).
Ce qui serait intéressant ce serait de le faire également en se limitant à la population des actions éligibles au PEA. Il en faudra forcément un peu plus pour cela, mais je suis convaincu que cela reste possible avec un nombre d’actions très restreint (quelques dizaines) en surpondérant des actions qui bien que européennes soient très exposées au dollars.
Je ne peux pas croire que ce genre d’étude (exactement ce qu’a proposé Lewis) n’aient pas été réalisées avec des backtests significatifs. Des articles ou livres à me proposer ?
Merci
Tout seul on va plus vite, ensemble on va plus loin
Hors ligne
1 #18 30/12/2020 12h13
- roro
- Membre (2011)
Top 20 Finance/Économie - Réputation : 91
Bonjour Priority,
Le problème que vous voulez résoudre est le problème de suivi d’index avec contraintes de cardinalité.
Vous pouvez donc commencez par chercher "Index Tracking with Cardinality Constraints".
En aparté, pour l’aspect "calcul", j’ai dans mes plans de rajouter cette fonctionnalité à l’API d’optimization de portefeuille Portfolio Optimizer.
Pour l’aspect "données", par contre, il vous faudra trouver les données de prix des actions que vous voulez inclure dans votre univers.
Amicalement,
R.
Développeur pour investisseurs : Web API d'optimisation de portefeuille - Surveillance d'articles de recherche
Hors ligne
Discussions peut-être similaires à “construction d'un portefeuille d'etf à l'aide d'une optimisation linéaire”
Discussion | Réponses | Vues | Dernier message |
---|---|---|---|
22 | 5 743 | 12/12/2020 18h33 par Gulli | |
6 | 2 728 | 21/02/2015 14h26 par Confucius | |
153 | 56 322 | 22/10/2020 19h52 par daglewood | |
29 | 13 219 | 12/02/2021 14h14 par Ernest | |
1 | 1 978 | 27/11/2017 22h52 par Neo45 | |
95 | 43 701 | 07/12/2020 18h02 par contraryo | |
10 | 4 479 | 21/03/2019 20h24 par lopazz |