Qu'est-ce que l'analyse de Monte Carlo et pourquoi l'utiliser ?

L'analyse Monte Carlo (ou simulation) est une technique qui peut vous aider à estimer de manière plus réaliste le risque et la rentabilité de votre stratégie de trading.

Pourquoi utiliser l'analyse de Monte Carlo ?
Les résultats historiques d'une stratégie commerciale nous permettent de prédire les performances futures. En utilisant l'analyse Monte Carlo, vous serez en mesure de rendre cette prédiction beaucoup plus précise.
Pour simplifier, les résultats de Monte Carlo vous donneront les performances estimées de votre système sur la base de statistiques.
Il peut vous aider à décider si votre stratégie est solide, quel profit / drawdown vous pouvez attendre de votre stratégie et si vous devez la négocier.

Qu'est-ce que l'analyse de Monte Carlo ?

La base de la méthode de Monte Carlo consiste à effectuer la même simulation un certain nombre de fois, en y apportant à chaque fois de petites modifications aléatoires. Plus le nombre de répétitions est élevé, plus la signification statistique des résultats est importante.

Exemple : modification de l'ordre des transactions
Le backtest n'est généralement qu'une simple liste de transactions. Qu'est-ce qui peut être aléatoire dans ce cas ?
Par exemple, l'ordre des transactions. L'ordre des transactions dans le passé est relativement aléatoire. Si votre système a une rentabilité de 60%, vous pouvez vous attendre à ce qu'il ait 60% de transactions profitables et 40% de transactions perdantes, mais vous ne pouvez pas prévoir dans quel ordre elles se produiront.

En modifiant simplement l'ordre des transactions, votre bénéfice final restera le même, mais votre perte peut changer considérablement. Au lieu d'un drawdown de 10%, vous pourriez obtenir un drawdown de 30% simplement en changeant l'ordre des transactions.
À quelle valeur devez-vous donc vous fier ? À quoi devez-vous vous attendre à l'avenir ?

La réponse se trouve dans les statistiques, c'est-à-dire dans les principes de base de la méthode Monte Carlo. Vous pouvez laisser un programme exécuter ce remaniement une centaine de fois et vous verrez quelle est la meilleure, la pire et la moyenne des pertes obtenues au cours de ces exécutions aléatoires.

Prenez le système suivant :

Vous trouverez ci-dessous 100 actions différentes du même système. Tout ce que nous avons fait, c'est changer l'ordre des transactions.

Voici quelques statistiques sur les performances du système :

Le système qui, à l'origine, affichait une réduction d'environ 16 %, affiche désormais, dans le pire des cas, une réduction de 26 %, soit près du double.

Que signifient ces valeurs ?
C'est très simple. La première ligne représente le résultat de la stratégie originale, les autres sont des niveaux de confiance calculés à l'aide de l'analyse de Monte Carlo. Les chiffres à gauche sont des niveaux de confiance - ils nous indiquent avec quelle confiance (probabilité) nous pouvons nous attendre à ce que les résultats soient identiques ou supérieurs à ceux d'une ligne donnée.

Par exemple, des valeurs à un niveau de confiance de 95 % signifient qu'il y a 95% de chances que le bénéfice net, le drawdown, etc. soit égal ou supérieur aux valeurs du niveau de confiance.

En d'autres termes, il n'y a que 5% de probabilité que la réduction soit inférieure à 23,59 %.
95 % est le niveau de confiance habituel à considérer. Vous pouvez raisonnablement vous attendre à ce que les résultats de votre système soient identiques ou supérieurs aux valeurs de ce niveau de confiance.

Quelles sont les propriétés qui peuvent être testées dans l'analyse de Monte Carlo ?

Lorsque nous travaillons avec les résultats du backtest, tout ce que nous avons, c'est une liste de transactions dans l'historique. Que pouvons-nous en faire ?

Modification de l'ordre des opérations

dans le Exactement Cette variation ne fait que modifier de manière aléatoire l'ordre des transactions. Cela ne change pas le bénéfice net obtenu, mais c'est très utile pour examiner les différentes variations de l'amortissement qui peuvent résulter d'un ordre différent des transactions.

