Signal Pilot
🟡 Intermédiaire • Leçon 32 sur 82

Backtesting et réalité : cette espérance parfaite vous ment

16 min de lecture • Validation de stratégie
Signal Pilot
Formation professionnelle au trading
0%
Vous avancez !
Continuez votre lecture pour terminer cette leçon

Votre backtest : 8R d'espérance. Facteur de profit 3,5. 50 000 $ de gain sur un compte de 10 000 $.

Vous passez en réel. Première semaine : -2R d'espérance. Facteur de profit 0,4. Compte en baisse de 12 %.

Que s'est-il passé ? Votre backtest a menti.

🚨 Parlons franchement

La plupart des backtests relèvent de la pure fantaisie. Ils supposent des exécutions parfaites, zéro slippage, aucun spread et des entrées magiques qui n'existent pas en marché réel.

Si votre backtest paraît trop beau pour être vrai, c'est qu'il l'est. Vous vous êtes ajusté au bruit, pas au signal.

Dans cette leçon, tu vas apprendre :

  • Pourquoi 90 % des backtests échouent une fois passés en réel
  • Les 4 péchés capitaux : surapprentissage, biais d'anticipation, coûts irréalistes, biais du survivant
  • Comment modéliser le slippage et les spreads pour qu'ils collent vraiment à la réalité
  • In-sample contre out-of-sample (la seule validation qui compte)
⚡ Gains rapides pour demain (cliquez pour déplier)
  1. Ajoutez des coûts réalistes à votre backtest — Comptez 0,03-0,05 % de slippage par position, plus le spread réel. Si les résultats s'effondrent, votre avantage était factice.
  2. Découpez vos données 70/30 — Optimisez sur 70 % des données, validez sur les 30 % que vous n'avez jamais vus. Si l'out-of-sample échoue, vous avez surajusté.
  3. Tradez sur papier pendant 30 jours avant de passer en réel — Si les résultats papier s'écartent nettement du backtest, quelque chose cloche. Ne passez pas en réel tant qu'ils ne concordent pas.

Exemple concret : comment un backtest « parfait » à 1,3R d'espérance est devenu un désastre à -0,45R en réel

Contexte : En mars 2024, Chris (exemple composite) a mis au point une stratégie de cassure après 6 mois d'optimisation. Le backtest était incroyable : 1,3R d'espérance, facteur de profit 4,9, 67 % de réussite, testé sur 2 ans de données SPY (2022-2023). 50 000 $ ont été déployés en avril 2024. En juin 2024, le compte accusait -8 400 $ (-16,8 %). Voici l'autopsie complète.

Le backtest « parfait » (données 2022-2023)
Résultats du backtest (janv. 2022 - déc. 2023, 2 ans)
Indicateur Valeur Ce que Chris se disait
Positions au total 156 Échantillon correct
Taux de réussite 67.3% (105W / 51L) « Incroyable ! Bien au-dessus de la moyenne. »
Gain moyen / perte moyenne +2.4R / -1R « Excellent R:R, les gagnants font 2,4× les perdants. »
Facteur de profit 4.9 « Un chiffre de niveau professionnel. »
Espérance +1,3R par position « Le Graal, ni plus ni moins. »
drawdown maximal -8.2% « Un drawdown minuscule. Ultra sûr. »
Rendement total (2 ans) +$40,600 (+406%) « C'est la bonne. Je quitte mon travail. »

Le processus d'optimisation de Chris :

  • 50 périodes d'EMA testées (EMA(34) jugée « parfaite »)
  • 20 multiplicateurs d'ATR testés pour les stops (1,47× ATR jugé « optimal »)
  • 15 niveaux d'objectif testés (2,8R jugé « le meilleur »)
  • Stratégie finale : croisement d'EMA(34) + stop à 1,47× ATR + objectif à 2,8R
  • Combinaisons testées au total : 50 × 20 × 15 = 15 000 variantes

Ce que Chris n'a pas mis dans le backtest :

  • Le slippage (exécutions parfaites aux prix exacts supposées)
  • La fourchette achat-vente (spread nul supposé)
  • Les commissions (oubliées)
  • Le rejet d'ordres (100 % d'exécution supposé)
  • Le test out-of-sample (jamais testé sur des données inédites)
