601 / 736LOOK

Look-ahead Bias

Biais lié à l’utilisation d’informations futures

Look-ahead Bias apparaît lorsqu’un test historique regarde dans le futur pour décider. Il peut, par exemple, acheter le matin à partir d’un cours connu seulement le soir. Le résultat semble convaincant, alors qu’une telle décision était impossible avec les informations disponibles à l’époque.

Look-ahead Bias est une erreur par laquelle une information disponible plus tard intervient dans une décision antérieure, l’entraînement d’un modèle ou le choix d’une règle. C’est sa disponibilité réelle qui compte, pas seulement la date inscrite dans le tableau. Mesurer ensuite le résultat d’une décision déjà prise n’est pas en soi une erreur.

Peter teste sur son ordinateur la manière dont une règle aurait négocié dans le passé. Le tableau contient déjà toute l’histoire : le programme peut donc lire par inadvertance une information que Peter ne pouvait pas encore connaître. QuantConnect décrit ainsi Look-ahead Bias. Pour chaque donnée, demandons si elle était disponible lorsque la règle a décidé. Une date peut ne pas suffire. Un événement peut se produire le matin, être annoncé plus tard et parvenir au trader encore après. Le test doit respecter cette succession, pas simplement trier les lignes par date. [2]

Une bougie résume un intervalle : cours d’ouverture et de clôture, plus haut, plus bas et volume. Tant que l’intervalle se poursuit, ses valeurs définitives restent inconnues. Peter ne peut donc pas acheter au début à partir du plus haut final de cette même bougie. LEAN, le moteur utilisé par QuantConnect, transmet les données achevées selon EndTime. Si l’on combine des intervalles courts et longs, il faut vérifier la disponibilité de chaque série séparément. Décaler une ligne n’aide que si cela correspond réellement à la disponibilité, fuseaux horaires et retards compris. [1]

Peter télécharge des données économiques datées des mois précédents. Certaines ont depuis été révisées. Utiliser la valeur corrigée d’aujourd’hui pour une décision passée lui ajoute un savoir qu’elle n’avait pas. La Fed de Saint-Louis distingue donc la vision actuelle du passé dans FRED des versions historiques accessibles par ALFRED. Pour ces données, il faut retrouver la version publiée à l’époque. Le mois auquel se rapporte une valeur ne suffit pas ; même une version historique datée au jour près ne prouve pas sa disponibilité exacte au cours de cette journée. [3]

Peter sépare les anciennes données d’entraînement des nouvelles données de test. Mais il calcule ensuite la moyenne du tableau entier pour transformer les entrées. Le futur revient par un autre chemin. La documentation de la bibliothèque d’apprentissage automatique scikit-learn exige donc d’apprendre ces transformations uniquement sur l’ensemble d’entraînement, puis de les appliquer au test. Vérifions aussi le traitement des valeurs manquantes et le choix des entrées. Attention aux résultats servant à apprendre : une position tout juste ouverte n’a pas encore de résultat final connu. On peut l’évaluer plus tard, mais pas réinjecter ce résultat dans un entraînement antérieur. [4]

Une bougie historique affiche son plus haut et son plus bas, sans reconstituer toute la succession réelle des échanges. TradingView explique donc les hypothèses de son simulateur sur les mouvements au sein d’une bougie. Peter doit distinguer la création du signal, l’envoi de l’ordre et son exécution possible. Vendre à un sommet découvert ensuite ne devient pas une règle disponible à l’époque parce que la simulation trouve ce prix. La fuite d’informations futures et une hypothèse d’exécution trop favorable sont deux erreurs différentes. Des données plus détaillées peuvent aider, sans garantir une exécution réelle. [5]

Freqtrade Lookahead Analysis compare des tests répétés et cherche des variations d’indicateurs ou de signaux. L’outil peut repérer un calcul qui consulte des lignes futures. Il ne vérifie toutefois pas une branche de décision jamais activée durant le test. Il faut donc connaître la couverture en plus du résultat. La documentation signale aussi des faux positifs, par exemple lorsqu’une stratégie se comporte différemment sur un seul marché et sur tout un groupe. Un résultat sans anomalie ne certifie pas tout ; une différence détectée demande une explication. Retracer l’origine des données reste nécessaire. [6]

