A real edge is a positive expectancy that repeats. A lucky streak is a good result that came from variance and won't probably be repeated in the future. The equity curve cannot tell them apart, so you test instead: a large enough sample, a significance test against random, a check on out of sample data, and a Monte Carlo resample. A real edge passes all four. A lucky streak passes one and fails the rest.
A real edge is a positive expectancy that repeats across many trades, while luck is variance wearing the same costume inside a small sample. Both look identical on a short equity curve, because a rising line can come from skill or from a good draw of the cards.
Edge is the advantage your process earns on each trade, on average, across a large number of them. Luck is the spread around that average in any single sample. A strategy with a true edge still has losing months, and a strategy with no edge still has winning ones. To tell them apart you stop reading the curve and start asking how likely this result would be if the strategy had no edge at all.
The chart shows what happened. It cannot show what else could have happened.
Sample size is the first filter. A handful of trades cannot separate edge from luck, because a few good outcomes can carry a small sample on their own. The more trades you have, the harder it is for luck alone to explain a steady result. Quantprove reaches full statistical weight at 500 trades, where its confidence multiplier stops discounting the score.
Below that, treat the result as provisional. A strong looking strategy with 30 trades has not cleared the bar yet, not because the idea is bad, but because there is not enough evidence to rule out luck. Collect more trades from the same rules and the same market, then look again. How many trades you need to validate a strategy covers the math.
Twenty trades of genius is still twenty trades.
Positive expectancy is necessary, not sufficient. Your average trade can be positive in the backtest and still be a product of luck, especially on a small sample or after testing many ideas and keeping the best one. Expectancy tells you the sample made money. It does not tell you the odds of that happening if the strategy had no real advantage.
The question that does is one of significance: how often a result this good would appear by chance. A positive expectancy that clears a significance test is evidence. A positive expectancy that does not is a candidate, not a verdict. A single profitable backtest, on its own, never settles the edge question.
A significance test asks a direct question: if your strategy had no edge, how often would random trading produce a result at least this good. A permutation test answers it by shuffling your trade outcomes or entry timing thousands of times to build the distribution of pure luck, then placing your real result on that distribution. If random shuffles rarely beat you, the result is hard to call luck.
Quantprove runs this as the permutation test inside Backtest analysis. It reports where your strategy lands against thousands of randomized versions of itself. A result in the far tail is unlikely to be chance. A result buried in the middle of the random pile is the signal that your edge might be a streak.
If a coin flipper can match your result, the market owes you nothing.
An edge that is real on the data you built it on should also show up on data you did not. In sample results flatter you, because you stopped adjusting once they looked good. Holding back a slice of trades the strategy never saw, then checking whether the edge still appears, is one of the cleanest luck filters there is.
Quantprove handles this as Validation, which scores your strategy on trades outside the backtest and reports a Stability Score. An edge that holds its score out of sample is carrying something real. An edge that collapses the moment it meets fresh data was fitted to the past, and the backtest result was the luck of that fit.
Monte Carlo resampling shows the range of outcomes your strategy could have produced, not just the one path it happened to take. It reorders and resamples your trades thousands of times to draw a cloud of equity curves. A tight cloud that stays positive across almost every path points to a result driven by edge. A wide cloud where many paths end underwater points to a result that leaned on a lucky sequence.
Reading the cloud is the difference between one optimistic story and the full set of stories your trades support. Quantprove draws this as the Monte Carlo simulation in Backtest analysis, so you see how much of your result holds across luck and how much depended on the order things happened to occur.
No single test is enough on its own. Run them together and a lucky streak fails somewhere, while a real edge holds across all of them.
| Check | What it rules out | A real edge looks like |
|---|---|---|
| Sample size | Small sample flukes | Result holds past a few hundred trades |
| Significance / permutation test | A lucky version of random | Lands in the far tail against shuffled trades |
| Out of sample / Validation | Curve fitting to the past | Edge still scores on unseen trades |
| Monte Carlo resample | A lucky sequence | Most resampled paths stay positive |
| Expectancy after costs | Inflated averages | Positive EV once real costs are in |
A result that clears every row is hard to explain by luck. A result that clears one or two is a candidate to keep testing, not a verdict to trade.
One caveat that costs something to admit: these tests filter luck out, they cannot buy certainty. A real edge can fail a thin sample significance test for months before the data catches up, and the tests exist to protect your capital, not your feelings.
No single number proves an edge, and the equity curve is the weakest evidence of all. A real edge survives a large sample, lands in the tail of a significance test, holds up out of sample, and stays positive across most Monte Carlo paths. Quantprove runs these checks together and reports them as your Edge Score, permutation test, and Stability Score, so you can see how much of your result is signal. Test your strategy and read where it lands.