Étape 1 : écrire des règles qu’un ordinateur pourrait suivre

Un backtest ne vaut que ce que valent ses règles. « Acheter les cassures fortes » est une idée ; une règle dit exactement ce que signifient forte et cassure, pour que chaque trade du test en soit un que vous auriez vraiment pris. Un jeu de règles complet couvre les décisions de la liste ci-dessous, les mêmes que celles d’un plan de trading.

Hypothèse, version précise d’un opening range breakout : sur un graphique en 5 minutes, après 9 h 45 (heure de New York), acheter quand une bougie clôture au-dessus du plus haut du range des 15 premières minutes avec le prix au-dessus du VWAP ; stop au plus bas du range ; objectif 2R ; risque de 0,5 % du compte ; aucun trade les jours de résultats ; clôturer tout trade ouvert à 15 h 55.

  • Marché et unité de temps : quels titres, quel graphique, quelles heures.
  • Setup et déclencheur : la condition exacte, jugée sur une bougie clôturée.
  • Stop et sortie : où le trade est faux, et comment il se termine.
  • Taille : le risque par trade et le calcul du nombre d’actions, comme dans le calculateur de taille de position.
  • Filtres : ce qui vous tient à l’écart, comme les jours d’annonces ou un marché baissier.

Le backtest manuel avec Bar Replay

Si vos règles demandent du jugement, comme tracer des niveaux, testez-les à la main. Le Bar Replay de TradingView cache le futur et fait avancer le graphique une barre à la fois ; le guide Bar Replay présente les commandes. À chaque barre clôturée, décidez si le setup est là, placez l’entrée, le stop et l’objectif avant d’avancer, et notez le résultat en R.

Partez de dates au hasard, incluez des périodes calmes et heurtées, et notez chaque trade valide, y compris ceux que vous préféreriez ignorer. Une poignée de trades ne prouve rien : visez un échantillon qui couvre des conditions de marché différentes.

Le backtest automatique avec le Strategy Tester de TradingView

Si les règles sont assez précises pour être codées, écrivez-les sous forme de stratégie Pine Script, un script déclaré avec strategy() au lieu de indicator(), et ajoutez-la à un graphique. Le Strategy Tester, dans le panneau sous le graphique, simule alors chaque trade sur l’historique chargé et affiche les résultats. Avant de lire quoi que ce soit, ouvrez les paramètres de la stratégie et saisissez une commission et un slippage réalistes dans l’onglet Propriétés ; sinon, le test suppose que le trading est gratuit.

L’onglet de la liste des trades permet de vérifier chaque trade sur le graphique, le moyen le plus rapide de repérer une erreur de code. Parmi les nombreux chiffres du rapport, quatre répondent aux premières questions, et aucun ne veut dire grand-chose seul :

  • Profit net (Total P&L dans l’onglet Overview) : le résultat après la commission et le slippage saisis.
  • Drawdown maximal : la plus forte baisse du capital depuis un sommet. Demandez-vous si vous pourriez le supporter, en argent et en durée, sur un vrai compte.
  • Profit factor : les gains bruts divisés par les pertes brutes. Au-dessus de 1, les gagnants ont pesé plus que les perdants au total, dans cet échantillon et avec ces coûts.
  • Nombre de trades : la taille de l’échantillon. Une stratégie à une douzaine de trades est à peine testée, aussi beaux que soient les autres chiffres.

Tournez votre téléphone pour lire le dessin. Touchez pour fermer.

Un rapport du Strategy Tester dessiné à la main, sans chiffres : quatre cases qui n’affichent qu’un tiret comme valeur, intitulées profit net (après commissions et slippage ?), drawdown max (pire chute depuis un sommet), profit factor (gains bruts ÷ pertes brutes) et nombre de trades (assez pour conclure ?), sous un bandeau avec la note à lire ensemble, jamais une seule. En dessous, une courbe de capital verte avec un creux hachuré en rouge marqué drawdown.

Le surajustement : pourquoi un backtest parfait est un signal d’alerte