Peter supprime l’entrée future et son excellent résultat se dégrade. Il ne peut plus présenter l’ancien rapport comme celui de la procédure corrigée. La réparation ne règle pas tout pour autant. TradingView distingue Look-ahead Bias d’Overfitting : une règle surajustée a trop bien reproduit les particularités des données utilisées pour la développer. Cela peut arriver sans aucune entrée future. Inversement, une règle très simple peut comporter une erreur temporelle. L’écart entre performances historiques et ultérieures ne suffit pas à identifier lequel de ces problèmes, ou quel changement du marché, l’a causé. [5]

Un enregistrement utile permet de reconstituer ce que Peter savait : version des données, règles, état du compte, entrées disponibles et ordres envoyés. On y ajoute les hypothèses d’exécution et les coûts. Paper Trading, la pratique sans argent réel, peut fournir des traces au fil du temps, mais reste une simulation. L’organisme américain National Futures Association (NFA) souligne les limites des résultats hypothétiques concernant la liquidité, l’écart entre prix attendu et prix exécuté, et les décisions sous la pression des pertes ; ses règles promotionnelles visent certains membres. Supprimer une erreur temporelle rend le test plus honnête, sans promettre de bénéfice futur. [7]

ExempleEXEMPLE · LOOK

Quand le test sait déjà quel intervalle va monter

Dans cet exemple fictif, Peter dispose de quatre intervalles successifs A, B, C et D. Les cours d’ouverture sont [100, 100, 100, 100] USD/BTC et les clôtures [110, 90, 120, 80] USD/BTC. L’intervalle précédant A a ouvert et clôturé à 100 USD/BTC. Chaque variante commence avec 1000 USD, sans position, dette ni flux extérieur. Une entrée achète une quantité fixe de 1 BTC au cours d’ouverture du modèle ; une règle prédéfinie le vend à la clôture du même intervalle. Chaque côté d’une opération exécutée coûte 1 USD ; sans entrée, aucun frais. Les autres coûts et le glissement sont omis ici. La variante erronée X achète uniquement avant une hausse déjà lue dans la clôture future de l’intervalle qui commence. Ses entrées sont [1, 0, 1, 0] et ses résultats nets [8, 0, 18, 0] USD : au total 26 USD et une trésorerie finale de 1026 USD. La variante Y utilise la hausse de l’intervalle précédent achevé, qu’elle peut déjà connaître. Ses entrées sont [0, 1, 0, 1] et ses résultats nets [0, -12, 0, -22] USD : au total -34 USD et une trésorerie finale de 966 USD. Les deux variantes n’ont plus de position après chaque intervalle ; le graphique compare leurs résultats nets par intervalle. Le gain de X vient d’une connaissance du futur et ne démontre aucun avantage exploitable à l’époque. La perte de Y ne signifie pas non plus qu’un bon respect du temps entraîne toujours des pertes. Ces cours inventés et ces exécutions simplifiées ne décrivent ni l’histoire de Bitcoin ni une garantie d’exécution réelle.

Pour une vision complète, lisez aussi Backtesting, Overfitting, Walk-forward Analysis, Survivorship Bias, Paper Trading. Cette entrée est également citée par Walk-forward Analysis, Overfitting, Survivorship Bias, On-chain Analysis.

01Suffit-il de décaler les indicateurs d’une ligne ?

Cela peut corriger une erreur précise, sans constituer une solution universelle. Une donnée peut avoir été publiée avec retard, révisée ensuite ou déjà utilisée pour préparer tout le tableau. Sa disponibilité au moment de la décision est déterminante.

02Peut-on utiliser un résultat ultérieur pour évaluer une prévision ?

Oui. Ce résultat est nécessaire pour évaluer une prévision antérieure. L’erreur apparaît lorsqu’il retourne dans le passé et influence une décision, un entraînement ou un choix de règle alors qu’il n’était pas encore connu.

DOC · 001QuantConnect — Time Modeling: TimeslicesDocumentation DOC · 002QuantConnect — Custom Securities: Avoid Look-Ahead BiasDocumentation DOC · 003Federal Reserve Bank of St. Louis — FRED API Real-Time PeriodsDocumentation DOC · 004scikit-learn — Common Pitfalls: Data LeakageDocumentation DOC · 005TradingView — Strategies: Broker Emulator and Lookahead BiasDocumentation DOC · 006Freqtrade — Lookahead AnalysisDocumentation DOC · 007NFA — Use of Promotional Material Containing Hypothetical Performance ResultsDocumentation
Révisé le: Sources d’abord · Pas un conseil financier