Signal Pilot
🟠 Avancé • Leçon 63 sur 85

Le backtesting comme preuve

Temps de lecture ~14 min • Module 8 : Construire un système
Signal Pilot
Formation professionnelle au trading
0 %
Vous progressez !
Continuez votre lecture pour terminer cette leçon

Passer au crible 253 règles ordinaires de moyennes mobiles sur les soixante clôtures de ce cours fait sortir un gagnant qui rapporte 9,84 dollars par titre après coûts, contre 5,68 pour la conservation, sur 7 transactions, avec une statistique t de 3,65. Mélangez maintenant ces mêmes soixante mouvements de bougie à bougie pour qu’aucune structure temporelle ne survive, gardez la dérive et la volatilité exactement telles quelles, et relancez la recherche à l’identique. Sur 52,5 pour cent de ces séries sans structure, la meilleure règle bat la conservation d’au moins autant que la vraie l’a fait, et sur 77,2 pour cent elle la bat tout court. Le résultat se situe sous la médiane de ce que produit un marché qui ne contient rien. Un backtest d’une règle est une mesure ; un backtest de la meilleure de 253 est une mesure de la recherche.

Prérequis : Leçon 62, pour la phrase en quatre parties dans laquelle une règle doit être écrite avant même de pouvoir être testée, la leçon 19, pour ce que sept transactions peuvent et ne peuvent pas porter, et la leçon 11, pour le coût aller-retour que cette page retranche de chacun de ses chiffres.

La thèse, énoncée comme elle est vraiment défendue

Les arguments en faveur du backtesting sont bons et méritent d’être énoncés proprement avant qu’on leur fasse quoi que ce soit. Une règle est un jeu d’instructions. L’historique est un relevé de ce que les prix ont fait. On peut donc faire tourner les instructions sur le relevé et découvrir ce que la règle aurait rapporté, ce qui est un essai d’ingénieur ordinaire et non une superstition. Si elle a perdu, vous l’avez appris à bon compte. Si elle a gagné, vous avez au moins établi que l’idée n’est pas manifestement vide. Personne de sensé ne prétend qu’un backtest prédit l’avenir. La thèse est plus étroite et paraît inattaquable : un backtest vous dit si la règle a fonctionné.

Voici ce qu’il vous dit en réalité, sur des données que ce cours a déjà imprimées. Prenez les soixante clôtures et une famille de règles : acheteur quand une moyenne mobile rapide des clôtures croise au-dessus d’une lente, hors marché quand elle repasse en dessous. Longueurs rapides de 2 à 12, lentes de 3 à 30, la lente toujours plus longue que la rapide. Cela fait 253 configurations, ce qui est une petite recherche selon n’importe quel critère, et chacune d’elles est une règle qu’une personne raisonnable aurait pu proposer.

La convention d’exécution pèse plus qu’il n’y paraît, alors elle figure sur la page. Un croisement n’est visible qu’une fois une bougie close, donc le signal est lu à la clôture de la bougie i et la transaction se fait à la clôture de la bougie i plus un. Exécuter sur la bougie du signal elle-même est le biais d’anticipation qui fait fonctionner la moitié des backtests d’internet, et il vaut ici environ un tiers de l’écart apparent. Les coûts sont un cent de spread, cinq points de base de slippage par côté sur un prix voisin de 103, et un demi-cent par titre de commission, ce qui donne 0,1230 par titre pour un aller-retour. Toute position encore ouverte sur la dernière bougie y est fermée.

Lancez les 253 et la meilleure est une moyenne rapide à 2 bougies contre une lente à 5. Elle prend 7 transactions et rapporte 10,70 par titre brut, 9,84 après coûts, contre 5,68 pour acheter à la première clôture et vendre à la dernière. Son taux de réussite est de 6 sur 7, sa transaction moyenne vaut 0,910 d’un écart type de bougie, et la statistique t sur son propre relevé de transactions est de 3,65. Chacun de ces chiffres est du genre qui fait financer une stratégie.

Ce que la même recherche trouve dans un marché qui ne contient rien

Le test est bon marché. Prenez les 59 mouvements de bougie à bougie qui composent cette série, tirez-en 59 au hasard avec remise, puis mettez-les bout à bout à partir du même prix de départ. Le résultat a la même dérive et la même volatilité que l’original, bâti littéralement à partir des mêmes mouvements, et aucune structure temporelle : rien en lui ne peut être exploité par une règle qui dépend de l’ordre de quoi que ce soit, puisque l’ordre a été détruit. Faites cela 4 000 fois depuis la graine 20260903 et lancez sur chacune la même recherche à 253 cellules.

MesureValeur
Meilleure des 253, brut10,70
Meilleure des 253, après coûts9,84
Achat-conservation, après coûts5,68
Écart par rapport à la conservation4,16
Séries sans structure dont la meilleure cellule bat la conservation0,772
Séries sans structure qui dépassent l’écart réel0,525

