30 août 2026 · statistiques

Combien de trades faut-il à un backtest pour que le Sharpe soit significatif ?

Combien de trades faut-il à un backtest pour que le Sharpe soit significatif ?

C'est la question qu'on me pose le plus souvent, sous une forme ou une autre, après que quelqu'un a terminé sa première stratégie : combien de trades me faut-il pour que le résultat soit réel ? Il y a généralement un chiffre avec. « J'ai 1,200 trades, c'est suffisant, non ? » Et la réponse honnête agace tout le monde, parce qu'il ne s'agit pas du tout du nombre de trades.

Voici l'essentiel en une ligne ; je consacrerai ensuite le reste de cet article à expliquer pourquoi ça fait mal.

1/√Terreur standard d'un Sharpe annualisé, T en années
±0.88intervalle à 95 % autour de tout Sharpe sur 5 ans
1.4Sharpe atteint sur la même période de 5 ans par la plus chanceuse de 100 stratégies sans signal

Quelle est l'erreur standard d'un ratio de Sharpe ?

Pour un Sharpe calculé sur n rendements périodiques, en supposant qu'ils sont indépendants et à peu près normaux, l'erreur d'échantillonnage est :

SE(s) ≈ √((1 + s²/2) / n)

où s est le Sharpe mesuré à cette même fréquence. Annualisez les deux côtés et vous obtenez une formule simple. Avec k observations par an et T années, l'erreur standard du Sharpe annualisé S est :

SE(S) ≈ √((1 + S²/(2k)) / T)

Regardez ce 2k au dénominateur. Pour des rendements quotidiens, k = 252 ; même un Sharpe de 2 ne contribue donc qu'à hauteur de 4/504 ≈ 0.008 au numérateur. Le tout se simplifie en 1. L'erreur standard d'un Sharpe annualisé est approximativement égale à 1/√T, où T représente le nombre d'années civiles de données. Elle dépend à peine du Sharpe lui-même, ne dépend pas de la fréquence d'échantillonnage et ne dépend absolument pas du nombre de trades effectués.

Donc :

Années de donnéesES(Sharpe)IC à 95 % si la mesure est de 1.5
11.00−0.46 à 3.46
20.710.11 à 2.89
30.580.37 à 2.63
50.450.62 à 2.38
100.320.88 à 2.12

Un backtest affichant un Sharpe de 1.5 sur deux ans d'historique ne peut pas statistiquement se distinguer d'un pile ou face au seuil de 95 %. C'est la situation de départ de la plupart des recherches crypto : les données propres, corrigées du biais de survivance et tenant compte précisément des frais ne commencent généralement qu'aux alentours de 2022, et la moitié des symboles intéressants n'existaient pas avant 2023.

Mais j'ai 40,000 trades. Ça ne règle pas le problème ?

Non, et c'est l'idée fausse que je veux le plus dissiper.

Le nombre de trades et la durée de l'échantillon sont deux grandeurs différentes, et une seule figure dans la formule. Si votre stratégie se déclenche 40,000 fois en six mois, vous avez T = 0.5 et ES ≈ 1.41. L'intervalle à 95 % pour un Sharpe mesuré de 2.0 va de −0.8 à 4.8. Avec 40,000 trades, la conclusion honnête est : « ça peut être bon, ou être perdant ».

La raison, c'est que ces 40,000 trades ne sont pas 40,000 paris indépendants sur 40,000 états de marché différents. Ce sont 40,000 observations issues d'environ 180 jours de comportement du marché ; les jours sont corrélés entre eux et les régimes le sont aussi. Un portefeuille de retour à la moyenne haute fréquence qui gagne de l'argent tous les jours pendant quatre mois n'a en réalité fait qu'un seul pari — celui que le retour à la moyenne à court terme se maintient dans ce régime de liquidité — et n'a observé son résultat qu'un petit nombre de fois indépendantes.

Le remplacement mental que j'utilise : comptez les régimes, pas les exécutions. Combien de conditions de marché réellement différentes cette stratégie a-t-elle traversées ? Une stratégie de portage fondée sur le funding qui a fonctionné pendant une seule longue période de basis positif a vu n = 1, quel que soit le nombre de rééquilibrages horaires enregistrés.

Diagnostic rapide : faites un block bootstrap de votre P&L quotidien avec des blocs de 20 jours, puis observez la dispersion des Sharpes rééchantillonnés. Si le 5e percentile est inférieur à zéro, votre nombre de trades n'a aucune importance. Ça prend environ neuf lignes de numpy et ce contrôle m'a détourné de plus de stratégies que n'importe quel autre.

La formule s'applique-t-elle aux stratégies réelles ?

Pas exactement, et elle se trompe dans le sens qui vous déplaira. Le résultat 1/√T suppose des rendements IID normaux. Les rendements réels des stratégies sont autocorrélés et asymétriques, et l'asymétrie est généralement négative pour tout ce qui ressemble à du portage, à une vente de volatilité ou à un retour à la moyenne. La correction de Mertens réintroduit ces moments :