La réalité en trading réel (avril-juin 2024, 10 semaines)
Résultats en réel (10 semaines, compte de 50 000 $)
Indicateur Backtest Réalité en réel Écart
Taux de réussite 67.3% 51.4% (19W / 18L) -15,9 points de moins
Gain moyen +2.4R (+$1,200) +1.8R (+$900) -25 % plus petit
Perte moyenne -1R (-$500) -1.3R (-$650) -30 % plus grande
Facteur de profit 4.9 1.46 -70 % d'effondrement
Espérance +1.3R -0,45R net de coûts -1,75R NÉGATIF
drawdown maximal -8.2% -21.4% 2,6× pire
Rendement total (10 semaines) +9 600 $ projetés -$8,400 (-16.8%) 18 000 $ d'écart
La comptabilité complète : où sont passés les 18 000 $
Anatomie de l'écart de performance (37 positions, 10 semaines)
Poste de coût Description Impact
1. Surapprentissage (courbe ajustée) EMA(34) + 1,47× ATR fonctionnait parfaitement sur les données 2022-2023, mais avait été optimisé sur le bruit historique. Les conditions de marché de 2024 = un autre bruit. -$6,200
2. Slippage (non modélisé) 0,08 % de slippage moyen par position × 25 000 $ de position moyenne × 37 allers-retours = 1 480 $ de coûts de slippage -$1,480
3. Fourchette achat-vente Spread du SPY 0,01 $ × 500 titres en moyenne × 37 positions = 185 $. Options (utilisées pour le levier) spread = 0,03 $ par titre × 100 titres par contrat × 20 contrats × 37 positions = 2 220 $ de coût total de spread -$2,405
4. Commissions Options : 0,65 $ par contrat × 20 contrats × 37 positions × 2 (aller-retour) = 962 $ -$962
5. Rejets d'ordres Sur 8 positions, des ordres à cours limité n'ont jamais été exécutés (5 gagnantes manquées, 3 perdantes manquées). Coût d'opportunité net : 5 gagnantes à +1,8R manquées (-9R) moins 3 perdantes à -1,3R évitées (+3,9R) = -5,1R = 2 550 $ -$2,550
6. Biais d'anticipation Le code du backtest utilisait close[0] pour calculer l'entrée et entrait à la clôture de cette même bougie (impossible en réel). En réel, on entre à l'ouverture de la bougie suivante. Une entrée 0,3 % moins bonne en moyenne = 2 775 $ de dégradation -$2,775
7. Délais d'exécution Latence de la plateforme + temps de vérification de l'ordre = 2 à 8 secondes de délai. Les cassures rapides bougeaient de 0,15 % en moyenne avant exécution = 1 387 $ de slippage dû aux délais -$1,387
DÉGRADATION TOTALE PAR RAPPORT AU BACKTEST : -$17,759

Le calcul :

  • Profit projeté par le backtest (10 semaines) : +9 600 $
  • Moins les coûts de dégradation : -17 759 $
  • Résultat attendu en réel : -8 159 $
  • Résultat réel : -8 400 $ — la comptabilité tombe à 250 $ près de ce qui s'est vraiment passé
Ce qu'il aurait fallu faire : la validation dans les règles
Étape Ce que Chris a fait (mal) Ce qu'il faudrait faire (bien)
1. Découpage des données A utilisé toutes les données 2022-2023 pour optimiser Optimiser sur 2022, garder 2023 de côté pour le test out-of-sample
2. Optimisation A testé 15 000 combinaisons de paramètres Utiliser des paramètres standards (EMA 20/50, stops à 2× ATR). Limiter les essais à moins de 10 variantes
3. Modélisation des coûts A supposé des coûts nuls Modéliser 0,10 % de slippage + 0,01 $ de spread + 2 $ de commission par position = -30 $ par position au minimum
4. Contrôle d'anticipation A utilisé la clôture de la même bougie pour le signal et l'exécution Signal sur close[0], exécution sur open[1] (bougie suivante). Un calendrier réaliste.
5. Test out-of-sample N'a jamais testé sur des données inédites Tester sur les données 2023 (intactes). Si la performance se dégrade de plus de 30 %, la stratégie est surajustée
6. Walk-forward Une seule période de backtest Fenêtres d'optimisation de 6 mois, test sur les 3 mois suivants. Répéter en avançant. Vérifier la cohérence.
Le test out-of-sample que Chris aurait dû faire

