Walk-forward Analysis est l’évaluation chronologique d’une procédure qui sélectionne ou ajuste des règles à partir de données antérieures, puis les applique à la période de test suivante. Les rôles de sélection et de test avancent dans le temps, sans que la décision actuelle puisse connaître le résultat suivant.
Walk-forward Analysis fait avancer la simulation historique dans le temps : elle sélectionne ou ajuste une règle à partir des données disponibles jusque-là, puis évalue son application sur le segment suivant. QuantConnect décrit une optimisation régulière sur une fenêtre de l’historique récent. Notre distinction éditoriale : nous n’évaluons pas seulement un ensemble immuable de paramètres, mais une procédure de renouvellement décrite à l’avance. Le moment de la prochaine sélection, son objectif et l’ensemble des candidats font aussi partie de la règle. Un meilleur ajustement aux données récentes ne confirme pas à lui seul un meilleur résultat futur. [QuantConnect — Walk Forward Optimization]
QuantConnect indique que la période utilisée pour rechercher les meilleurs paramètres devient une partie des données de développement. Y appliquer le gagnant choisi rétrospectivement ne constitue pas une vérification honnête de la décision qui aurait été prise à l’époque. Notre protocole clôt donc la sélection avant le début du segment de test suivant. Les données de ce segment ne doivent pas influencer le gagnant actuel. Une fois le segment terminé et ses informations réellement disponibles, elles peuvent entrer dans une sélection ultérieure selon la procédure prédéfinie ; cela ne modifie toutefois pas les décisions de test précédemment enregistrées. [QuantConnect — Optimization Parameters]
TimeSeriesSplit crée des indices d’entraînement et de test ordonnés dans le temps ; par défaut, il élargit progressivement l’ensemble d’entraînement passé et permet d’en limiter la taille. Notre distinction : une fenêtre glissante conserve une durée d’historique choisie, tandis qu’une fenêtre croissante garde un début fixe. La longueur de la fenêtre et la fréquence de renouvellement font partie de la conception, et ne sont pas des ajustements libres après examen des résultats. Pour comparer les métriques des segments, la documentation exige des observations régulièrement espacées ; avec des données irrégulières, il faut surveiller la durée calendaire réelle. [scikit-learn — TimeSeriesSplit]
Le paramètre gap de TimeSeriesSplit exclut des observations à la fin de l’ensemble d’entraînement, avant le test. Notre exigence méthodologique consiste à déduire l’écart nécessaire du moment où les entrées sont disponibles et les résultats cibles achevés. Si le résultat d’une observation d’entraînement utilise des prix de la période de test, le simple classement des lignes ne supprime pas la fuite d’information. La longueur de l’intervalle ne doit donc pas être choisie uniquement pour obtenir une belle courbe. Même un intervalle approprié ne prouve pas l’indépendance des périodes voisines et n’élimine pas toutes les formes de biais de sélection. [scikit-learn — TimeSeriesSplit]
La documentation scikit-learn avertit que la normalisation, le remplacement de valeurs manquantes ou la sélection de variables peuvent transférer des informations du test vers le modèle. Les paramètres de ces transformations doivent être appris uniquement sur la partie d’entraînement, puis appliqués à la partie de test. Notre contrôle répète cette séparation à chaque déplacement de fenêtre. Le calcul préalable d’une moyenne sur tout le jeu de données n’est pas corrigé en divisant seulement ensuite le tableau déjà préparé. Il faut aussi conserver la version des données et leur disponibilité temporelle réelle. [scikit-learn — Common Pitfalls: Data Leakage]
QuantConnect décrit un modèle qui détermine le prix et la quantité exécutés et peut intégrer le spread ainsi que Slippage. Notre exigence pour assembler les segments de test est de traiter uniformément le capital, les positions ouvertes et les coûts de changement de règle. Les gains d’entraînement ne sont pas ajoutés au résultat du test suivant, et les périodes de test qui se chevauchent ne doivent pas être comptées plusieurs fois sans explication. Si des positions sont conservées, la transition entre configurations doit être décrite. Notre modèle ci-dessous termine, au contraire, chaque période sans position ouverte. [QuantConnect — Trade Fills: Key Concepts]
Bailey et ses coauteurs décrivent le risque croissant de fausses découvertes lorsque les recherches sont répétées sur les mêmes données. Notre conséquence pour Walk-forward Analysis : si nous modifions la longueur des fenêtres, l’objectif ou les candidats selon la série de test obtenue, puis répétons toute l’exécution, cette série influence déjà le développement. La rebaptiser indépendante ne suffit pas. Le rapport doit indiquer tous les protocoles essayés et distinguer une éventuelle validation supplémentaire encore inutilisée. La seule progression temporelle n’est ni une estimation de la probabilité de surajustement ni une garantie statistique automatique. [Bailey et al. — The Probability of Backtest Overfitting]
La NFA souligne que les résultats hypothétiques ne reflètent ni les transactions réelles ni tous les effets de la liquidité, de Slippage et du comportement face à une perte réelle. Notre rapport Walk-forward Analysis conserve donc les limites des fenêtres, les candidats, les scores de sélection, les configurations retenues et les résultats des segments suivants, coûts inclus. La somme exige le contexte du risque, du nombre d’observations et d’une comparaison dans les mêmes conditions. Un petit exemple négatif ne prouve pas l’inefficacité générale de la méthode, tout comme une somme positive ne prouve pas un avantage de négociation futur. [NFA — Use of Promotional Material Containing Hypothetical Performance Results]
Sélectionner sur le passé, évaluer seulement la période suivante
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.
01Une ancienne période de test peut-elle entrer plus tard dans l’entraînement ?+
Oui, si elle est terminée, que ses informations sont disponibles et que le protocole fixé à l’avance l’autorise. Elle ne doit toutefois pas modifier rétroactivement la sélection ou le résultat enregistré pour cette période.
02Walk-forward Analysis élimine-t-elle le surajustement ?+
Pas automatiquement. Il reste possible de sélectionner à plusieurs reprises les longueurs de fenêtres, les candidats ou toute la procédure selon les mêmes résultats. Il faut déclarer l’historique des essais, surveiller les fuites d’information et maintenir la distinction entre développement et validation supplémentaire.