Points clés
- Un backtest ne répond qu'à la question de ce que les règles auraient fait selon les hypothèses que vous avez choisies.
- Le surajustement augmente avec chaque paramètre réglable ; privilégiez les règles simples et les plateaux stables.
- Les erreurs de survivant et d'anticipation gonflent les résultats sans le moindre signal d'alerte visible.
- Incluez des coûts réalistes, utilisez des données hors échantillon et testez en avant avant d'engager du capital réel.
Un backtest rejoue une règle de trading sur des données historiques pour voir comment elle aurait performé. C'est un filtre utile, mais il est aussi remarquablement facile de s'y tromper. Bien des courbes d'equity impressionnantes viennent de la configuration du test plutôt que de l'idée elle-même. Connaître les pièges courants aide à distinguer un résultat prometteur d'un résultat flatteur.
Ce qu'un backtest peut et ne peut pas vous dire
Un backtest répond à une question étroite : étant donné ces règles, ces données et ces hypothèses sur les coûts et les exécutions, que se serait-il passé ? Il ne peut pas dire ce qui va se passer. Au mieux, il permet d'écarter à peu de frais les idées faibles et de donner une image approximative de la fréquence des pertes d'une méthode, de la profondeur de ses drawdowns et de sa sensibilité aux paramètres.
Comme c'est vous qui choisissez les données, les règles et les hypothèses, chaque choix est une occasion pour un biais de s'infiltrer. Les cinq pièges ci-dessous expliquent l'essentiel de l'écart entre résultats backtestés et résultats réels.
| Piège | Ce qui ne va pas | Un contrôle rapide |
|---|---|---|
| Surajustement | Les règles sont ajustées jusqu'à épouser le bruit du passé | Une petite modification des paramètres détruit-elle le résultat ? |
| Biais du survivant | Les données ne comprennent que les actifs qui existent encore | Le jeu de données inclut-il des instruments radiés ou fusionnés ? |
| Biais d'anticipation | Le test utilise des informations pas encore disponibles | Cette valeur aurait-elle pu être connue au moment du trade ? |
| Coûts ignorés | Spread, commission, slippage et swap sont omis | Le résultat reste-t-il positif avec des coûts réalistes doublés ? |
| Data snooping | De nombreuses idées sont testées et seule la meilleure est retenue | Combien de variantes ont été essayées avant celle-ci ? |
Surajustement : s'ajuster au bruit
Le surajustement (overfitting), aussi appelé curve fitting, consiste à façonner une stratégie si étroitement sur les données passées qu'elle capte des bizarreries aléatoires plutôt qu'un comportement reproductible. Plus une règle comporte de paramètres réglables, plus c'est facile à faire.
Voici un exemple d'échelle. Imaginons que vous testiez des longueurs de moyenne mobile de 5 à 100 par pas de 5 (20 valeurs), des tailles de stop en 20 paliers et 10 objectifs de gain différents. Cela fait 20 × 20 × 10 = 4 000 combinaisons. Même si chacune était un pile ou face sans aucun avantage réel, une poignée paraîtrait excellente par pur hasard. Retenir le gagnant parmi 4 000 essais aléatoires vous dit lequel a eu le plus de chance, pas lequel est le meilleur.
Biais du survivant : les perdants manquants
Le biais du survivant apparaît lorsque le jeu de données ne contient que des actifs qui ont survécu jusqu'à aujourd'hui. Les sociétés qui ont fait faillite, ont été radiées ou ont été rachetées à perte en sont discrètement absentes, et leurs pertes aussi. Tester une règle de sélection d'actions sur la liste actuelle des membres d'un indice en est un cas classique.
Des chiffres illustratifs montrent l'effet. Supposons que 100 actions soient disponibles au début d'une période de dix ans. Quatre-vingts survivent et rapportent en moyenne 10 % par an. Vingt sont radiées et perdent en moyenne 15 % par an. L'ensemble du groupe a rapporté en moyenne (80 × 10 + 20 × −15) ÷ 100 = 5 % par an. Un test n'utilisant que les survivantes affiche 10 %, soit le double de la réalité. Le même problème peut toucher les fonds, les systèmes de trading dont les historiques sont publiés et même les paires de devises retirées d'une plateforme.
Biais d'anticipation : connaître l'avenir par accident
Le biais d'anticipation (look-ahead) signifie que le test utilise des données qui n'auraient pas été disponibles au moment de la décision. Il est souvent subtil. Parmi les exemples : acheter au cours de clôture d'une barre alors que le signal a été calculé à partir de cette même clôture, utiliser le plus haut ou le plus bas de la journée pour placer un ordre plus tôt dans cette journée, ou travailler avec des chiffres économiques dans leur version révisée ultérieurement plutôt que dans celle publiée à l'époque.
- Tradez à l'ouverture de la barre suivante, et non sur la barre qui a produit le signal, sauf si vous pouvez réellement agir à la clôture.
- Vérifiez que chaque indicateur n'utilise que des valeurs passées, en particulier les indicateurs personnalisés ou « repainting », qui modifient après coup leurs tracés historiques.
- Utilisez des données point-in-time pour les données fondamentales et pour la composition des indices.
- Méfiez-vous de tout résultat qui paraît trop lisse. Le trading réel produit rarement des courbes parfaitement régulières.
Coûts, exécutions et taille de l'échantillon
Une règle qui dégage un petit avantage par trade peut disparaître dès qu'on ajoute les coûts. Les méthodes intraday comportant de nombreux trades sont les plus exposées, car chaque trade repaie le spread. Modélisez les coûts de façon prudente, utilisez des spreads réalistes pour l'heure de la journée et ajoutez du slippage pour les ordres stop, qui s'exécutent généralement à un prix moins favorable que leur niveau lors des mouvements rapides.
La taille de l'échantillon compte autant. Un backtest de 25 trades n'est qu'une anecdote. De nombreux praticiens recherchent au moins quelques centaines de trades, répartis sur différentes conditions de marché, avant d'accorder une quelconque confiance aux statistiques. Les conditions comptent aussi : un test réalisé uniquement pendant une longue tendance haussière régulière en dit peu sur un marché en range ou en baisse.
Un processus de validation plus honnête
- Écrire les règles avant de tester. Mettez l'hypothèse et les règles par écrit, y compris le nombre de paramètres que vous ferez varier. Cela limite votre marge d'ajustement après avoir vu les résultats.
- Séparer les données. Ajustez vos règles sur une période antérieure, dite in-sample (échantillon d'apprentissage), et gardez intacte une période ultérieure, dite out-of-sample (hors échantillon). Une répartition courante consiste à consacrer environ 70 % à la construction et 30 % à la vérification.Astuce : Ne regardez les données mises de côté qu'une seule fois. Des coups d'œil répétés les transforment en données in-sample.
- Éprouver les paramètres. Poussez chaque paramètre vers le haut puis vers le bas. Si les résultats changent radicalement, la règle est fragile.
- Ajouter des coûts réalistes. Incluez spread, commission, swap et slippage, puis doublez les coûts et voyez s'il reste quelque chose.
- Walk-forward. Réajustez sur une fenêtre glissante et testez sur la tranche suivante, encore inconnue, en répétant l'opération sur l'ensemble des données. Cela imite la façon dont vous auriez réellement dû adapter les règles.
- Tester en avant à petite échelle. Faites tourner les règles sur un compte démo ou à taille minimale pendant un nombre significatif de trades et comparez le comportement réel au backtest.
Questions fréquentes
De combien de trades ai-je besoin dans un backtest ?
Il n'existe pas de seuil fixe, mais quelques dizaines sont largement insuffisantes. Davantage de trades réduit le bruit dans les statistiques, et couvrir différentes conditions de marché compte tout autant que le nombre brut.
Un test hors échantillon suffit-il à prouver qu'une stratégie fonctionne ?
Non. Il réduit le risque de surajustement sans le supprimer, surtout si vous essayez de nombreuses idées et ne gardez que celle qui passe. Il ne peut pas non plus rendre compte des changements futurs du marché.
Quelle est la différence entre un backtest et un test en avant ?
Un backtest utilise des données passées, tandis qu'un test en avant fait tourner les règles sur de nouvelles données au fur et à mesure qu'elles arrivent, sur un compte démo ou avec une petite taille réelle. Les tests en avant révèlent des problèmes d'exécution et de coûts que l'historique masque.
Puis-je me fier au backtest publié par un fournisseur ?
Considérez-le comme du marketing tant que vous ne connaissez pas la source des données, les coûts, le nombre de variantes essayées et si les résultats sont réels ou simulés. Un historique réel vérifié et audité de façon indépendante pèse plus lourd que n'importe quelle simulation.