La bonne méthode :

  1. Période in-sample : Optimiser uniquement sur les données 2022 (ne pas toucher à 2023)
  2. Trouver les paramètres : EMA(34) + 1,47× ATR (même résultat, mais obtenu avec 2022 seulement)
  3. Figer les paramètres : PLUS AUCUN CHANGEMENT. Les paramètres sont gelés.
  4. Test out-of-sample : Faire tourner exactement ces paramètres sur les données 2023
  5. Comparer les résultats : Si la performance 2023 tombe sous 70 % de celle de 2022, la stratégie est surajustée

Ce qui se serait passé :

Période Espérance Facteur de profit Verdict
2022 (in-sample) +1.4R 3.1 Performance optimisée
2023 (out-of-sample) +0.4R 1.4 ⚠️ 71 % de dégradation
Conclusion : La stratégie est gravement surajustée. L'espérance 2023 vaut 29 % de celle de 2022. Avec des coûts réalistes (-30 $ par position = -0,15R), l'espérance nette tombe à +0,25R (à peine au-dessus de zéro). NE PAS DÉPLOYER.

La leçon : le backtest de Chris était une fantaisie. Tester 15 000 combinaisons de paramètres garantit que vous en trouverez une qui épouse parfaitement le bruit historique. Cette espérance « parfaite » de 1,3R n'était que de la courbe ajustée. Un test out-of-sample l'aurait révélé avant de perdre 8 400 $. Le backtesting ne consiste pas à trouver la meilleure performance passée, mais à trouver ce qui marchera ensuite. Et cela demande des données inédites, des coûts réalistes et zéro biais d'anticipation.

Partie 1 : les quatre façons dont les backtests mentent

Pourquoi votre stratégie parfaite échouera en réel

Commençons par la vérité qui dérange : si vous avez optimisé une stratégie pour qu'elle colle aux données passées, vous n'avez pas trouvé un avantage. Vous avez trouvé du bruit.

Ajuster la courbe à du bruit aléatoire

Ce que c'est : Optimiser les paramètres jusqu'à ce que le backtest paraisse parfait

Exemple :

  • Vous testez 100 périodes d'EMA différentes (10, 11, 12… 110)
  • EMA(47) donne 4,2R d'espérance en backtest
  • Vous croyez avoir trouvé le « chiffre magique »

Réalité : EMA(47) collait simplement par hasard à ce jeu de données précis. Et en test hors échantillon ? -0,8R d'espérance. Vous avez appris le bruit, pas le signal.

Mieux : Limitez l'optimisation. Utilisez des paramètres standards. Testez sur des données inédites.

Utiliser des données futures (impossible en trading réel)

Ce que c'est : Du code qui « regarde » les bougies futures pour décider maintenant

Exemple :

if close[0] > high[5]:  # utilise les 5 bougies FUTURES
    enter_long()

Le problème : En backtesting, vous disposez des données futures. En trading réel, non.

Réalité : Ce code ne peut tout simplement pas s'exécuter en réel. Votre backtest teste une stratégie qui n'existe pas.

Mieux : N'utilisez que les données disponibles au moment de la décision.

Supposer des exécutions parfaites à des prix parfaits

Hypothèse du backtest : « J'achète à 100,00 $ pile »

Réalité : L'ordre au marché est exécuté à 100,12 $ (spread + slippage)

Impact sur 100 positions :

  • Profit du backtest : 5 000 $
  • Coût du spread (0,10 $ par position) : -1 000 $
  • Slippage (0,05 $ par position) : -500 $
  • Commissions (2 $ par position) : -200 $

Réalité : Profit réel = 3 300 $ (34 % de moins que le backtest)

Ne tester que sur les survivants

Ce que c'est : Faire du backtesting uniquement sur les valeurs actuelles du S&P 500

Le problème : Vous excluez plus de 200 titres radiés ou tombés en faillite

