Sur-optimisation des stratégies : la repérer et l'éviter
Sur-optimisation et curve fitting : trop de paramètres, data snooping, in-sample et out-of-sample, walk-forward, tests de robustesse et signaux d'alerte à connaître.
L'un des moyens les plus sûrs de construire une stratégie brillante sur le graphique et décevante en réel, c'est la sur-optimisation. Plus les outils de test deviennent simples et rapides, plus il est facile d'y tomber. Cet article explique ce qu'est la sur-optimisation, pourquoi elle se produit et quels contrôles aident à distinguer un véritable avantage du simple bruit.
Qu'est-ce que la sur-optimisation
La sur-optimisation (souvent appelée curve fitting en trading) survient lorsqu'une stratégie apprend le bruit des données historiques au lieu du schéma qui se répète. Résultat : d'excellentes performances sur les données ayant servi à la construire, et des performances faibles sur des données nouvelles.
Les données de prix contiennent un peu de « signal » et énormément de bruit aléatoire. Chaque période historique comporte des événements uniques : une journée marquée par une annonce surprise d'une banque centrale, une semaine de volatilité inhabituelle, une tendance particulièrement longue. Une stratégie réglée pour exploiter précisément ces événements paraîtra parfaite a posteriori, mais ces événements ne se reproduiront pas de la même façon.
Trop de paramètres
Chaque paramètre d'une stratégie est un « bouton » que l'on peut tourner : longueur de la moyenne mobile, distance du stop, heure de début, seuil d'un indicateur. Avec deux paramètres, il est difficile de coller au passé. Avec dix, on peut « expliquer » presque n'importe quelle série de données.
Exemple hypothétique : une stratégie avec une moyenne mobile sur 37 bougies, un stop de 23 ticks, des entrées uniquement entre 09h47 et 11h12, et seulement quand le RSI est inférieur à 41. Chacun de ces chiffres a été choisi parce qu'il donnait le meilleur résultat historique. La question clé : pourquoi 37 et pas 35 ou 40 ? Si vous n'avez pas d'autre réponse sensée que « parce que c'est ce qui marchait le mieux », c'est un signal d'alerte.
Règle empirique : moins il y a de paramètres et plus il y a de trades dans le test, plus le résultat est fiable.
Le data snooping
Même quand chaque stratégie prise isolément a peu de paramètres, le problème revient dès que l'on teste de nombreuses idées sur les mêmes données. Testez cent variantes, et certaines paraîtront excellentes par pur hasard. On parle de data dredging ou de data snooping.
Il s'installe aussi sans qu'on le veuille : vous testez une idée, elle ne marche pas, vous modifiez un petit détail, vous retestez, et ainsi de suite. Après cinquante tours, les données ont déjà « fuité » dans la stratégie, même sans aucune optimisation automatique. Notez combien de variantes vous avez testées. Ce chiffre compte presque autant que le résultat.
In-sample et out-of-sample
L'outil de base contre la sur-optimisation consiste à séparer vos données :
- In-sample : les données sur lesquelles vous développez et réglez la stratégie.
- Out-of-sample : des données mises de côté et totalement intouchées pendant le développement.
Ce n'est qu'une fois la stratégie « figée » que vous la lancez sur les données out-of-sample. Si les performances s'effondrent, la sur-optimisation est probable. Point important : si vous revenez ensuite modifier la stratégie et la retestez sur ces mêmes données, elles ne sont plus vraiment out-of-sample.
Le test walk-forward
Le walk-forward prolonge cette idée. Vous découpez l'historique en fenêtres successives. À chaque étape, vous réglez sur une fenêtre et testez sur la suivante, puis vous décalez les deux fenêtres vers l'avant et recommencez.
- Réglage sur l'année 1, test sur le trimestre suivant.
- Décalage : réglage sur la nouvelle période, test sur le trimestre d'après.
- Assemblage de toutes les périodes de test en une seule courbe.
La courbe assemblée simule une situation réaliste dans laquelle vous réajustez de temps en temps, puis tradez un futur que vous ne connaissez pas. Si elle est nettement moins bonne que l'optimisation complète, c'est une information importante.
Les tests de robustesse
Au-delà de la séparation des données, quelques contrôles simples sont à la portée de tout trader :
- Voisinage des paramètres : faites varier chaque paramètre un peu à la hausse et à la baisse. Une stratégie robuste affiche des résultats proches sur une large plage. Si une seule valeur fonctionne et que ses « voisines » perdent, vous avez trouvé un pic chanceux.
- Marchés corrélés : si la stratégie fonctionne sur NQ, comment se comporte-t-elle sur ES ? Pas besoin que ce soit identique, mais un effondrement total pose question.
- Autres unités de temps : un léger changement d'unité de temps ne devrait pas transformer une stratégie gagnante en stratégie perdante.
- Autres périodes : examinez chaque année séparément. Le profit vient-il d'une seule courte période ?
- Coûts plus sévères : ajoutez du slippage et des commissions plus élevées. Un véritable avantage doit y résister. Plus de détails dans backtest ou trading réel.
- Retirer les meilleurs trades : enlevez les cinq trades les plus rentables. Si tout le profit disparaît, la stratégie dépend de la chance.
Les signes d'une stratégie sur-optimisée
- Une courbe de capital presque parfaitement lisse, sans période difficile.
- De nombreux paramètres aux valeurs étrangement précises.
- Peu de trades au regard du nombre de paramètres.
- De bonnes performances uniquement sur une plage de réglages très étroite.
- Des résultats qui changent beaucoup à chaque fois que vous ajoutez un peu d'historique.
- Des règles spéciales ajoutées pour « corriger » des pertes passées précises.
- Un grand écart entre in-sample et out-of-sample.
À retenir
- La sur-optimisation, c'est apprendre le bruit au lieu d'un schéma, et cela n'est beau qu'a posteriori.
- Moins de paramètres et plus de trades constituent une défense de base.
- Gardez des données out-of-sample et n'y touchez pas tant que la stratégie n'est pas figée.
- Le walk-forward et l'analyse du voisinage des paramètres révèlent les pics chanceux.
- Même une stratégie qui passe tous les contrôles a besoin d'un forward test et d'un dimensionnement des positions prudent.
Aucun test ne garantit le succès futur ; l'étape qui suit le laboratoire compte donc tout autant. WeCore vous permet de faire tourner une stratégie ou des alertes en mode simulation avec des règles de risque automatisées, pour observer son comportement sur des données nouvelles avant d'exposer un compte réel. Pour une introduction générale, voir qu'est-ce que le trading algorithmique.