Tests de sur-ajustement : Sharpe dégonflé, PBO, permutation et stabilité
Senzoukria mesure si un résultat de backtest survit au nombre de configurations essayées : ratios de Sharpe probabiliste et dégonflé, probabilité de sur-ajustement du backtest (CSCV), test de permutation par inversion de signe, distribution de drawdown par mélange d'ordre et contrôle de stabilité des paramètres. Tout est calculé localement après un backtest automatique.
Senzoukria · Documentation · Mis à jour en septembre 2026
Où le trouver
- Où
- Replay → Backtest automatique → résultat → bloc Gauntlet et ligne « Sharpe dégonflé — probabilité d'un edge réel » du walk-forward
- Références
- Bailey et López de Prado (2014) pour le PSR/DSR ; Bailey, Borwein, López de Prado et Zhu (2015) pour le PBO
- Permutations
- 10 000 tirages, graine 0, déterministe
- PBO
- 16 blocs contigus par défaut, ≥ 8 jours de séance, ≥ 2 configurations
Ce que répond chaque test
| Statistique | Entrée et méthode | Seuil |
|---|---|---|
| PSR | P&L quotidien du chemin retenu ; probabilité que le vrai Sharpe dépasse 0, corrigée de la longueur d'échantillon, de l'asymétrie et de l'aplatissement ; 0 en dessous de 5 observations | Informatif |
| DSR | Même série, mais la référence est le Sharpe attendu du meilleur de N configurations sans edge, mis à l'échelle par la variance des Sharpes de la grille | > 0,95 pour passer (éliminatoire) |
| p-value | P&L par trade ; signe de chaque transaction inversé au hasard 10 000 fois ; p = (1 + nombre ≥ observé) / (1 + n) | < 0,05 pour passer (éliminatoire) |
| PBO | Matrice jour de séance × configuration ; pour chaque découpage en deux moitiés de 16 blocs, rang hors échantillon de la meilleure configuration dans l'échantillon | < 0,5 pour passer (indicatif) |
| configurations essayées | Nombre de combinaisons de la grille (N), tout le balayage, pas seulement les retenues | Alimente le DSR |
| Drawdown, 95 % des ordonnancements font mieux | P&L par trade remélangé 10 000 fois ; 5e centile du drawdown maximal | Informatif |
| Stabilité des paramètres | Sharpe de grille de la configuration retenue contre ses voisines situées à un pas sur un axe | plateau ≥ 0,7 de ratio médian et aucune voisine négative ; pic < 0,4 ou une voisine négative |
La ligne du walk-forward
Indépendamment du Gauntlet, le résultat du walk-forward porte son propre Sharpe dégonflé (lib/quant/overfit.ts), calculé sur les transactions hors échantillon. Il affiche le Sharpe par trade face au seuil que produirait la seule sélection, sur les configurations essayées et le nombre de transactions hors échantillon, et énonce la probabilité en un mot : solide à ≥ 0,95, fragile entre 0,5 et 0,95, bruit en dessous de 0,5.
Les deux implémentations diffèrent à dessein. La ligne du walk-forward travaille sur des rendements par trade et prend l'écart-type de tous les Sharpes essayés sur l'ensemble des plis comme dispersion. Le Gauntlet travaille sur le P&L par jour de séance et tire sa dispersion de la grille sur la période entière. Une exécution sans balayage a N = 1 et une variance nulle : le DSR se réduit donc au PSR contre zéro, ce qui est bien ce qu'il doit être quand rien n'a été sélectionné.
Comment s'en servir
- Lisez d'abord la p-value : si le test d'inversion de signe ne parvient pas à distinguer le Sharpe du hasard, le reste est sans objet.
- Puis le DSR : un Sharpe brut élevé avec un DSR sous 0,95 signifie que le nombre de configurations explique une bonne part du résultat. Resserrez le balayage ou allongez la période.
- Un PBO proche de 0,5 relève du hasard ; au-dessus, choisir la meilleure configuration dans l'échantillon nuit activement hors échantillon.
- Préférez un plateau à un pic sur le graphique de stabilité : une règle qui fonctionne autour de ses paramètres survit au marché qui se décale d'un pas tout seul.
Limites et pièges
Ces tests corrigent la sélection et la non-normalité à l'intérieur de l'échantillon que vous leur avez donné. Ils ne voient pas des données jamais chargées, une stratégie modifiée après un mauvais verdict, ni un second balayage lancé sur les mêmes barres. Chaque relance est un tirage de plus dont le compteur ignore l'existence.
Un P&L dégénéré (moins de deux transactions ou un écart-type nul) renvoie une p-value de 1 et un Sharpe de 0. Moins de cinq observations quotidiennes renvoient PSR = 0. Ce sont des refus de conclure, pas des mesures d'une mauvaise stratégie.
Passer tous les tests est une affirmation sur un échantillon ; ce n'est pas une promesse de résultats en direct.
Pages liées
- Verdict Gauntlet
- Balayage de paramètres
- Monte-Carlo sur les comptes
- Le trading quantitatif pour débuter
- Comment tester une stratégie de trading
Cette page dans d’autres langues
Questions fréquentes
- Pourquoi le PBO est-il affiché « — » ?
- La grille n'avait qu'une seule configuration, ou moins de 8 jours de séance étaient disponibles pour la matrice. Le PBO demande au moins deux configurations et assez de blocs contigus pour découper en deux moitiés.
- Pourquoi le DSR est-il plus bas que le PSR ?
- Le PSR se compare à zéro ; le DSR se compare au Sharpe qu'atteindrait le meilleur de N configurations aléatoires. Avec plus d'essais ou une dispersion plus large des Sharpes de la grille, cette référence monte et le DSR baisse.
- Les résultats de permutation sont-ils reproductibles ?
- Oui. Le générateur est le même mulberry32 que celui du moteur prop firm, initialisé à 0 par défaut : les mêmes transactions donnent la même p-value et les mêmes centiles à chaque exécution.