SE(s) ≈ √((1 + s²/2 − γ₃·s + (γ₄−3)·s²/4) / n)

avec γ₃ l'asymétrie et γ₄ le kurtosis. Une asymétrie négative rend le terme −γ₃·s positif, ce qui élargit l'intervalle. L'excès de kurtosis l'élargit encore. Pour un P&L de portage crypto typique, avec une asymétrie autour de −1.2 et un kurtosis autour de 9, j'ai vu l'erreur standard corrigée être 30–40% supérieure à l'estimation naïve. L'article de Lo paru en 2002 traite l'autocorrélation, et l'effet va dans le même sens : une autocorrélation positive des rendements gonfle le Sharpe naïf et réduit l'erreur apparente, une combinaison redoutable.

Considérez donc 1/√T comme un plancher pour votre incertitude. C'est le meilleur cas possible.

Quel doit être le Sharpe si j'ai testé 500 variantes ?

On arrive maintenant au point essentiel pour quiconque exploite un pipeline de recherche automatisé, comme nous le faisons tous les jours chez Stratmill : l'agent de génération ne produit pas un candidat, mais des centaines.

Le maximum attendu de M tirages d'une loi normale standard est approximativement √(2 ln M). Multipliez-le par votre erreur standard et vous obtenez le Sharpe qu'affichera la plus chanceuse des M stratégies réellement sans valeur.

Stratégies testées√(2 ln M)Meilleur Sharpe dû au hasard, 5 ans (ES 0.45)Meilleur dû au hasard, 2 ans (ES 0.71)
102.150.961.52
1003.031.362.16
5003.531.582.50
5,0004.131.852.93

Regardez l'avant-dernière ligne. Si vous avez généré 500 candidats à partir de deux ans de données et que le gagnant affiche un Sharpe de 2.4, vous n'avez rien trouvé. Ce résultat est sous le seuil du bruit. Le Sharpe déflaté de Bailey et López de Prado formalise cela en utilisant la variance des Sharpes testés à la place de l'approximation grossière √(2 ln M). Il vaut la peine de l'implémenter correctement, mais la version simplifiée suffit à changer vos pratiques dès aujourd'hui.

Deux facteurs aggravent la situation par rapport à ce que suggère le tableau. D'abord, M ne correspond pas au nombre de stratégies que vous avez sauvegardées, mais au nombre de stratégies que vous avez évaluées, y compris chaque ajustement de paramètre, chaque « je vais juste essayer une fenêtre de 30 périodes », chaque nouvelle exécution après une correction de bug. Personne ne tient un compte honnête. Ensuite, vos candidats ne sont pas des tirages indépendants, donc √(2 ln M) surestime l'ampleur effective de la recherche ; mais des essais corrélés signifient aussi qu'un seul régime chanceux peut faire monter tout un groupe de stratégies à la fois.

Le chiffre le plus dangereux en recherche quantitative, c'est celui que personne n'a consigné : combien de fois vous avez regardé.

Alors, concrètement, que faire ?

Cinq choses, dans l'ordre où je les ferais.

  1. Consignez chaque évaluation. Un compteur qui s'incrémente à chaque exécution de backtest, dont la valeur est conservée et jamais remise à zéro. Si vous ne pouvez pas dire ce que vaut M, vous ne pouvez pas définir votre seuil. C'est l'heure de travail technique la plus rentable de toute cette liste.
  2. Présentez toujours le Sharpe avec son intervalle. N'affichez jamais un chiffre seul. Nos rapports de backtest indiquent 1.72 ± 0.51 (2.9y, skew-adjusted) et le ± est obligatoire. Ça change la façon dont toute l'équipe parle des résultats.
  3. Fixez le seuil à partir de M et T avant de regarder les résultats. Relevez le chiffre dans le tableau ci-dessus et notez-le. Les seuils définis après coup, c'est ainsi qu'on finit par se convaincre d'un ajustement excessif de la courbe.
  4. Privilégiez la diversité à la fréquence quand votre échantillon est limité. Vous ne pouvez pas fabriquer du temps calendaire, mais vous pouvez appliquer le même signal à 40 symboles non corrélés. Cela augmente réellement la taille effective de l'échantillon, contrairement à une hausse de la fréquence des trades. Surveillez toutefois les corrélations : 40 contrats perpétuels crypto pendant une heure d'aversion au risque, c'est un seul instrument.
  5. Ensuite, faites du paper trading. Le temps hors échantillon s'accumule à raison d'un jour par jour ; aucun raccourci n'existe, et c'est précisément pour cela que c'est le seul échantillon qu'on ne peut pas surajuster.

Rien de tout cela ne rend les échantillons courts exploitables. Cela vous oblige à être honnête sur les conclusions qu'un échantillon court peut étayer, lesquelles sont bien plus modestes que ne le laissent entendre la plupart des rapports de backtest. Un Sharpe de 1.5 sur deux ans est une hypothèse qui mérite un paper trading. Ce n'est pas un résultat établi.

ratio de Sharpesurajustementbacktestingsignificativité statistiquerecherche quantitative
← Tous les articles