Sur 77,2 pour cent des séries sans la moindre structure, la meilleure des 253 règles bat l’achat-conservation. Sur 52,5 pour cent elle la bat d’au moins les 4,16 qu’a trouvés la vraie recherche. Le résultat mesuré n’est pas seulement peu impressionnant face à cette distribution : il se place sous sa médiane. Quoi que la recherche ait trouvé sur les vraies clôtures, une recherche de même taille trouve mieux que cela, plus d’une fois sur deux, dans des données qui ne contiennent rien à trouver.

Remarquez ce que cela ne dit pas. Cela ne dit pas que la règle est mauvaise, et cela ne dit pas que la série n’a pas de structure. Cela dit que le nombre 9,84 a été produit par une procédure qui produit de toute façon des nombres comme 9,84, si bien que le nombre ne peut pas servir de preuve au sujet du marché. C’est un énoncé sur la mesure, et c’est la raison pour laquelle presque personne contre qui vous tradez n’a jamais vérifié la sienne : la vérification coûte une soirée et une boucle de rééchantillonnage, et elle ne peut que retirer un résultat.

Deux colonnes vont sur la feuille que ce module a ouverte à la leçon 62, à côté de la phrase. Ce que le backtest a rendu, ici 4,16 au-dessus de la référence. Et ce que la même recherche a rendu sur des données qui ne contiennent rien, ici 4,16 ou mieux dans 52,5 pour cent des tentatives. Une ligne dont la deuxième colonne n’est pas confortablement plus grande que la troisième n’a rien gagné, et la paire vaut davantage que l’un ou l’autre chiffre pris seul, car aucun des deux ne signifie grand-chose sans l’autre.

Les deux soustractions qui viennent avant

Les coûts d’abord, parce qu’ils sont la seule partie certaine de tout ceci. Un aller-retour coûte ici 0,1230 par titre, et un écart type de bougie sur cette série vaut 1,5443, donc un aller-retour vaut 0,0796 d’un R. Cela paraît petit jusqu’à ce qu’on le multiplie. La règle gagnante prend 7 transactions et paie donc 0,557R de coûts ; la conservation en prend une et paie 0,0796R. La règle qui trade souvent démarre avec un demi-R de retard avant que l’une ou l’autre ait raison sur quoi que ce soit, et le même coût vaut 0,0398R face à un stop à deux sigmas et 0,1593R face à un stop à un demi-sigma, parce que le coût est fixé en cents et que le R ne l’est pas.

La référence ensuite, et c’est la soustraction qui manque presque toujours. La meilleure cellule a fait 9,84. La conservation a fait 5,68. L’apport de la règle n’est pas 9,84, il est de 4,16, parce que la série a monté et que toute règle qui passe du temps acheteuse ramasse cette montée qu’elle ait compris quelque chose ou non. Un backtest qui rapporte la courbe de capital de la stratégie et jamais celle de la référence a caché le plus grand des deux chiffres.

La ligne que le test sur échantillon scindé ne peut pas voir

La défense habituelle contre tout cela est le test hors échantillon, et il vaut vraiment la peine, alors faisons-le ici. Optimisez sur les trente premières clôtures seulement. La meilleure cellule sur cette fenêtre est de nouveau la paire 2 et 5, qui fait 5,53 net sur 3 transactions, sur un tronçon où l’achat-conservation a perdu 0,82. Cela ressemble à une règle qui trouve quelque chose dans un marché qui n’offrait rien. Gelez les paramètres, ne touchez à rien, et lancez-les sur les trente dernières clôtures.

FenêtreMeilleure règle, netAchat-conservation, netOpérations
Bougies 1 à 30, optimisé ici5,53-0,823
Bougies 31 à 60, paramètres gelés4,296,885

Elle passe. La performance est tombée de 5,53 à 4,29, une dégradation de 22 pour cent, et toutes les listes de contrôle du domaine considèrent tout ce qui est sous 30 pour cent comme un succès. La règle n’était pas surajustée au sens où la liste l’entend : elle a vraiment continué de fonctionner sur des données qu’elle n’avait jamais vues.

Et sur ces mêmes bougies jamais vues, ne rien faire a rapporté 6,88. La règle validée a perdu contre la référence de 2,59 sur la fenêtre même qui devait la justifier, et le test hors échantillon ne pouvait pas le signaler, puisqu’il ne contient nulle part de référence. Le test demande si un résultat se répète. Il ne demande jamais si le résultat valait la peine.

Les mêmes soixante clôtures, à quatre degrés d’honnêteté

