Simulation de Monte-Carlo : formules et erreur à 1 000 trajectoires
Les formules d'une simulation de Monte-Carlo pour un plan mensuel : récurrence du solde, percentiles, taux de réussite et variabilité de 1 000 trajectoires.
Mis à jour
Les formules d'une simulation de Monte-Carlo pour un plan mensuel : récurrence du solde, percentiles, taux de réussite et variabilité de 1 000 trajectoires.
Mis à jour
Une simulation de Monte-Carlo trouve une réponse en répétant un grand nombre de fois une expérience aléatoire et en comptant comment les résultats se répartissent.[1] Pour un plan d'investissement, l'expérience fait avancer un solde mois par mois avec une formule qui le met à jour (une relation de récurrence), en tirant au hasard le rendement de chaque mois, jusqu'au dernier mois. Dans compoundsim, une trajectoire répète cette étape mensuelle 240 fois pour un plan de 20 ans, et le simulateur calcule 1 000 trajectoires. Une médiane tirée de 1 000 trajectoires ne bouge que de quelques pour cent quand les nombres aléatoires changent, et une proportion bouge peu elle aussi. Ce qui fait bien plus bouger les résultats, c'est la façon dont les rendements mensuels sont tirés.
Cet article laisse de côté le modèle de rendement et écrit en formules les calculs que tous les modèles ont en commun. Pour les mêmes notions sans les mathématiques, voir l'article qui explique le fonctionnement de la simulation de Monte-Carlo.
Numérotons les mois , et notons le solde à la fin du mois et le versement mensuel. Le calculateur d'intérêts composés à taux fixe convertit le taux annuel , pris comme un taux effectif, en un facteur de croissance mensuel et applique le même chaque mois :
Une simulation de Monte-Carlo remplace ce par un facteur de croissance tiré au hasard chaque mois, où est le rendement logarithmique du mois (section suivante) :
Le versement arrive à la fin du mois, après le rendement du mois, dans le même ordre que le calcul à taux fixe ; si l'on retire le hasard, les deux coïncident. Un plan de 20 ans a , et un parcours complet des 240 mois forme une trajectoire. Le simulateur en calcule 1 000.
Le simulateur de retraits procède dans l'autre sens : le retrait sort au début du mois, puis le reste évolue. Le retrait part d'un douzième du montant de la première année et suit l'inflation chaque mois :
Le premier mois où un retrait fait tomber le solde à zéro ou en dessous, la trajectoire est à court d'argent, et elle reste à zéro.
Le simulateur Monte-Carlo en mode « Réel », et le simulateur de retraits dans tous les cas, divisent le solde par le niveau des prix du moment. Avec un taux d'inflation annuel retenu (2 % par défaut), le solde réel au mois vaut . Les prix montent à ce taux constant ; aucun nombre aléatoire n'y entre.
Si est le rendement simple du mois (0,05 pour 5 %), son rendement logarithmique est . Le modèle du simulateur est ajusté aux rendements mensuels passés convertis en logarithmes. En logarithmes, la croissance sur plusieurs mois devient une somme. Avec un capital de départ et sans versements,
La somme des se rapproche d'une distribution symétrique à mesure que les mois s'additionnent. En notant l'espérance (la moyenne), sa médiane vaut donc environ , et la médiane du solde environ . Mais est une courbe tournée vers le haut, si bien que la moyenne du solde est plus élevée (). Quelques trajectoires très favorables tirent la moyenne vers le haut et ne déplacent presque pas la médiane.
La médiane est le chiffre que ces quelques trajectoires influencent à peine. L'écart entre un rendement moyen simple et le taux auquel l'argent croît réellement (la traînée de volatilité) est traité dans la section sur le rendement moyen, qui n'est pas le taux de croissance de votre argent. Avec des versements mensuels, la formule ne prend plus cette forme, mais la moyenne reste au-dessus de la médiane pour la même raison.
Rangeons les soldes des 1 000 trajectoires pour un mois donné du plus petit au plus grand, avec . Le percentile d'ordre est la valeur au rang ; quand n'est pas entier, on la lit sur la droite qui relie les deux trajectoires situées de part et d'autre ( est arrondi à l'entier inférieur). Parmi les manières dont les logiciels de statistique calculent les percentiles, c'est celle classée comme définition 7.[2] En symboles :
La médiane correspond à . Sur le graphique, la bande extérieure va de à et la bande intérieure de à . La bande de chaque mois est calculée séparément : le bord de la bande ne suit aucune trajectoire en particulier.
Une proportion est le nombre de trajectoires qui remplissent une condition, divisé par . Le taux de réussite du simulateur de retraits est la part des trajectoires dont l'argent a duré jusqu'à la fin :
Un drawdown est l'écart entre le solde et le plus haut qu'il avait atteint. Ce plus haut part du capital de départ, et le solde comprend les versements effectués (en termes réels, il se mesure sur le solde réel) :
Le le plus profond d'une trajectoire est son drawdown max.
Chaque et chaque décrit ici les 1 000 trajectoires que le modèle a produites. Aucun nombre de trajectoires ne peut dire si le modèle colle au monde réel.
Avec un nombre fini de trajectoires (d'expériences), un autre point de départ pour les nombres aléatoires (la graine) donne des résultats légèrement différents. Des formules en donnent l'ampleur.
Une proportion compte combien de fois un événement de probabilité s'est produit en essais ; son écart-type (l'erreur type) vaut donc
Pour un taux de réussite de 90 %, cela donne , soit une erreur type d'environ 0,95 point. Dans environ deux fois cet écart de part et d'autre, de 88 % à 92 % à peu près, le taux peut bouger sous le seul effet du hasard.
Les percentiles ont une formule du même genre. Si est la densité de la distribution du solde à ce percentile (à quel point les trajectoires se pressent autour de ce montant),
Dans les queues de distribution, où les trajectoires sont clairsemées, est petit et l'erreur plus grande. Les deux formules diminuent comme : diviser l'erreur par deux demande quatre fois plus de trajectoires.
Pour en voir l'ampleur, le même calcul que le simulateur Monte-Carlo a été lancé 50 fois en ne changeant que la graine : le S&P 500 (SPY, dividendes réinvestis, le modèle ajusté à tout son historique depuis 1993), en dollars américains nominaux, un dollar par mois pendant 20 ans (240 dollars versés).
| Solde après 20 ans | Moyenne des 50 exécutions (multiple des sommes versées) | Dispersion avec 1 000 trajectoires | Dispersion avec 250 trajectoires |
|---|---|---|---|
| 10e percentile | 1,7× | 3,0 % | 4,1 % |
| Médiane | 3,5× | 2,5 % | 5,5 % |
| 90e percentile | 7,6× | 3,1 % | 6,5 % |
La dispersion est l'écart-type des 50 résultats divisé par leur moyenne. Avec 1 000 trajectoires, la médiane à 20 ans varie d'environ 2,5 % d'une exécution à l'autre : mieux vaut donc lire une médiane sur 1 000 trajectoires comme ayant cette marge de quelques pour cent.
Même vérification sur une proportion : la part des trajectoires dont le drawdown max a atteint −30 % ou pire a été en moyenne de 21,3 % sur les 50 exécutions. Les écarts-types du tableau suivant indiquent de combien cette proportion elle-même varie, en points de pourcentage.
| Part avec un drawdown max de −30 % ou pire | 1 000 trajectoires | 250 trajectoires |
|---|---|---|
| Écart-type mesuré sur 50 exécutions | 1,5 % | 2,8 % |
| La formule | 1,3 % | 2,6 % |
Pour la proportion, la dispersion mesurée et la formule concordent presque. Quatre fois moins de trajectoires double à peu près la dispersion pour la plupart des mesures. Mais un écart-type mesuré sur 50 exécutions est lui-même incertain d'environ un dixième, et le rapport de deux d'entre eux l'est davantage : certaines lignes s'écartent donc nettement du double, comme la ligne du 10e percentile dans le premier tableau.
Chaque trajectoire tire d'abord sa propre version des rendements moyens du modèle et de ses probabilités de changer de régime, puis tire ses mois. Les trajectoires restent indépendantes les unes des autres, si bien que la règle en s'applique telle quelle.
La graine du simulateur est la date d'ouverture de la page (UTC) sous forme d'un nombre à huit chiffres, . Un petit générateur pseudo-aléatoire, mulberry32, en tire des nombres uniformes dans , utilisés dans l'ordre à partir de la première trajectoire. Ouvrez la page le même jour avec les mêmes réglages, et tout le monde obtient les mêmes 1 000 trajectoires.
Ouvrez la page un autre jour, et la graine change : la page tire 1 000 nouvelles trajectoires (une page restée ouverte garde sa graine après minuit). L'expérience ci-dessus ne changeait elle aussi que la graine d'une exécution à l'autre : une médiane qui bouge de quelques pour cent d'un jour à l'autre reste donc dans la dispersion mesurée. Des écarts bien plus grands viennent d'un changement de réglages ou de l'historique auquel le modèle est ajusté, ou d'une mise à jour des données qui réajuste le modèle.
Pour un seul actif, le de la récurrence vient du rendement logarithmique mensuel de cet actif. Pour un mélange, avec un poids sur l'actif (la somme des poids valant 1), rééquilibré sur ces poids chaque mois, le facteur de croissance est
Le simulateur de portefeuille (sans achat sur marge) et le simulateur de retraits placent ce dans la récurrence à la place de .
Dans une devise autre que le dollar, avec « Inclure le change » activé (le réglage par défaut), la variation du mois de la valeur en dollars d'une unité de cette devise est tirée du modèle en même temps que les actifs. Si est sa variation logarithmique, le facteur de croissance dans cette devise vaut , où est la variation moyenne à long terme du taux de change dans le modèle ajusté à l'historique. Rien ne garantit que la tendance de long terme d'un taux de change se prolonge : elle est donc retirée, et il reste les fluctuations et leur calendrier.
La façon dont les et les sont tirés, en alternant entre un régime calme et un régime agité, est expliquée dans l'article sur le fonctionnement de la simulation de Monte-Carlo.
La dispersion ci-dessus vient du calcul d'un nombre fini de trajectoires à partir d'un modèle donné, et plus de trajectoires la réduisent. Deux choses restent les mêmes, quel que soit le nombre de trajectoires.
La première est le modèle de rendement. Le modèle dont viennent les change la distribution elle-même, et un modèle ajusté à l'historique produit rarement des marchés qui ne ressemblent à aucun de ceux qu'il contient.
La seconde est ce que le calcul laisse de côté. Les impôts, les frais de transaction et les frais de compte ne sont pas déduits (les frais de gestion des ETF sont compris dans leurs rendements). Les versements restent les mêmes tout du long, et les prix montent à un taux constant.
Ces hypothèses font bouger les résultats bien plus que les quelques pour cent de variabilité de 1 000 trajectoires. Dans le même cadre que l'expérience ci-dessus, en ne changeant que l'historique auquel le modèle est ajusté et en calculant une fois 1 000 trajectoires avec la même graine, la médiane à 20 ans vaut 3,4× les sommes versées avec l'historique complet et 4,1× avec les 5 dernières années : un écart bien plus large que la dispersion due au nombre de trajectoires (2,5 %).