Exemple :

  • Backtest sur la liste S&P 500 de 2024 : 1,8R d'espérance, facteur de profit 2,1
  • Mais sur toute cette période, vous auriez été acheteur de Hertz (faillite en 2020), de SVB Financial (effondrement en 2023) et de tous les autres noms partis à zéro.

Réalité : Votre espérance laisse de côté les pertes catastrophiques liées aux radiations. Espérance réelle : -0,2R (un système perdant).

💡 le déclic

Un backtest n'est pas la réalité. C'est une simulation. Et si votre simulation repose sur des hypothèses impossibles, vos résultats réels le seront tout autant.

Partie 2 : modéliser des coûts réalistes

Les coûts cachés qui tuent les stratégies

Voici ce que la plupart des backtests ignorent — et pourquoi le vôtre est sans doute 20 à 40 % trop optimiste :

Étape 1 : modéliser la fourchette achat-vente

Ce que c'est : L'écart entre le prix d'achat et le prix de vente

Exemple :

  • SPY, demande : 450,00 $ / offre : 450,01 $ → spread = 0,01 $
  • Vous achetez : vous payez 450,01 $ (demi-fourchette = 0,005 $)
  • Vous vendez : vous recevez 450,00 $ (demi-fourchette = 0,005 $)

Coût par aller-retour : $0.01

Pour 1 000 titres : 0,01 $ × 1 000 = 10 $ par position

100 positions : 1 000 $ de coûts de spread

Étape 2 : modéliser le slippage

Ce que c'est : Écart entre le prix visé et l'exécution réelle

Slippage réaliste selon les conditions :

  • Liquidité normale : 0.01-0.02%
  • Marchés volatils : 0.05-0.10%
  • Liquidité faible : 0.10-0.30%
  • Position de grande taille : 0.20-0.50%

Hypothèse prudente : 0,05 % par position

Position de 10 000 $ × 0,05 % = 5 $ de slippage par sens = 10 $ l'aller-retour

Étape 3 : modéliser les commissions

Exemple : Interactive Brokers

  • 0,005 $ par titre, 1 $ minimum
  • 200 titres × 0,005 $ = 1 $ par sens
  • Aller-retour = 2 $

100 positions : 200 $ de commissions

Étape 4 : coût réaliste total

Par position (aller-retour) :

  • Spread : 10 $
  • Slippage : 10 $
  • Commission : 2 $

Total : 22 $ par position

Si votre stratégie rapporte 50 $ bruts par position → 28 $ nets (44 % de moins !)

Exemple d'ajustement du backtest

Avant et après des coûts réalistes

Stratégie : 100 positions, 50 $ de profit moyen par position


Backtest (fantaisie) :

100 positions × 50 $ = 5 000 $ de profit


Après des coûts réalistes :

  • Brut : 5 000 $
  • Spread : -1 000 $
  • Slippage : -1 000 $
  • Commissions : -200 $

Profit net : 2 800 $ (44 % de moins)

Partie 3 : in-sample contre out-of-sample

La seule validation qui compte

Voici comment les professionnels valident une stratégie :

Découpez vos données en deux périodes.

  1. In-sample (60-70 %) : C'est ici que vous développez et optimisez votre stratégie
  2. Out-of-sample (30-40 %) : Validation sur des données INÉDITES

🎯 Exemple : 6 ans de données (2018-2024)

In-sample : 2018-2022 (optimisez ici)

  • Testez différents paramètres
  • Trouvez les règles les plus performantes
  • Affinez la logique d'entrée et de sortie

Out-of-sample : 2023-2024 (validez ici)

  • Faites tourner la stratégie sans AUCUNE modification
  • Comparez la performance à celle de l'in-sample
  • Si c'est comparable → pas de surapprentissage !
  • Si c'est bien pire → surajustée au bruit de l'in-sample

Les signaux d'alerte du surapprentissage

