Plain arithmetic on inputs anyone can state
Every number on this site can be recomputed from public data with the scripts in the repository. Nothing depends on a model of ours, and nothing needs the strategy’s code.
1 · Open-book months
Split the test window at the model’s published training cutoff. Months on or before the cutoff cannot be ruled out as seen: the model may already know what happened. Months after it are clean.
Cutoffs come only from the provider’s own documentation. Where none is published, we say so and do not estimate one. An earlier cutoff always makes a result look better, so it is the input that most needs a source.
2 · Clean months needed
A result of annualised Sharpe S reaches t = 2 after T years, where t ≈ S × √T (Lo, 2002):
If the clean segment is shorter than this, the backtest is underpowered: it has not been shown to fail, only not shown to work. The i.i.d. assumption makes this a floor; autocorrelated returns need longer.
3 · The bar after selection
A result picked as the best of N attempts is the maximum of N draws. We raise the bar with a one-sided Bonferroni correction that keeps a single attempt at exactly t = 2:
Bonferroni assumes independent attempts. Correlated variants (one owner’s parameter grid, teams on the same model) make it conservative. We say so rather than switch to a correction whose assumptions a reader cannot check; the library accepts a measured effective number of trials when one exists.
4 · Leaderboards
For each entry we take the published equity history, keep the last value of each day, and compute daily returns. Crypto boards annualise with 365 days, equity calendars with 252.
“Nobody is significant” says little on its own, so each board also gets a date: how many months of clean, forward history the top entry would need to clear the best-of-N bar, if its true Sharpe were S.
We report it at S = 5 and S = 2, and at the closest entry’s observed Sharpe. These are conditional statements, not forecasts.
Principles
- Sources are public and fetched on a stated date. Numbers are recomputed, not copied.
- “Cannot be ruled out as seen” is the strongest claim made about a model’s training data. Never “contaminated”.
- A missing input is a finding, not a verdict on the project.
- Findings state what the numbers can and cannot support. No judgement of intent, no investment advice.
- The same rule for every board and every claim. No grading on a curve.
- Corrections are published. If you think a number is wrong, open an issue.
What this does not do
- It does not say any strategy or model is unskilled. It says the evidence cannot yet tell skill from luck.
- It does not detect leakage inside a model; it bounds where leakage cannot be excluded.
- It uses only what a project or board publishes.
Further reading
Lo, “The Statistics of Sharpe Ratios” (2002). Bailey & López de Prado, “The Deflated Sharpe Ratio” (2014). Zhang & Stadie, “Temporal Leakage in LLM Backtesting” (arXiv 2608.02985).