Mode de défaillance
Hypothèse d'exécution intrabar / barre par barre
Une barre n’affiche que quatre cours, sans indiquer l’ordre dans lequel ils se sont produits. Si l’on se trompe sur cet ordre, un stop suiveur obtient une exécution qu’il n’aurait jamais pu obtenir en conditions réelles.
Une barre journalière ou horaire n’affiche que quatre chiffres : cours d’ouverture, plus haut, plus bas et cours de clôture. Elle masque l’ordre dans lequel ces cours se sont réellement succédé. Un backtester doit deviner cet ordre pour déterminer si un stop suiveur ou un ordre à cours limité aurait été exécuté. C’est cette supposition naïve qui est à l’origine du problème.
La plupart des moteurs de backtesting bon marché partent du principe qu’il existe une séquence fixe au sein de chaque barre, du type : cours d’ouverture, puis plus haut, puis plus bas, puis cours de clôture. L’évolution réelle des cours ne suit pas ce scénario. Une barre peut atteindre son plus haut, revenir à son plus bas, puis clôturer près de son cours d’ouverture, dans n’importe quel ordre, et ce des dizaines de fois si l’on zoome sur les ticks qui la composent. Si l’on suppose une séquence erronée, un stop suiveur se verra attribuer une exécution de sortie à un prix que la stratégie n’aurait jamais pu atteindre à ce moment-là. Le moteur récompense alors une transaction qui n’est pas réelle.
Les systèmes de stop suiveur en font les frais. On prétend que tout leur avantage provient de la capacité à suivre un mouvement et à limiter rapidement les pertes, ce qui signifie que la séquence intrabarre exacte détermine presque l’issue de chaque transaction. Si l’on adopte une séquence généreuse, la courbe de capital semble lisse. Si l’on adopte une séquence réaliste, les mêmes règles entraînent des pertes. C’est un proche cousin du biais d’anticipation, sans l’aperçu littéral de l’avenir. Juste une version plus clémente du passé, livrée exécution par exécution.
Nous avons mesuré cet écart directement : l’exécution de stratégies de trailing-stop sur un modèle naïf d’exécution « barre par barre » comparé à un modèle intrabar réaliste construit à partir de données de ticks surestime la performance de 42 à 84 %. Ce n’est pas du bruit. Pour une grande partie des stratégies que nous testons, cet écart représente l’intégralité de l’avantage commercialisé. Si on l’élimine, la stratégie affiche un rendement nul, voire négatif. Le slippage aggrave encore la situation, car une exécution qui n’a jamais été réellement disponible évite également le coût lié à son obtention.
Un meilleur paramètre n’y changera rien. On pose au backtest une question à laquelle il ne peut honnêtement pas répondre. Les systèmes sub-quotidiens et intrajournaliers ont besoin de données de barres suffisamment précises pour reconstituer une trajectoire crédible à travers la bougie, et non d’une supposition aléatoire de type « haut puis bas » ou « bas puis haut ». Sans cela, le backtest évalue une exécution qui n’a en réalité jamais eu lieu.
Les travaux de recherche à l’origine de cette analyse
- López de Prado (2018). « Advances in Financial Machine Learning ». Wiley. — Explique comment les backtests laissent transparaître des informations futures ; la même logique de fuite s’applique lorsqu’un modèle d’exécution attribue à une transaction un prix qu’elle n’aurait pas pu obtenir.
- Aronson (2006). « Evidence-Based Technical Analysis: Applying the Scientific Method and Statistical Inference to Trading Signals ». Wiley. — Définit le niveau de preuve requis pour les signaux de trading en général ; c’est cette même rigueur qu’une hypothèse d’exécution intra-barre doit satisfaire avant que son avantage ne soit considéré comme réel.
Recherches externes, dont les liens sont fournis à titre de contexte et pour approfondir le sujet. FoxAlgo est indépendant et n’est affilié ni à ces auteurs ni à ces éditeurs.
Voici les termes qui se cachent derrière « The No List » : l’audit complet, chaque stratégie et indicateur cités, avec leur verdict et la raison exacte de leur sélection ou de leur rejet.
Obtenir « The No List » →