🚩 Les signes que votre stratégie est une courbe ajustée

  • Sharpe supérieur à 3,0 : Trop beau pour être vrai
  • Espérance supérieure à 5R : Extrêmement rare (vérifiez vos hypothèses d'exécution)
  • Seulement 20-30 positions : Échantillon trop petit (statistiquement dénué de sens)
  • Courbe de capital parfaite : Une ligne lisse sans drawdowns (impossible)
  • Testée sur un seul actif : Sans doute ajustée à ce régime précis
  • 10 paramètres optimisés ou plus : Vous avez ajusté le bruit, pas le signal
Partie 4 : l'analyse walk-forward

La méthode de validation professionnelle

L'in-sample contre l'out-of-sample, c'est bien. Le walk-forward, c'est mieux.

Comment cela fonctionne :

📊 Le cadre walk-forward

Période 1 : Entraînement sur 2018-2019 → test sur 2020

Période 2 : Entraînement sur 2019-2020 → test sur 2021

Période 3 : Entraînement sur 2020-2021 → test sur 2022

Période 4 : Entraînement sur 2021-2022 → test sur 2023


Si c'est cohérent sur toutes les périodes : Stratégie robuste

Si la performance se dégrade : Surajustée ou dépendante du régime

🎓 À retenir

  • Modélisez des coûts réalistes : Spread, slippage, commissions (20 à 40 % de profit en moins)
  • Évitez le surapprentissage : Limitez les paramètres, testez sur plusieurs marchés
  • In-sample contre out-of-sample : Développez sur 60-70 %, validez sur 30-40 %
  • Test walk-forward : Vérifiez la cohérence dans le temps
  • Signaux d'alerte : Sharpe supérieur à 3,0, espérance supérieure à 5R, moins de 30 positions
  • Testez en marche avant, puis passez en réel : Trading papier pendant 3 à 6 mois minimum
Exercice pratique

🎯 Exercice de validation de backtest

Exercice : validez votre stratégie avec le détecteur de signaux d'alerte

Prenez votre stratégie actuelle (ou une que vous envisagez) et passez-la par la validation :

  1. Faites le backtest sur 60 % de vos données (in-sample). Notez : positions, espérance, Sharpe, DD maximal
  2. Repérez les paramètres utilisés (EMAs, seuils, etc.). Les avez-vous optimisés en essayant plusieurs valeurs ?
  3. Testez sur les 40 % restants (out-of-sample). Comparez avec l'in-sample.
  4. Utilisez la grille de validation du modèle (8 catégories, 60 points maximum)
  5. Calculez votre score : 50-60 = on y va, 40-49 = à revoir, moins de 40 = à jeter
  6. Si le score atteint 50 : tradez sur papier pendant 30 à 60 positions avant de passer en réel

Objectif : Attrapez la courbe ajustée, le biais d'anticipation et les hypothèses irréalistes AVANT qu'ils ne détruisent votre compte réel. Mieux vaut jeter une mauvaise stratégie en backtesting que perdre de l'argent réel.

Vérifiez votre compréhension

🎮 Vérification rapide

Q : Vous faites le backtest d'une stratégie : 5,2R d'espérance, ratio de Sharpe de 4,2, testée sur 25 positions, avec EMA(47) parce que c'est elle qui donnait le meilleur résultat après avoir essayé 100 périodes. Qu'est-ce qui cloche ?

A) Rien — excellente stratégie !
B) Tout : échantillon trop petit, Sharpe et espérance trop élevés, EMA(47) est une courbe ajustée
C) Seulement l'espérance, trop élevée
D) Seulement l'échantillon, trop petit
Exact ! Trois signaux d'alerte majeurs : (1) seulement 25 positions = statistiquement insignifiant, (2) Sharpe de 4,2 = suspicieusement élevé (sans doute surajusté), (3) EMA(47) trouvée en testant 100 périodes = ajustée au bruit. Cette stratégie échouera en réel. Il faut : plus de 100 positions, un Sharpe réaliste (1,5-2,5), des paramètres standards.

Vous faites le backtest d'une stratégie de retour à la moyenne sur le SPY de 2010 à 2024. Résultats : 2,8R d'espérance, 68 % de réussite, 120 000 $ de profit. Les données ne contiennent que les composantes actuelles du S&P 500 (les titres présents dans l'indice aujourd'hui). Vous passez en réel en 2025 : ça échoue. Qu'est-ce qui a cloché ?

