Notre GPU a trouvé une stratégie à +172 % — et c'était un mensonge
Le souvenir d'un champion
Il y a des mois, un algorithme génétique tournant sur GPU nous avait produit « les premières stratégies CUDA très performantes ». Le souvenir était précis : des courbes d'equity spectaculaires, un champion largement au-dessus du marché. Nous avons voulu vérifier ce souvenir. Nous avons bien fait.
La reproduction : 24 millions de backtests en 3,5 secondes
Sur une RTX 4080, nous avons rejoué la recherche : 24 millions de backtests en 3,5 secondes, un algorithme génétique qui croise, mute et sélectionne des variantes de stratégies sur des données Bitcoin réelles.
Le champion est revenu, fidèle au souvenir : +172,7 % sur sa période d'entraînement. Le genre de chiffre qui vend des formations.
Puis nous avons fait la seule chose qui compte : nous l'avons lâché sur des données qu'il n'avait jamais vues.
Résultat hors échantillon : −37 %. Pire que de ne rien faire. Le champion n'était pas une stratégie — c'était une mémoire déguisée en stratégie.
L'autopsie : où le mensonge s'est fabriqué
Le bug n'est pas dans le GPU. Il est dans la fonction de sélection. Voici, sans retouche, la formule de fitness du moteur d'origine :
fitness = PnL total × 0,4
+ win rate × 10 × 0,3
+ (100 − drawdown max) × 0,2
+ nombre de trades × 0,1
Quatre termes, et pas une seule fois la question : « sur quelles données ? » La sélection notait chaque variante sur les mêmes bougies que celles qu'elle optimisait. Aucun découpage, aucun holdout, aucune donnée scellée.
Avec 24 millions d'essais sur un jeu de données fixe, vous ne cherchez plus une stratégie : vous cherchez la combinaison de paramètres qui mémorise le mieux le passé. Et vous la trouvez toujours. C'est une propriété mathématique, pas une malchance : plus vous testez de variantes sur les mêmes données, plus le meilleur score observé s'éloigne de la vraie espérance. Le +172 % ne mesurait pas un edge — il mesurait la taille de notre recherche.
Le test qui démasque n'importe quel mirage
Un seul protocole sépare une stratégie d'une mémoire :
- Scellez une tranche de données AVANT de commencer la recherche.
- Cherchez, mutez, optimisez autant que vous voulez — sans jamais y toucher.
- Ouvrez le scellé une seule fois, à la fin, sur le champion.
- Acceptez le verdict, même s'il ruine des semaines de travail.
C'est l'étape 4 qui est dure. C'est aussi celle que sautent 99 % des backtests publiés — le Strategy Tester de votre plateforme ne vous y oblige pas : c'est l'outil de l'auteur, pas un juge.
Faites subir ce test à votre propre stratégie
- Lab Windows gratuit : reproduisez ce protocole sur votre machine — votre GPU explore les variantes, un holdout scellé reste invisible pendant la recherche, et le CPU rend le verdict local. Simulation éducative, aucune promesse de gain.
- Quick Check gratuit : collez un script Pine, sans compte. Pour une exécution indépendante liée au serveur avec holdout scellé et rapport privé immuable, l'audit existe — et si votre stratégie meurt sur le holdout, c'est un résultat livré, pas un échec du service. Personne ne vous vendra un meilleur verdict.
Le +172 % fait une meilleure publicité. Le −37 % fait une meilleure décision.
⚠️ Avertissement — Cet article est publié à titre informatif et éducatif uniquement. Il ne constitue en aucun cas un conseil en investissement ou une recommandation d'achat/vente. Les performances passées ne préjugent pas des performances futures. Strategy Arena est un simulateur éducatif avec capital virtuel. Faites vos propres recherches avant toute décision d'investissement.