Dans les pays plus avancés Rééchantillonnage de ce test, les transactions ne sont pas simplement mélangées. Au lieu de cela, le programme choisit au hasard le nombre total de transactions dans le pool de toutes les transactions de l'histoire. La différence est que, dans cette méthode, la liste des transactions peut ne pas être la même. Le programme peut choisir une transaction plusieurs fois et une autre transaction peut ne pas être choisie du tout.
Cela permet d'avoir une autre vision du système. Cette méthode modifie généralement à la fois le bénéfice net et l'amortissement, et il s'agit d'un test assez extrême.

Les métiers de l'évitement

dans ce test, certaines transactions seront manquées de manière aléatoire (avec une probabilité donnée). Dans le trading réel, vous pouvez souvent manquer une transaction en raison d'une défaillance de la plateforme ou de l'Internet, ou simplement parce que vous avez interrompu le trading pendant un certain temps.
Ce test vous donnera une idée de l'allure de la courbe des actions si certaines transactions sont ignorées de manière aléatoire.


Un exemple 2 - nous pouvons randomiser les transactions et en rater 5%.
Vous pouvez voir les résultats ci-dessous. Le fait de manquer 5% trades augmentera légèrement notre drawdown attendu à un niveau de confiance de 95% et réduira également le profit attendu de $22.000 à $17.000.


Exemple 3 - rééchantillonner les transactions et en manquer 5%
Il s'agit du test le plus extrême - avec des transactions qui non seulement changent d'ordre, mais aussi sont rééchantillonnées et manquent 5% transactions. La baisse attendue est la même que dans l'exemple précédent, mais le bénéfice attendu à un niveau de confiance de 95% est réduit à seulement $8.500.

Notez qu'il s'agit presque du scénario le plus défavorable, ce qui signifie qu'il n'y a que 5% de chances que le bénéfice soit inférieur à ce chiffre.
Il peut également être plus élevé, si vous regardez le graphique des simulations, vous verrez que les résultats de l'équité des simulations ont une fourchette plus large dans ce cas, le profit final varie de seulement $2000 à $50.000.
Nous pouvons espérer le meilleur mais nous préparer au pire.


Utilisation pratique de l'analyse de Monte Carlo

Cette analyse devrait être l'une des dernières étapes de l'élaboration de la stratégie.
Avant de commencer à négocier une stratégie, vous DEVRIEZ effectuer une simulation Monte Carlo avec au moins une randomisation exacte et 5% transactions manquées afin de déterminer des attentes plus réalistes en matière d'amortissement et de profit.

Ce qu'il faut vérifier - d'après mon expérience personnelle :

Niveau d'espérance et nombre de simulations - une bonne règle empirique consiste à surveiller le niveau d'espérance 95% et à effectuer au moins 100 simulations. Le niveau 95% signifie qu'il n'y a que 5% de chances que les résultats soient pires que ceux simulés.

Réduction - vous devriez observer à quel point le drawdown est pire à votre niveau d'attente par rapport à la stratégie d'origine. S'il est inférieur au double, il est généralement acceptable pour moi.

Si le drawdown au niveau 95% est le double ou même plus que le drawdown de la stratégie originale, il serait dangereux de trader cet EA.
Cela signifie qu'il a obtenu un faible drawdown dans votre test principalement par chance et que vous ne devriez pas vous attendre à ce que cette chance se poursuive à l'avenir.

Bénéfice net et autres - en général, la stratégie devrait répondre à vos attentes. Vous pouvez vous attendre à des résultats meilleurs que les valeurs de niveau 95%, mais vous ne pouvez jamais être sûr de leur niveau.
Par exemple, je ne négocierais pas une stratégie qui n'aurait aucun ou très peu de profit à 95% - cela signifie qu'il y a quelque chose qui ne va pas avec la stratégie.

Note : La fonctionnalité Monte Carlo décrite ci-dessus est disponible dans le nouveau Quant Analyzer. 
Vous pouvez l'utiliser pour effectuer une analyse Monte Carlo sur vos backtests MetaTrader4 ou sur vos relevés d'historique de compte importés dans QA.
S'abonner
Notification pour
1 Commentaire
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
josecort_trader
josecort_trader
26. 1. 2021 9:46 am

Bonjour Marc
Merci beaucoup pour cette explication. C'est très utile pour comprendre le fonctionnement de cette fonctionnalité.
😀

Poursuivre la lecture