A) Rien — les conditions de marché de 2025 ont changé, c'était imprévisible
B) Le biais du survivant — le backtest a exclu 30-40 % des titres radiés ou en faillite entre 2010 et 2024
C) Échantillon trop petit — il faut plus de 14 ans de données
D) Espérance trop élevée — 2,8R est irréaliste pour du retour à la moyenne
Exact ! Le piège classique du biais du survivant. Tester sur « les composantes actuelles du S&P 500 » signifie que vous n'avez testé que les GAGNANTS : des titres qui ont survécu 14 ans et sont arrivés dans l'indice d'aujourd'hui. Vous avez laissé de côté les entreprises en faillite, les titres radiés et les modèles ratés (30-40 % du total). Ce sont précisément ces titres morts qui auraient déclenché vos entrées de retour à la moyenne sans jamais se relever. C'est exactement ce qui transforme l'espérance de 1,8R de l'exemple ci-dessus en un vrai -0,2R. Solution : utilisez des données point-in-time contenant TOUS les titres existant à chaque date, y compris ceux radiés par la suite. Le biais du survivant gonfle les résultats de backtest de 20 à 50 %.

Vous faites un test walk-forward de votre stratégie : entraînement 2018-2020, test 2021 (réussi). Entraînement 2018-2021, test 2022 (réussi). Entraînement 2018-2022, test 2023 (réussi). Vous n'avez modélisé ni le slippage ni les commissions. Faut-il trader cette stratégie en réel ?

A) Oui — elle a passé tous les tests walk-forward, c'est une stratégie robuste
B) Non — il faut d'abord ajouter des coûts réalistes (0,2-0,4 % de slippage + commissions) et retester. Si elle reste rentable, alors oui.
C) Oui — la validation walk-forward suffit, les coûts comptent peu
D) Non — il faut au moins 10 périodes walk-forward pour valider
Exact ! Les tests walk-forward prouvent la robustesse (pas d'ajustement à une seule période), mais vous DEVEZ modéliser des coûts réalistes avant de trader en réel. Le slippage (0,1-0,2 % par sens = 0,2-0,4 % l'aller-retour) plus les commissions (2 à 5 $ par position) peuvent réduire l'espérance de 30 à 60 %. Une stratégie à 2,5R d'espérance sans coûts peut tomber à 1,2R avec : toujours rentable, mais de justesse. Le cas de Chris plus haut est exactement cet échec : un backtest à 1,3R qui est ressorti à -0,45R en réel dès que les coûts sont devenus réels. Ajoutez les coûts EN DERNIER (après le walk-forward) ; si l'espérance reste au-dessus de 1,5R et la réussite au-dessus de 45 %, tradez-la en réel. Ne sautez jamais la modélisation des coûts : c'est ce qui sépare le profit de la douleur.

En backtesting, la perfection est suspecte. Le réalisme est l'avantage. Modélisez les coûts, évitez le surapprentissage, testez en avant — ou échouez en réel.

Leçons associées

Intermédiaire #34

Maîtriser le journal de trading

Suivez la performance réelle et comparez-la aux résultats du backtest.

Lire la leçon →
Débutant #9

Taille de position

Appliquez un dimensionnement correct dans vos backtests pour des résultats réalistes.

Lire la leçon →
Intermédiaire #30

Reconnaissance de régime

Testez votre stratégie sur tous les régimes pour en vérifier la robustesse.

Lire la leçon →

⏭️ La suite

Leçon #33 : gestion avancée du risque — les cadres professionnels — Découvrez le critère de Kelly, le dimensionnement dynamique et les protocoles de drawdown.

À but éducatif uniquement. Le trading comporte un risque de perte substantiel. Les performances passées ne garantissent pas les résultats futurs.

💬 Discussion (0 commentaire)

0/1000

Chargement des commentaires…

← Leçon précédente Leçon suivante →

Prêt à trader avec Signal Pilot ?

Mettez votre formation en pratique avec des indicateurs professionnels et des outils d'analyse de marché en temps réel.

Retour à Signal Pilot →
À but éducatif uniquement. Le trading comporte un risque de perte substantiel. Ceci n'est pas un conseil financier. Les performances passées ne garantissent pas les résultats futurs.