Le surajustement (overfitting ou curve-fitting) consiste à régler les règles jusqu’à ce qu’elles collent au bruit du passé. Chaque condition ajoutée et chaque paramètre retouché peuvent améliorer le backtest, et chacun rend le résultat moins susceptible de se répéter. Le dessin ci-dessous montre l’issue typique : une courbe de capital lisse sur les données qui ont servi à régler les règles, puis une ligne plate ou descendante sur de nouvelles données. Les parades utiles :

  • Peu de règles et des paramètres ronds. Une moyenne sur 20 périodes inspire plus confiance qu’une moyenne sur 17 choisie par un optimiseur.
  • Mettre des données de côté. Réglez sur une période de l’historique, puis lancez une seule fois les règles inchangées sur une période ultérieure jamais vue (out-of-sample).
  • Regarder les voisins. Si le réglage 20 fonctionne mais que 18 et 22 s’effondrent, l’avantage est probablement du bruit.
  • Tester d’autres titres et d’autres périodes, dont un marché sans tendance, et compter combien de versions vous avez essayées : la meilleure de nombreuses tentatives paraît meilleure qu’elle ne l’est.

Tournez votre téléphone pour lire le dessin. Touchez pour fermer.

Deux courbes de capital dessinées à la main dans le temps, séparées par une ligne verticale en tirets entre in-sample : règles réglées ici (à gauche) et out-of-sample : nouvelles données (à droite, grisé). La courbe rouge surajustée monte de façon lisse et raide jusqu’à la ligne, marquée trop parfait, puis zigzague vers le bas sur les nouvelles données. La courbe verte des règles simples est irrégulière mais continue de monter lentement des deux côtés, marquée irrégulier, mais ça tient.

Autres pièges du backtest : biais d’anticipation, repainting, coûts et petits échantillons

Même des règles honnêtes peuvent donner un test trompeur. Les pièges habituels :

  • Biais d’anticipation (look-ahead) : le test utilise une information qui n’était pas disponible au moment voulu, comme le plus haut du jour sur une bougie du matin, ou une valeur d’unité de temps supérieure prise avant la clôture de sa barre, une erreur fréquente en analyse multi-timeframe.
  • Repainting : des signaux qui bougent ou disparaissent après coup font paraître l’historique meilleur que le trading réel. Le guide du repainting montre comment le tester.
  • Coûts et slippage : commission, spread et slippage se paient des deux côtés de chaque trade. Hypothèse, comme dans le dessin ci-dessous : une règle qui gagne en moyenne 0,05 $ par action et par trade avant coûts, avec 0,01 $ de commission et 0,02 $ de slippage par action de chaque côté, finit à −0,01 $ par action. Les stratégies rapides à petits objectifs sont les plus touchées.
  • Hypothèses d’exécution : une stratégie qui achète à la clôture de la bougie signal, ou qui suppose que chaque ordre à cours limité est exécuté, peut paraître meilleure que ce que vous obtiendriez.
  • Trop peu de trades : une poignée de résultats peut relever de la chance, dans un sens comme dans l’autre.
  • Biais du survivant : tester uniquement les actions qui existent aujourd’hui écarte les sociétés radiées ou sorties d’un indice, ce qui embellit les résultats.

Tournez votre téléphone pour lire le dessin. Touchez pour fermer.

Un graphique en cascade dessiné à la main, par action et par aller-retour, marqué hypothétique : une barre verte de +0,05 avant coûts, une marche rouge de −0,02 pour la commission et une marche rouge plus grande de −0,04 pour slippage + spread, qui aboutit à une petite barre rouge nette de −0,01 sous la ligne du zéro.

Forward test avant l’argent réel, et un journal

Un forward test applique les règles inchangées à des données qui n’existaient pas quand vous les avez écrites : dans le Paper Trading de TradingView, à la main sur des graphiques en direct ou avec une très petite taille réelle. Il vérifie ce qu’un backtest ne peut pas vérifier : les vraies exécutions et les vrais spreads, et le fait que vous suiviez réellement les règles quand les signaux arrivent.

Notez chaque trade du forward test en R dans un journal de trading, et comparez les résultats au backtest une fois assez de trades accumulés. S’ils sont nettement moins bons, cherchez la raison, comme les coûts, les exécutions, une règle que vous contournez ou un marché qui a changé, avant d’ajouter de l’argent. Les mêmes contrôles valent pour les statistiques intégrées à tout indicateur, y compris le tableau de résultats d’UpTickFlow, notre propre indicateur sur invitation : il reste un test du passé.