L’article pourrait s’arrêter sur un « non » définitif, le logique pure comme argument principal. Cependant, nous tenons à nuancer ce « non » qui tenderait à se transformer en un « Oui, mais ! ». Reprennons les bases pour comprendre ce qu’est la prédiction, un back-test, etc.
Pourquoi la logique nous donne tort ?
Ne commençons pas à tout mélanger, on se servant d’argument purement logique, on pourrait arriver à la conclusion suivante.
L’assertion suivante est vrai : « De bons résultats impliquent de bons backtests », pour s’en convaincre, les résultats futures pourront à leur tour devenir notre backtest, la boucle est bouclée, l’assertion reste vraie.
En appliquant le principe logique de la contraposé, nous pouvons seulement conclure :
« De mauvais backtests impliquent de mauvais résultats »
C’est tout ? Oui, la logique nous dit simplement qu’il est impossible de prouver qu’un modèle est bon. Il est seulement possible de prouver qu’un modèle n’est pas bon. Cela veut-il dire qu’on doit s’arrêter ? Non, même si la logique ne nous donne pas raison, c’est un dilème commun. Par exemple, il est impossible de prouver que nos théories mécaniques sont vraies, pourtant nous envoyons des hommes dans l’espace en se servant de leurs résultats.
Comprendre le mécanisme de prédiction ? Systèmes déterministes et chaotiques
La prédiction, par définition, est la recherche de l’état future d’un système connaissant son état actuel. Lorsque Sir Isaac Newton découvrit les lois universelle de la gravitation, il compris qu’il était possible, en partant de quelques données initiales, de définir l’état futur d’un système. Ce n’était pas simplement une expérience de pensée, cette théorie permit de découvrir de nombreux corps célestes, prédire la trajectoire de planètes, etc. Tout semblait parfaitement claire, au point que de nombreux scientifiques pensaient qu’il était possible de tout prédire en connaissant la position de chaque atome dans l’univers.
Face à cette vision déterministe, donnant la mort au libre arbitre, de nombreuses expériences ont montré que pour des systèmes complexes, les micro-variations ont des influences énormes. Dans le langage populaire, on parle d’ « Effet papillon« , imageant le fait qu’un battement d’aile de papillon peut provoquer un cyclone au Japon. C’est en 1963 que le météorologue Edward Lorenz mis en évidence cette influence extrème des conditions initiales, à tel point qu’un arrondi sur un chiffre pouvait changer complètement la prédiction de la météo.
Cependant, chaotique ne signifie pas forcément imprévisible. La météo est un système chaotique, pourtant les grandes chaines diffusent au quotidien les prévisions des jours à venir qui sont relativement exactes.
Cet écart historique permet de mettre trois points en avant :
- Les modèles de prédiction complexes sont très sensibles aux conditions initiales
- Il est difficile, mais pas impossible de donner une prédiction relativement exacte
- Il existe une part non négligeable d’aléatoire, ou de chance, dans les prédictions. Plus la période est longue, plus le poids de l’aléatoire est important
Que me dit mon back-test, mon modèle ?
Par définition, un back test permet de répliquer une décision passée. Il déroule une stratégie sur une période longue, afin de connaitre notre performance si nous avions déployé cette stratégie dans le passé. Le backtest a ainsi plusieurs avantages :
- Permet de recréer une situation réelle en peu de temps
- Permet de profiter de la loi des grands nombres en venant lisser les éléments exceptionnels
- Permet de généraliser un comportement sur une longue période
Cependant, le back-test est simplement un test et non un modèle. Pour valider un test, ce dernier doit répondre à un critère essentiel, un back-test doit être réplicable.
Une erreur très commune du backtest, qu’on appelle en anglais « Painted » concernent la prise en compte du future dans notre backtest, de telle manière que le backtest n’est pas une réplique d’une situation réelle passée équivalente. Quelques exemples pour comprendre.
Exemple d’erreur – La prise en compte du future
Mon algorithme d’achat : « J’achète si mon signal RSI à l’heure a dépassé 30 »
Mon backtest : » Il est 15h00, dans mon back-test le RSI de la bougie de 15h est à 40, le RSI de la bougie précédente est inférieure à 30, j’achète donc à 15h00 et mon Take-Profit de 1% se déclenche »
Conclusion erronnée: Ma stratégie m’a permi de gagner 1% sur cette stratégie
Mon erreur : C’est justement parce que ma bougie a fait 1% que le RSI est passé au dessus de 30, on a donc utilisé un élément du future (la valeur de RSI dans 1h) pour acheter dans le passé.
Si cette exemple vous semble enfantin, les subtilités sont parfois plus complexes à déceler, pensez aux croisements de moyennes mobiles, les valeurs de stop loss non calculées sur les « Low », etc.
Prédiction trop lointaine :
Demain, il fera beau. Dans 2 semaines, il va pleuvoir. La première assertion a un indice de confiance très élevé, la deuxième très faible. C’est parce que nous voulons regarder trop loin dans le futures que les paramètres aléatoires deviennent trop important pour pouvoir être ignorées.
Dans le cas des modèles de suivis de tendance sur des jours ou des semaines, le poids de ces paramètres aléatoires sont bien trop important pour pouvoir être négligés, ainsi tout modèle devient incohérent. Imaginons une prédiction à la hausse du Bitcoin, de 50k$ à 60k$, entre temps, les USA votent une loi banissant l’utilisation de la cryptomonnaie ou une faille est decellée dans le système Blockchain . Les modèles seront incapables de prévoir ces aléas, plus la période augemente, plus la probabilité de connaitre des aléas devient importante, assez importante pour changer la direction du cours.
A l’inverse, un aléa peut avoir un effet bénéfique sur le modèle, de telle façon que le modèle pourra paraitre cohérent.
Les modèles non cohérents :
Dans notre article Un bot de Trading à +800% en 2 minutes – Mythe ou Réalité nous avons mis en avant ce que nous appelons des modèles non cohérents, en quelques mots, ce sont des modèles dont les paramètres utilisés n’ont aucun lien direct avec ce que nous cherchons à prédire. Cependant, via des biais ou des causes communes, ces modèles peuvent fournir des résultats prometteurs en back-test.
Comment Qwantic teste ses modèles ?
Face aux nombreuses erreurs, il est essentiel de bien cadrer nos modèles en répondant aux questions suivantes :
- Est-ce que notre modèle est cohérent ?
- Solution 1 : Comment réagissent nos modèles face à des variations minimes des paramètres d’entrée ? Les résultats restent cohérent avec la variation
- Solution 2 : Comment réagissent nos modèles sur d’autres cours ou périodes ? Comportement similaire
- Solution 3 : Du bon sens, est-ce que le modèle réagit de façon logique face à des modifications.
- Solution 4 : Interprétation des résultats et calculs de paramètres (moyenne, écart type, Z-Score, etc.) permettant de déterminer si le modèle est aléatoire ou non.
- Solution 5 : Limiter la part d’aléatoire en diminuant l’exposition de nos trades sur le marché
- Est-ce que notre backtest est « painted » :
- Solution 1 : Peut-on répliquer la performance live ? Oui
- Solution 2 : Est-ce que des variations des paramètres influencent énormément notre modèle ? Non
Que conclure sur les backtests ?
Malgré de nombreux détracteurs sur les backtests, ces derniers sont la seule méthode pour permettre de juger un modèle de façon rapide. Cependant, les erreurs sont très difficiles à souligner, sans doute la raison principale pour laquelle de nombreuses personnes ne sont pas convaincues par cette méthode.
De nombreux sites proposent aux utilisateurs de paramétrer leur bot sur base de backtest, cependant, sans expérience, les conclusions tirées peuvent être erronées. Face à cela, les utilisateurs sont invités à investir dans des modèles non cohérents, ayant pour résultat une perte d’argent.
Enfin, une mauvaise conclusion serait de dire qu’un bon backtest permet d’obtenir de bons résultats. Si de nombreuses sociétés se protègent via « Les performances passées n’indiquent en rien les performances futures », ce n’est pas anodin, il est tout simplement impossible de prévoir les performances futures. Cependant, le back-test permet de donner un indice de confiance à des modèles et espérer des gains futures.