Analyse walk-forward : tranches, part d'entraînement et sélection
Le walk-forward découpe la période de backtest en tranches, choisit la meilleure configuration de paramètres sur la partie d'entraînement de chaque tranche, l'évalue sur la partie de test qu'elle n'a jamais vue, et rapporte le résultat hors échantillon concaténé, avec un chiffre d'efficacité et un Sharpe dégonflé.
Senzoukria · Documentation · Mis à jour en septembre 2026
Où le trouver
- Où
- Replay → Préparer → Backtest automatique → case « Walk-forward — trouver la meilleure configuration »
- Valeurs par défaut
- Tranches 4, Part d'entraînement 0,7, Critère de sélection SQN
- Combinaisons
- 400 au maximum ; une configuration doit avoir au moins 10 trades pour être sélectionnable
- Données minimales
- Chaque tranche demande au moins 100 barres d'entraînement et 50 barres de test
Ce que ça fait
Tester trente configurations et garder la meilleure mesure la chance. Le walk-forward sépare le choix de la mesure : les paramètres sont choisis sur le début de chaque tranche, puis évalués sur sa fin, qui n'a pris aucune part au choix. Le résultat affiché est la concaténation de ces morceaux jamais vus, c'est-à-dire ce que la stratégie aurait réellement rapporté.
Implémentation (lib/replay/autoBacktest.ts, runWalkForward) : les barres sont coupées en tranches égales ; à l'intérieur de chaque tranche, la première fraction trainRatio des barres constitue la fenêtre d'entraînement et le reste la fenêtre de test. Chaque combinaison des axes de balayage tourne sur la fenêtre d'entraînement, reçoit une note selon le critère de sélection, et la meilleure tourne une fois sur la fenêtre de test. Les transactions hors échantillon de toutes les tranches sont concaténées et les statistiques combinées sont calculées dessus. La progression indique « tranche n · entraînement » puis « tranche n · test ».
Réglages
| Réglage | Par défaut | Ce qu'il change |
|---|---|---|
| Interrupteur walk-forward | Désactivé | Affiche les réglages ci-dessous et change le bouton d'exécution en « Lancer le walk-forward ». |
| Tranches | 4 | Nombre de plis, de 2 à 12. Plus de tranches signifie des fenêtres d'entraînement plus courtes ; l'exécution refuse un découpage qui laisse moins de 100 barres d'entraînement ou 50 barres de test. |
| Part d'entraînement | 0,7 | Part de chaque tranche utilisée pour choisir les paramètres, de 0,5 à 0,9 par pas de 0,05. |
| Critère de sélection | SQN (qualité, tient compte du nombre de trades) | Aussi Profit factor, Espérance par trade ou Sharpe par trade. Une configuration de moins de 10 trades reçoit moins l'infini. |
| Paramètres à balayer | Axes lus dans les params du script, sinon lookback 10, 20, 40 / stopTicks 20, 40, 80 / targetTicks 40, 80, 160 | Valeurs séparées par des virgules pour chaque axe ; « Explorer tous les paramètres lisibles » installe jusqu'à cinq axes autour des valeurs par défaut du script ; « Relire le script » les restaure. |
| Ligne des combinaisons | — | « {n} combinaisons × {folds} tranches — environ {dur} », ou « Trop de combinaisons (400 au maximum) ». |
Lire le résultat
- Efficacité walk-forward = espérance moyenne hors échantillon divisée par l'espérance moyenne dans l'échantillon, sur l'ensemble des tranches. À 70 % ou plus : « la stratégie tient hors de ses propres données » ; à partir de 40 % : « elle perd une bonne part de son edge hors échantillon » ; en dessous : « l'essentiel du résultat était du sur-ajustement ». Sous 50 %, la ligne est mise en évidence comme mauvaise.
- Sharpe dégonflé : le Sharpe hors échantillon par trade comparé au seuil que la seule sélection produirait sur le nombre de configurations essayées. Verdicts : solide (survit à la correction), fragile (le nombre de configurations en explique une bonne part), bruit (indiscernable du meilleur d'un tirage aléatoire).
- Table des plis : Tranche, Entraînement, Test réel, Configuration, pour voir si la configuration retenue saute d'une tranche à l'autre.
- Graphiques : équité dans l'échantillon contre hors échantillon (en pointillé pour la courbe vue par l'optimiseur), et stabilité des paramètres comparant la configuration retenue à ses voisines de grille (plateau, pente ou pic).
- Ce sont les statistiques combinées hors échantillon qui sont enregistrées dans le panneau Performance.
Limites et pièges
Chaque combinaison supplémentaire est un tirage de plus dans les mêmes données ; passé un certain point, vous mesurez la chance d'un sur-ajustement, et c'est pourquoi le plafond est de 400 et que l'assistant a pour consigne de garder les balayages sous 100. Balayer cinq axes sur un mois de barres à 15 minutes produira un gagnant qui ne veut rien dire.
Les tranches sont découpées au nombre de barres, pas au calendrier ; une tranche peut chevaucher un changement de régime. Le balayage exécute chaque combinaison comme un backtest complet : le temps d'exécution croît donc linéairement avec combinaisons × tranches, et les barres à la minute sur de longues périodes prennent des heures. Le walk-forward emploie les mêmes règles d'exécution et les mêmes coûts que le backtest simple, et il ne passe jamais d'ordre.
Pages liées
- Backtest automatique
- Assistant backtest (IA)
- Graphiques de résultats
- Comment tester une stratégie de trading
Cette page dans d’autres langues
Questions fréquentes
- Que signifie une efficacité walk-forward de 45 % ?
- En moyenne, l'espérance hors échantillon valait 45 % de l'espérance dans l'échantillon : la stratégie a perdu une bonne part de son edge sur des données qu'elle n'avait pas vues. Sous 50 %, le panneau met la ligne en évidence et l'assistant a pour consigne de dire clairement que l'essentiel du résultat était du sur-ajustement.
- Pourquoi l'exécution refuse-t-elle mon nombre de tranches ?
- Chaque tranche doit conserver au moins 100 barres d'entraînement et 50 barres de test. Avec une période courte ou beaucoup de tranches, ce n'est pas le cas ; réduisez les tranches ou allongez la période.
- Sur quel critère sélectionner ?
- Le SQN par défaut, parce qu'il intègre le nombre de transactions dans la note. Le profit factor, l'espérance par trade et le Sharpe par trade sont disponibles ; quel que soit votre choix, une configuration de moins de 10 trades n'est jamais sélectionnée.