Optimisation walk-forward
La version honnête de l'optimisation. Entraîne sur le passé, teste sur la fenêtre suivante, fais rouler, répète.
Ce que c'est
Une optimisation walk-forward (WFO) divise les données historiques en N folds consécutifs. Dans chaque fold, une fenêtre in-sample (IS) cherche les meilleurs paramètres pour ta stratégie, et la fenêtre out-of-sample (OOS) immédiatement suivante mesure comment ces paramètres se comportent sur des données que l'optimiseur n'a jamais vues. Répète pour chaque fold ; les résultats OOS recousus sont ce auquel tu fais confiance.
Pourquoi c'est important
Les backtests en un coup récompensent le curve fitting. Une stratégie qui retourne 4× sur une seule fenêtre de 2 ans a juste, le plus souvent, la bonne forme pour cette fenêtre. Le WFO détruit l'essentiel de cette illusion — si une stratégie ne survit pas à la ré-optimisation sur fenêtres roulantes, elle ne devrait pas passer en live.
Comment Noon Barbari le fait
- Splitter à fenêtre roulante avec tailles IS / OOS configurables — par défaut 60 jours IS, 30 jours OOS.
- Recherche de paramètres basée sur Optuna par fold avec N trials (par défaut 50). Tous les espaces de recherche sont déclarés dans le YAML de la stratégie.
- Les métriques OOS par fold sont agrégées en un score de robustesse qui pondère la cohérence plutôt que le pic de rendement.
- Les stress tests appliquent des chocs de slippage, des rejets de fills et des séries de prix mélangées par régime au rejeu OOS.
Score de robustesse
Un seul nombre dans [0, 1] qui résume à quel point une stratégie a bien tenu en walk-forward. >0,6 = mérite le paper trading ; <0,4 = curve-fit ; entre les deux = fais tourner plus de folds. Le détail — cohérence du rendement, stabilité du drawdown, variance du hit rate — est dans le rapport WFO.
Quand faire confiance
Après au moins 6 folds avec une robustesse OOS > 0,5 et aucun fold pire que -10 % de rendement. Si un seul fold explose, la stratégie n'est pas aussi robuste que le score agrégé le laisse penser.