Rien de ce qui suit ne change les données ni la règle. Le croisement 2 et 5 est la même règle à chaque degré, lancée sur les mêmes soixante clôtures. Seul ce à quoi on la compare change, et chaque degré est celui auquel la plupart des backtests s’arrêtent.

Arrêtez-vous au premier degré et la règle a fait 10,70 par titre sur 7 transactions dont 6 gagnantes. Arrêtez-vous au deuxième et les coûts la ramènent à 9,84, soit une coupe de 8 pour cent, ce qui donne une impression de sérieux, car une page qui retranche les coûts a l’air soigneuse. Arrêtez-vous au troisième et la référence la ramène à 4,16, ce qui la coupe encore de plus de moitié, et c’est déjà plus loin que ne vont la plupart des backtests publiés.

Le quatrième degré est celui qui change le verdict et non la taille. Retirez les mouvements, relancez la recherche, et 52,5 pour cent des séries sans structure produisent une meilleure cellule qui bat la conservation de 4,16 ou davantage. La statistique t de 3,65 de la règle elle-même n’est pas fausse ; elle répond à une autre question. Elle mesure avec quelle assurance les 7 transactions de cette cellule s’écartent de zéro, et elle n’a aucun moyen de savoir que 252 autres cellules ont passé l’audition et ont été écartées. La statistique t se calcule à l’intérieur du gagnant. La recherche, elle, a eu lieu dehors.

Un backtest mesure la recherche que vous avez lancée, pas le marché sur lequel vous l’avez lancée.

Ce qui survit est plus que cela n’en a l’air. Un backtest continue de tuer des règles, à bas coût et définitivement : une règle qui perd dans l’échantillon, avant coûts, est morte, et l’apprendre en un après-midi est l’essentiel de ce à quoi sert la technique. Ce qu’il ne peut pas faire seul, c’est en promouvoir une. La promotion réclame la référence, les coûts et la loi nulle rééchantillonnée, et la loi nulle est une boucle de code.

Lancez donc ce soir les quatre degrés sur votre propre règle, dans cet ordre, et arrêtez-vous au premier qui retire le résultat.

Ce que cela ne règle pas

Que le backtesting ne marche pas. La page a testé une famille de règles sur une série de soixante bougies avec une recherche à 253 cellules, alors qu’un vrai programme tourne sur des milliers de bougies et de nombreux instruments, où le bruit d’échantillonnage que cette page exploite est bien plus faible. L’argument sur l’inflation par recherche ne dépend de la taille ni de l’un ni de l’autre, mais les 52,5 pour cent précis en dépendent, et sur une série plus longue la même recherche fabriquerait un écart proportionnellement plus petit. Rien ici ne montre que la technique est inutile ; cela montre ce qu’un résultat doit survivre avant de vouloir dire quelque chose.

Que le test par rééchantillonnage soit la bonne loi nulle. Tirer des mouvements avec remise détruit toute la structure temporelle d’un coup, ce qui en fait un test de savoir si la règle exploite l’ordre, et rien d’autre. Cela détruit aussi le regroupement de volatilité, qui est réel et qu’une règle de croisement peut réellement trader, si bien que la loi nulle est à cet égard trop facile à battre et que la vraie proportion est plutôt au-dessus de 52,5 pour cent qu’en dessous. Un bootstrap par blocs préserverait une partie de cette structure et c’est l’étape honnête suivante ; cette page n’en lance pas.

Que les coûts soient les vôtres. Un cent de spread et cinq points de base de slippage décrivent un instrument liquide en petite taille. Sur quelque chose de plus large ils sont gravement optimistes, et sur une grande capitalisation profonde à cent titres ils sont pessimistes. Chaque chiffre de cette page bouge avec cette hypothèse, et la règle à 7 transactions bouge environ sept fois plus vite que la référence, ce qui est le sens qui flatte la conservation.

Que l’achat-conservation soit la bonne référence. C’est la bonne ici parce que la règle est uniquement acheteuse sur une série qui monte, et c’est la mauvaise pour une règle qui vend à découvert, ou pour un tronçon qui a baissé. Sur une série qui baisse, toute règle uniquement acheteuse paraît médiocre face à la conservation pour une raison qui n’a rien à voir avec la règle, et se choisir une référence qui vous flatte est la même faute que se choisir une fenêtre qui le fait. La référence doit être choisie avant le test, et cette page l’a choisie après, parce que la série était déjà écrite.

Que le résultat de l’échantillon scindé se généralise. Trente bougies par moitié, c’est bien trop peu, la fenêtre dans l’échantillon contient 3 transactions et celle hors échantillon 5, et avec des échantillons aussi petits le chiffre de 22 pour cent de dégradation ne porte presque aucune information. Le constat qu’il soutient n’est pas que les tests hors échantillon laissent d’ordinaire passer de mauvaises règles ; c’est le constat plus étroit et plus ferme qu’ils peuvent laisser passer une règle qui perd contre la référence, parce qu’ils ne contiennent aucune référence. Ce défaut est structurel et ne dépend pas du tout de la taille de l’échantillon.

