Walk-forward Analysis évalue chronologiquement une procédure de sélection. Les règles sont choisies ou ajustées à partir du passé disponible, puis testées sur des données ultérieures qui n’ont pas servi à ce choix.
Pierre dispose de plusieurs variantes d’une règle de trading. Il veut utiliser celle qui a le mieux fonctionné récemment. Walk-forward Analysis permet de rejouer cette idée étape par étape : choisir avec le passé connu, noter le résultat de la période suivante, puis choisir à nouveau. QuantConnect décrit ces adaptations périodiques. Le test porte aussi sur la sélection, pas seulement sur une variante fixe. Candidats, critère et date de réexamen doivent donc être définis à l’avance. [1]
Si Pierre choisit une variante pour son gain passé, ce même gain ne valide pas indépendamment son choix. QuantConnect explique que ces données font désormais partie du développement. La bonne question est : qu’a donné la variante après sa sélection ? Le test courant ne doit pas désigner son propre gagnant. Une période terminée, dont les résultats sont disponibles, peut toutefois servir à une sélection ultérieure selon les règles prévues. Cela ne réécrit pas la décision déjà enregistrée. [2]
La fenêtre de sélection est la portion d’histoire utilisée à cet instant. Une fenêtre glissante garde la même longueur et abandonne les anciennes données ; une fenêtre croissante conserve son début et ajoute des observations. TimeSeriesSplit de scikit-learn élargit par défaut l’entraînement, mais permet d’en limiter la taille. Fixez longueur et fréquence de mise à jour avant le test. La documentation exige des observations régulièrement espacées pour des mesures comparables ; des données irrégulières nécessitent aussi de vérifier la durée calendaire réelle. [3]
Imaginez que le résultat associé à la dernière observation d’entraînement ne soit achevé que pendant le test suivant. Il est encore inconnu au moment de choisir. Trier la table par date ne corrige pas ce problème. Le paramètre gap de TimeSeriesSplit peut retirer des observations à la fin de l’entraînement. L’écart nécessaire dépend de la disponibilité des entrées et de l’achèvement des résultats, pas de la plus belle courbe. Même bien choisi, il ne prouve pas l’indépendance des périodes voisines et n’élimine pas tous les biais. [3]
La fuite ne se trouve pas forcément dans la règle. Une moyenne utilisée pour changer l’échelle des valeurs peut provenir de tout le fichier, test futur compris. scikit-learn signale le même risque pour le remplacement de valeurs manquantes ou la sélection de variables. Ces transformations doivent être apprises sur l’entraînement seul, puis appliquées au test. Répétez la séparation à chaque étape ; découper après coup une table transformée n’annule pas la fuite. Gardez aussi les versions et dates de disponibilité des données. [4]
Il faut combiner correctement les résultats des périodes testées. QuantConnect décrit des modèles de prix et de quantité exécutée qui peuvent intégrer spread et Slippage. Notre évaluation doit ensuite garder une comptabilité cohérente : ne pas créditer au compte de test les gains du développement, ni compter plusieurs fois des tests chevauchants sans l’expliquer. Lors d’un changement de variante, précisez le traitement des positions ouvertes, du capital et des frais de transition. L’exemple ci-dessous simplifie ce point en clôturant toute position à chaque fin de période. [5]
Pierre peut multiplier les changements de fenêtres, d’objectifs ou de candidats jusqu’à obtenir un beau test. Il utilise alors aussi cette série pour le développement. Bailey et ses coauteurs étudient les réussites fortuites dues aux recherches répétées sur les mêmes données. Consignez toutes les procédures essayées et distinguez une éventuelle validation sur une histoire encore inutilisée. Avancer dans le temps ne constitue ni une garantie statistique ni un calcul de probabilité de surapprentissage, c’est-à-dire d’adaptation excessive au passé. [6]
Gardez les limites des fenêtres, les candidats, les scores de sélection, les choix effectifs et les résultats suivants après coûts. Complétez le total par les pertes, le nombre d’observations et une comparaison à conditions égales. La NFA américaine rappelle que des résultats hypothétiques ne captent pas toutes les difficultés de liquidité, de glissement ou de comportement face aux pertes réelles ; ses règles promotionnelles concernent des membres précis. Un petit exemple perdant ne réfute pas la méthode entière. Un total positif ne prouve pas davantage un avantage futur. [7]
Le gagnant précédent peut perdre ensuite
Pour une vision complète, lisez aussi Backtesting, Overfitting, Look-ahead Bias, Trading Plan, Trading Journal. Cette entrée est également citée par Backtesting, Overfitting, Look-ahead Bias, Survivorship Bias.
01Un ancien test peut-il ensuite servir à sélectionner ?+
Oui, si la période est terminée, les données nécessaires sont disponibles et la procédure prévue le permet. Cela ne doit pas modifier rétroactivement la variante ou le résultat enregistrés pour ce test antérieur.
02Walk-forward Analysis empêche-t-il le surapprentissage ?+
Pas à lui seul. On peut encore ajuster plusieurs fois fenêtres, candidats ou procédure entière aux mêmes résultats. Consignez les essais, contrôlez les fuites d’information et distinguez développement supplémentaire et validation véritablement nouvelle.