What the deflated Sharpe ratio answers
If you test enough strategies, one of them will look good by luck. That's not a figure of speech: among 100 strategies with no edge at all, the best one's Sharpe ratio over three years of daily data is expected to be about 1.46. So a Sharpe of 1.5 found after 100 tries is barely better than what pure noise produces.
The deflated Sharpe ratio, from a 2014 paper by David Bailey and Marcos López de Prado, puts a number on this. It is the probability that the true Sharpe ratio of your best strategy is higher than the best one luck alone would give after the same number of tries. A value above 95% means the result is unlikely to be a fluke of the search. A value around 50% means you can't tell it apart from the best of N coin flips.
How to use it
- Enter the annualized Sharpe ratio of the strategy you picked.
- Enter how many strategies, settings or variants you tried before picking it. Be honest: every parameter set in an optimization counts.
- Enter the length of the backtest and how often returns are measured.
- Optional: enter the skewness and kurtosis of the strategy's returns (0 and 3 for a normal distribution). Fat tails make a Sharpe ratio less reliable.
- If you know how spread out the Sharpe ratios of all your tries were, choose I measured it and enter their standard deviation. Otherwise the calculator assumes your tries had no skill, which is the standard null case.
The formulas
The calculator works with the Sharpe ratio per period (SR = annual Sharpe ÷ √periods per year) and T return observations.
probabilistic Sharpe PSR(SR*) = Φ( (SR − SR*) × √(T − 1) ÷ √(1 − skew × SR + (kurt − 1) ÷ 4 × SR²) )
luck Sharpe SR0 = σ × [ (1 − γ) × Φ⁻¹(1 − 1/N) + γ × Φ⁻¹(1 − 1/(N × e)) ]
σ = spread of the tries' Sharpe ratios (1/√(T − 1) with no skill)
γ = 0.5772 (Euler–Mascheroni constant)
deflated Sharpe DSR = PSR(SR0)
PSR(0) asks whether the Sharpe ratio beats zero as a single test. DSR asks the same question against the luck Sharpe. The bracket is an approximation of the expected maximum of N standard normal draws; it is good for N of 10 or more and rough for two or three tries.
Worked example
A strategy shows an annualized Sharpe ratio of 1.5 on 3 years of daily data (756 trading days), with roughly normal returns. It was the best of 100 parameter sets.
- Sharpe per day: 1.5 ÷ √252 = 0.0945
- As a single test, PSR(0) = 99.5%. It looks solid.
- Luck Sharpe after 100 tries: (1/√755) × 2.531 = 0.0921 per day, 1.46 annualized
- Deflated Sharpe ratio: 52.6%, close to a coin flip
As a single test, this Sharpe would need 1.2 years of data to be significant at 95%. After 100 tries, it needs about 7.8 years. The extra data is the price of the search.
How lucky can a backtest get?
Best annualized Sharpe ratio expected from N strategies with no edge, on daily data (252 days a year), from the formula above:
| Backtest length | 10 tries | 100 tries | 1,000 tries |
|---|---|---|---|
| 1 year | 1.58 | 2.54 | 3.26 |
| 3 years | 0.91 | 1.46 | 1.88 |
| 5 years | 0.70 | 1.13 | 1.46 |
| 10 years | 0.50 | 0.80 | 1.03 |
A one-year backtest that picked the best of 100 variants should show a Sharpe of about 2.5 even if none of them works. An optimizer that tests 1,000 settings will find a Sharpe above 3 on one year of noise.
What counts as a try
- Every parameter combination an optimizer evaluates.
- Every indicator, filter or timeframe you swapped in and out by hand.
- Every market you tested the idea on before keeping the ones that worked.
- Ideas you abandoned after looking at the backtest.
Similar settings are partly the same test (a 20-period and a 21-period average trade almost alike), so the effective number of independent tries is smaller than the raw count. The calculator treats tries as independent, so the true penalty sits somewhere between its answer and a single test. Use the raw count for a cautious answer, or a smaller number if your variants were very alike.
Where to get skewness and kurtosis
Export the strategy's daily (or weekly) returns and compute them in a spreadsheet: SKEW() gives skewness; KURT() gives excess kurtosis, so add 3. Trend-following systems that sit in cash often show positive skew and very high kurtosis, because most days are flat and a few are large. High kurtosis widens the uncertainty around the Sharpe ratio.
Limits
- It tests the Sharpe ratio, not the strategy. Costs, fills and look-ahead bugs must already be right in the backtest.
- It assumes returns are independent from one period to the next.
- A high deflated Sharpe ratio says the result is unlikely to be luck from the search. It doesn't say the edge will survive a change of market regime.
The companion guide, walk-forward analysis and out-of-sample testing, runs a real example on Bitcoin and puts the result through this calculator. For annualized Sharpe and Sortino ratios from a list of returns, use the Sharpe ratio calculator.