PerpForge
Get started

Concept · Is it a real edge, or luck?

Sharpe Significance

The minimum number of trades needed for a measured Sharpe ratio to be statistically distinguishable from zero. Tells you how many trades it takes to prove "this strategy is better than random."

The minimum number of trades needed for a measured Sharpe ratio to be statistically distinguishable from zero. Tells you how many trades it takes to prove "this strategy is better than random."

In plain English

If a strategy has a measured Sharpe ratio of 0.05, that could easily be random noise — a coin-flip strategy with zero true edge can produce small positive (or negative) Sharpe by luck. To be confident the Sharpe is real (i.e. not zero), you need enough trades that the measurement noise drops below the signal.

The stronger the Sharpe, the fewer trades you need. A truly amazing strategy can be validated quickly. A barely-edged strategy needs a huge sample.

Formula

For a per-trade Sharpe ratio S, the standard error under the iid approximation (independent, identically distributed trade returns) is approximately:

SE(S) ≈ sqrt( (1 + 0.5 × S²) / N )

For S to be distinguishable from zero at 95% confidence, you need:

S > 1.96 × SE(S)
   → N ≈ (1.96 / S)²   (for small S)

Approximation note. The formula above assumes trade returns are statistically independent. PerpForge uses the HAC standard error (Lo 2002, Newey-West Bartlett kernel), which accounts for autocorrelation in the return series — a held position produces correlated candle returns, so the effective sample size is smaller than N. HAC CIs are wider and more conservative than the iid formula above. The (1.96 / S)² formula builds intuition for the Sharpe-vs-N tradeoff; the engine may require more trades than it suggests.

Why it matters for this fleet

This formula is the most efficient way to ask "how many trades do I need?" without first running the backtest. Look at the observed Sharpe, plug in, get N.

True per-trade Sharpe N needed (95% confidence)
0.5 (extraordinary) ~16
0.3 (excellent) ~43
0.2 (good) ~96
0.1 (mediocre) ~385
0.05 (thin) ~1537
0.02 (very thin) ~9604

The decay is brutal: cutting Sharpe in half quadruples the trades needed. Thin edges are expensive to prove.

Examples from the live fleet

Here, "Sharpe" means per-trade Sharpe — the average per-trade return divided by the trade-to-trade volatility (how much the returns scatter around that average). A bigger Sharpe means a steadier edge.

The examples below apply the iid formula above, not the HAC CI the engine computes. They illustrate the Sharpe-vs-N relationship. The engine's verdict may differ — HAC CIs are wider, so the bar is often higher in practice.

  • id523 (EMA 21/50 · SOL · 1h · 2× · long): measured Sharpe 0.110, N=436. iid required N ≈ (1.96 / 0.110)² ≈ 317. Actual 436 > 317 → clears the iid bar. (Still a poor strategy — trailed simply holding SOL by 2013pp — but the edge clears the iid threshold.)
  • id511 (EMA 21/50 · BTC · 1h · 2× · long): measured Sharpe 0.020, N=469. iid required N ≈ (1.96 / 0.020)² ≈ 9,213. Actual 469 ≪ 9,213 → fails badly. The Sharpe is too thin for 469 trades to prove any edge under either formula.

The pattern: the difference between these two is not their trade count (436 vs 469 — almost the same). It is the strength of the edge. A Sharpe of 0.110 needs a few hundred trades; a Sharpe of 0.020 needs nearly ten thousand.

Caveat — the Sharpes here are genuinely small. Real trend-following Sharpes in this fleet sit in the 0.02–0.26 range. Thin edges are real, but they demand large samples to prove, which is exactly why most of the fleet cannot clear this bar.

Important nuance — annualized vs per-trade Sharpe

The simulator reports per-trade Sharpe, not annualized. Trading literature usually quotes annualized values. Conversion:

Sharpe_annual ≈ Sharpe_per_trade × sqrt(trades_per_year)

So a per-trade Sharpe of 0.1 on a 1h strategy generating 600 trades/year is 0.1 × sqrt(600) ≈ 2.45 annualized — institutional-grade. A per-trade Sharpe of 0.4 on a 1d strategy generating 30 trades/year is 0.4 × sqrt(30) ≈ 2.19 annualized — also excellent.

This is why thin per-trade Sharpe with high frequency can still be deployable; and high per-trade Sharpe with low frequency can still be statistically real.

Practical use

  1. Run the backtest. The engine computes the HAC CI directly from your trade returns.
  2. Read edgeSignificance in the result. significant = CI lower bound > 0 at 95% confidence (real edge, HAC-adjusted). not-significant with a CI present = edge unproven. The table above gives intuition for why: thin Sharpe at modest N rarely survives the test.
  3. The (1.96 / Sharpe)² formula gives a rough minimum-N estimate under the iid approximation. Treat it as a floor. Autocorrelation in the return series lowers N_eff, so the engine may require more trades than the formula suggests.
  4. If the edge is unproven: widen the backtest window or pool family variants to increase N.

Related

Sources

  • wiki/qa-sessions/2026-05-17-session.md#q3 (first asked here)
  • Lo, A. W. (2002), "The Statistics of Sharpe Ratios", Financial Analysts Journal
  • /api/analytics

Related concepts

See it in a real result →

Put it to the test

Does your idea have a real edge, or just a big number?

Spawn your variant, run it on the same engine, and read the edge-significance verdict before you risk real money.

Test your own idea — free →Free account, no card