Le backtesting consiste à tester une méthode sur des données passées. Le replay en est la forme manuelle : le marché est rejoué bougie par bougie, sans montrer la suite, et tu prends tes décisions comme en séance. La différence entre les deux tient en un mot, et c'est ce mot qui décide de la valeur du résultat.
Sommaire
Les traders définissent le backtesting comme le fait d'appliquer une méthode à des données passées pour savoir ce qu'elle aurait rendu. Le sens que la plupart lui donnent est celui du test automatique : un programme balaie l'historique et donne beaucoup de chiffres très vite. Fait à la main, il devient un replay : le marché avance bougie par bougie et s'arrête là où tu es.
La distinction qui compte n'est pas technique, elle est cognitive. Un test automatique n'a pas d'opinion, donc il ne triche pas, mais il ne teste que ce que tu as su écrire en règles. Un replay teste ce que tu fais réellement, hésitations comprises, à la condition stricte que la suite reste cachée. Une relecture d'un graphique dont on connaît déjà l'issue ne teste rien du tout : elle confirme.
Et il faut dire ce que le rejeu ne reconstitue pas. Il rejoue des bougies, c'est-à-dire un prix dans le temps. Il ne reconstruit ni le carnet d'ordres, ni les primes et la volatilité implicite d'une chaîne d'options, ni le glissement d'exécution réel d'un gros ordre. Sur ces sujets, un rejeu sincère dit ce qu'il ne sait pas plutôt que de faire semblant.
Un test utile = un setup défini à l'avance × assez d'occurrences × la suite cachée
Le setup défini à l'avance est la condition la plus souvent ratée. Un setup qui se précise au fil du rejeu décrit les trades qu'on a pris, pas une règle.
Le nombre d'occurrences est ce que le rejeu fait gagner : c'est du temps compressé, et c'est sa seule vraie promesse.
La suite cachée n'est pas négociable. Dérouler un graphique qu'on a déjà vu produit des statistiques flatteuses qui ne décrivent aucune décision.
Le setup tient en rejeu et ne tient pas en réel. Ce n'est pas la méthode qui est en cause, c'est l'écart entre les deux populations : 52 décisions prises au calme contre 19 prises en séance. Ce chiffre-là ne s'obtient qu'en calculant les mêmes statistiques des deux côtés, et il désigne un travail d'exécution plutôt qu'un travail de stratégie.
C'est la seule promesse que le rejeu tient à coup sûr, et elle suffit à le justifier. Un setup qui se présente deux fois par semaine demande six mois pour donner cinquante occurrences en réel, et une soirée en rejeu.
En dessous d'une trentaine de cas, aucun chiffre tiré d'un test ne mérite qu'on change quoi que ce soit. C'est précisément ce plancher que le rejeu permet d'atteindre avant d'engager de l'argent.
Calcule les mêmes statistiques des deux côtés, sur le même setup. L'écart entre l'espérance en rejeu et l'espérance en réel est une mesure directe de ce que coûtent les conditions de séance, et c'est un chiffre que rien d'autre ne donne.
Il a aussi le mérite de trancher une question qu'on se pose autrement pendant des années : faut-il changer de méthode, ou apprendre à tenir celle qu'on a.
Le premier défaut est le graphique déjà vu. Rejouer une période dont on se souvient ne teste aucune décision, ça confirme un souvenir. C'est le défaut le plus courant et le plus difficile à s'avouer, parce que le résultat est excellent et qu'on a bien l'impression d'avoir travaillé.
Le deuxième est le setup qui se précise en route. Ajouter une condition après une occurrence qui aurait perdu produit une règle taillée sur ses propres données, et elle ne se reproduira jamais. La règle s'écrit avant, en une phrase, et elle ne bouge plus jusqu'à la fin du test.
Le troisième est de croire le rejeu sur parole. Il ne connaît ni le carnet d'ordres, ni le glissement sur un gros ordre, ni une chaîne d'options. Un setup dont la rentabilité tient à quelques ticks est précisément celui que le rejeu mesure le plus mal.
L'erreur classique. Rejouer une période qu'on a vécue. Le résultat est excellent, le travail a l'air sérieux, et rien n'a été testé : on ne prend pas une décision quand on connaît déjà la suite, on la reconstitue. Une période ancienne ou un instrument qu'on ne suit pas coûte exactement le même temps et rend un chiffre qui veut dire quelque chose.
| Indicateur | Formule | Ce qu'il mesure | Quand l'utiliser |
|---|---|---|---|
| Replay | décisions prises à la main, suite cachée | Ce que tu fais vraiment | Tester une méthode discrétionnaire |
| Backtest automatique | un programme balaie l'historique | Ce que tes règles écrites rendent | Tester une méthode entièrement codée |
| Compte de démonstration | temps réel, argent fictif | L'exécution, au rythme réel | S'habituer à une plateforme |
| Journal des trades réels | ce qui s'est passé | Ce que tu fais avec de l'argent | Tout le reste de ce glossaire |
Une phrase, pas une page, et elle ne bouge plus jusqu'à la fin du test. Un setup qui se précise en route produit une règle taillée sur ses propres données, et elle ne se reproduira jamais en séance.
C'est la seule protection contre la confirmation. Un graphique dont on se souvient donne un test excellent et vide. Une période ancienne, ou un instrument que tu ne suis pas, coûte le même temps et vaut infiniment plus.
Win rate, espérance et R moyen sur le rejeu, puis sur le même setup en réel. Ce n'est pas le chiffre du rejeu qui t'apprend quelque chose, c'est l'écart entre les deux.
C'est le fait d'appliquer une méthode à des données passées pour savoir ce qu'elle aurait rendu. Tester ainsi une stratégie dit ce qu'une règle aurait donné, et rien sur ce que tu en aurais fait en séance. Fait par un programme, il balaie l'historique et donne beaucoup de chiffres vite. Fait à la main, il devient un replay : le marché avance bougie par bougie et s'arrête là où tu es.
Le backtest automatique teste des règles écrites, parfaitement et sans opinion, mais il ne teste que ce que tu as su écrire. Le replay teste ce que tu fais réellement, hésitations comprises, à la condition stricte que la suite reste cachée. Une méthode discrétionnaire n'est pas testable autrement.
Une trentaine au minimum, et cinquante est plus confortable. En dessous, l'écart observé tient au hasard de l'échantillon et aucun chiffre ne mérite qu'on change une règle. C'est précisément ce plancher que le rejeu permet d'atteindre en une soirée plutôt qu'en six mois.
Trois règles suffisent : écrire le setup en une phrase avant de commencer et n'y plus toucher, rejouer une période que tu n'as pas vécue, et calculer les mêmes statistiques sur le rejeu et sur ton réel. La troisième est celle qu'on saute, et c'est la seule qui produit une information nouvelle.
Non, et c'est une limite à connaître avant de s'y fier. Un rejeu rejoue des bougies, c'est-à-dire un prix dans le temps. Il ne reconstruit ni une chaîne d'options avec ses primes et sa volatilité implicite, ni le carnet d'ordres, ni le glissement réel d'un gros ordre.
L'écran Backtesting rejoue l'historique bougie par bougie sans montrer la suite, avec un moteur d'exécution simulée. Les coûts se règlent à l'ouverture de la session, spread, slippage, commission et swap, et chaque type d'ordre a sa règle : un ordre au marché part au close de la bougie avec le spread et le slippage, un ordre limite est rempli au niveau ou mieux et sans glissement, un ordre stop subit le glissement parce qu'il consomme de la liquidité. Le retour arrière est possible, et il efface réellement ce qui a été fait après le point où tu reviens, à l'écran comme en base, pour qu'une session ne garde jamais deux versions de la même décision.
Les trades pris en rejeu sont analysés avec les mêmes statistiques que tes trades réels, ce qui est tout l'intérêt : le win rate, le R et l'espérance d'une session de backtest se comparent directement à ceux de ton journal. Le point de reprise d'une session, lui, vit en mémoire : fermer l'onglet le perd. Le résultat, lui, est enregistré à chaque pas.
Pour aller au fond du sujet : lire le guide complet. Tous les termes sont réunis dans le glossaire.