Lab

Lab · statistiques de population

Densité de Sharpe et scatter de population (μ, σ, t)

Bibliothèque d'ajustement de distributions et de visualisation pour travailler avec des populations de stratégies de 38k+ variantes par actif.

Les mathématiques

Pour chaque stratégie i dans un pool de N variantes, observée sur T barres avec des rendements réalisés ri,t, calculez

Sous l'hypothèse nulle de rendements N(0, σ²) indépendants, la statistique de Sharpe studentisée suit une distribution de Student à T − 1 degrés de liberté. Pour T modéré, elle est bien approximée par une normale standard.

La vue de population agrège N telles statistiques-t en un histogramme. Sous l'hypothèse nulle globale (aucun edge réel nulle part) cet histogramme est la distribution empirique de N variables N(0, 1) i.i.d. Tout écart, en particulier dans la queue droite, est la signature au niveau de la population d'un sous-ensemble non vide de vrais non-nuls.

Inflation par comparaisons multiples

Au seuil de “significativité de 5 %” |t| > 1,96, le nombre attendu de faux positifs dans un pool de N = 38 000 stratégies tirées de l'hypothèse nulle globale est

Toute stratégie individuelle passant |t| > 1,96 dans ce pool est virtuellement non informative. Le seuil corrigé par Bonferroni pour un contrôle à l'échelle de la population à 5 % est , extrêmement conservateur et susceptible de tuer tout signal. Le bon choix est le contrôle du FDR via knockoffs (M/02) ou Benjamini–Hochberg, que la bibliothèque reporte aux côtés de la distribution brute.

Distribution d'échantillonnage du ratio de Sharpe

Pour le Sharpe dégonflé de Bailey & López de Prado (2014), l'erreur-type d'un Sharpe observé dépend de son asymétrie et de son aplatissement :

où γ3, γ4 sont l'asymétrie et l'aplatissement de la distribution de rendements par barre. Pour des rendements crypto à queues lourdes, cela peut gonfler le SE de 30–50 % par rapport à la ligne de base gaussienne ; la bibliothèque reporte à la fois la borne naïve et la borne dégonflée.

Exemple détaillé

Générez N = 2 000 stratégies avec T = 200 barres chacune. 5 % (k = 100) portent un vrai edge avec (soit un Sharpe par barre de 0,06, annualisé ≈ 0,95 en fréquence quotidienne). Les 1 900 restantes sont du pur bruit.

  • Nb attendu de |t| > 2 du pool de bruit : 1900 · (1 − Φ(2)) · 2 ≈ 87 fausses découvertes.
  • Nb attendu de |t| > 2 du pool d'alpha : 100 · P(ti > 2 − √200·0,06) ≈ 100 · P(Z > 1,15) ≈ 12,5. Soit environ 12 vraies découvertes.
  • La FDP réalisée au seuil |t| > 2 se situe donc près de 87 / (87 + 12) ≈ 88 %. C'est la ligne de base que vous devez battre avec toute règle de sélection.

La démo ci-dessous régénère ce scénario en direct. Augmentez la fraction d'alpha et regardez la queue droite de la densité de Sharpe croître ; le scatter (μ, σ) colore les points alpha-positifs en orange via |t| > 2.

Demo: Sharpe density & (μ, σ, t) scatter

2000 strategies, T=200 bars each. Most are pure noise; 100 carry a small true edge.

N strategies2000
T bars200
α fraction (true edge)0.05
seed=3
planted α
119
|t|>2 selected
104
true discoveries
18
false discoveries
86
Sharpe density (orange = α-stratum)
-0.28-0.18-0.090.000.090.180.28Sharpe = mean / std
(μ, σ) scatter · orange = |t| > 2
-0.47-0.31-0.16-0.000.160.310.470.000.571.141.712.28per-bar mean μ

Figures

Fig. 1:Densité par noyau de la population des ratios de Sharpe hors échantillon sur plus de 130k observations stratégie-fenêtre couvrant le corpus complet de 30 actifs (référence non perturbée, n_trades ≥ 10). La densité empirique est visiblement plus large que N(0,1), à queues lourdes, avec une masse non triviale en queue droite qui survit à toute correction de multiplicité honnête.
Fig. 2:Scatter (μ, σ) de chaque stratégie hors échantillon du corpus, coloré par quartile de taux de réussite. Les courbes ambre en tirets marquent la frontière |t| = 2 au nombre médian de trades. Les stratégies du quartile supérieur en taux de réussite (vert) sont concentrées au-dessus de la ligne |t| = 2, la signature au niveau de la population indiquant que la métrique de classement trouve une vraie structure inter-stratégies plutôt que de redessiner le bruit.

Pourquoi cela compte pour les stratégies systématiques

Les populations de stratégies de la taille avec laquelle nous travaillons (38k+ variantes par actif) sont fondamentalement intractables sans une bibliothèque pour les résumer. La bibliothèque donne la même entrée à chaque modèle en aval : un tenseur de résumé par stratégie avec μ, σ, Sharpe, t, p-valeur, et les moments des rendements par barre. M/01 (RMT) consomme la structure de corrélation des rendements ; M/02 (HC + knockoffs) consomme les statistiques-t ; M/03 (TDA) consomme les mêmes corrélations que M/01 mais extrait des invariants topologiques ; M/04 (EVT) consomme directement les rendements par barre. Les routines de visualisation sont le pont entre la population et le pattern-matching humain : le scatter (μ, σ) est l'endroit où vous voyez d'abord si votre sous-ensemble filtré est sur une autre planète par rapport à la masse, ou juste un coin un peu plus chanceux de la même.

Reproductibilité

DaruFinance / strategy-stats

Python · implémentation de référence open-source

Invocation minimale

from strategy_stats import population_summary, sharpe_kde, mu_sigma_scatter

# returns: N x T strategy returns matrix
summary = population_summary(returns, periods_per_year=252)
print(summary.head())   # mu, sigma, sharpe, t, p_value

ax = sharpe_kde(summary['sharpe'])
ax = mu_sigma_scatter(summary, color_by='t')

Références

  1. [1]Bailey, D. H. & López de Prado, M. (2014). The deflated Sharpe ratio: correcting for selection bias, backtest overfitting, and non-normality. Journal of Portfolio Management 40(5), 94–107.
  2. [2]Lo, A. W. (2002). The statistics of Sharpe ratios. Financial Analysts Journal 58(4), 36–52.
  3. [3]Harvey, C. R., Liu, Y. & Zhu, H. (2016). … and the cross-section of expected returns. Review of Financial Studies 29(1), 5–68.