Et la concession qui coûte le plus : cette page vous dit de retrancher ce que la recherche aurait produit, et ne donne aucun moyen de le faire pour la recherche que vous avez réellement menée. Les 253 cellules sont dénombrables parce qu’elles ont été codées. Les règles que vous avez regardées sur un graphique et abandonnées, le paramètre que vous avez déplacé deux fois puis remis, l’instrument que vous avez essayé en premier et laissé tomber parce qu’il était laid — ce sont aussi des configurations, elles ne sont pas consignées, et elles sont presque sûrement plus nombreuses que 253. La correction de cette page n’est calculable que pour la part de la recherche qui a été assez honnête pour être écrite. La leçon 64 prend ce problème de front et trouve que l’inflation est prévisible à l’avance à partir du seul décompte : pour une recherche de 15 000 configurations sur 156 transactions, la meilleure cellule affiche 0,351R d’écart avant que le marché ait fait quoi que ce soit.

Exercices

  1. Chiffrez un aller-retour en R. Prenez le spread de votre instrument, la commission de votre courtier et un chiffre de slippage que vous défendriez, additionnez-les pour un aller-retour et divisez par un écart type de bougie sur l’unité de temps que vous tradez. Dix minutes, et vous repartez avec un chiffre, le coût d’une transaction en R, qui est le montant que tous les backtests que vous avez lus ont laissé de côté.
  2. Mettez la référence à côté de votre règle. Prenez une règle que vous tradez déjà ou que vous croyez déjà, faites-la tourner sur deux cents bougies nette du coût que vous venez de calculer, et sur les mêmes deux cents bougies calculez ce qu’acheter à la première clôture et vendre à la dernière aurait rapporté. Une demi-heure, et vous repartez avec un chiffre, l’écart entre les deux, qui est la seule part de votre courbe de capital dont la règle est responsable.
  3. Lancez la loi nulle. Prenez les variations de bougie à bougie de ces mêmes deux cents bougies, tirez-en deux cents au hasard avec remise, mettez-les bout à bout et relancez toute votre recherche sur la série synthétique. Faites cela mille fois avec une graine que vous notez, et comptez combien de fois le meilleur résultat bat la référence d’au moins ce qu’a trouvé votre vraie recherche. Une soirée, et vous repartez avec un chiffre, la proportion, qui est la probabilité qu’un marché ne contenant rien vous ait remis ce que vous avez trouvé.

Sources. Halbert White, « A Reality Check for Data Snooping » (Econometrica, 2000), pour la procédure bootstrap que cette leçon exécute en miniature, et pour l’argument selon lequel c’est la distribution de la meilleure règle, et non celle d’une règle, qui doit servir à juger une recherche. Ryan Sullivan, Allan Timmermann et Halbert White, « Data-Snooping, Technical Trading Rule Performance, and the Bootstrap » (The Journal of Finance, 1999), pour la même expérience menée à pleine échelle sur un siècle de données quotidiennes et des milliers de règles, qui est l’étude dont cette page est une imitation à soixante bougies. David H. Bailey, Jonathan M. Borwein, Marcos López de Prado et Qiji Jim Zhu, « Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance » (Notices of the American Mathematical Society, 2014), pour le résultat que le nombre de configurations essayées suffit à lui seul à prédire quelle quantité d’écart apparent va surgir, ce qui est précisément ce que calcule la leçon suivante. Bradley Efron, « Bootstrap Methods: Another Look at the Jackknife » (The Annals of Statistics, 1979), pour la méthode de rééchantillonnage dont la loi nulle de cette leçon est bâtie.

Leçons associées
Leçon 62

Ce qu’il faudrait pour que ce soit faux

La phrase en quatre parties dans laquelle une règle doit être écrite avant même de pouvoir être testée.

Lire la leçon →
Leçon 19

Combien de temps avant de le savoir

Ce que sept transactions et une statistique t de 3,65 peuvent et ne peuvent pas porter.

Lire la leçon →
Leçon 11

Slippage et impact à taille de particulier

Le coût aller-retour que cette leçon retranche de chaque chiffre de la page.

Lire la leçon →
À but éducatif uniquement. Le trading comporte un risque de perte substantiel. Ceci n'est pas un conseil financier. Les performances passées ne garantissent pas les résultats futurs.

💬 Discussion (0 commentaire)

0/1000

Chargement des commentaires…

← Leçon précédente Leçon suivante →

Prêt à trader avec Signal Pilot ?

Mettez votre formation en pratique avec des indicateurs professionnels et des outils d'analyse de marché en temps réel.

Retour à Signal Pilot →