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

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

Statistiques affichées dans le bloc Gauntlet, leur série d'entrée et les seuils de lecture
StatistiqueEntrée et méthodeSeuil
PSRP&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 observationsInformatif
DSRMê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-valueP&L par trade ; signe de chaque transaction inversé au hasard 10 000 fois ; p = (1 + nombre ≥ observé) / (1 + n)< 0,05 pour passer (éliminatoire)
PBOMatrice 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éesNombre de combinaisons de la grille (N), tout le balayage, pas seulement les retenuesAlimente le DSR
Drawdown, 95 % des ordonnancements font mieuxP&L par trade remélangé 10 000 fois ; 5e centile du drawdown maximalInformatif
Stabilité des paramètresSharpe de grille de la configuration retenue contre ses voisines situées à un pas sur un axeplateau ≥ 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.

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.