LEARN · EN · easyquanttrading.com
Why “33 strategies found” usually means one strategy, 33 times
A discovery run finishes and reports a number: 33 strategies found. It is a satisfying number, and it is almost meaningless. What matters is how many of those 33 behave differently from one another. On one of our own datasets, the answer was none.
By the EasyQuant Research Team·Published 2026-09-26·We publish the tests our own strategies fail. Nothing here is a return promise.
- A count of passing candidates is not a count of distinct ideas
- Redundancy is normal — optimisers converge on the same few shapes
- Measure uniqueness before you measure performance
- Two candidates that trade the same bars are one candidate, however they are named
What we actually measured
We run eight discovery engines continuously and store every candidate that survives the initial filters. On one dataset, 33 candidates passed every performance filter we apply. The numbers looked good on all of them.
Then we ran a uniqueness check: do these candidates take the same positions at the same times? Two were distinct. Thirty-one were the same shape wearing different parameters.
On a second dataset the result was starker. 33 candidates passed, and the count of distinct ones was zero.
Why this happens
Search algorithms are optimisers. Given a fitness function, they converge. Different engines given the same data and a similar objective will often arrive at the same few shapes — a moving-average crossover with different lengths, the same breakout with a different threshold.
This is not a bug in the tool. It is what optimisation does. The bug is in what the tool reports afterwards: a count of candidates rather than a count of distinct behaviours.
It is also why a discovery run can look enormously productive while adding nothing. If 31 of 33 results are the same strategy, you have found one idea and spent the compute on naming it 33 ways.
How to run the check yourself
You need the positions, not the parameters. Two candidates are the same if they hold the same exposure at the same time — entry bar, exit bar, direction, size.
Compute a similarity or correlation between candidate position series over the evaluation window. Pairs above a threshold (we use a high one) collapse into a single representative.
Do this before you rank anything. Ranking first and deduplicating second means your top ten can be the same strategy ten times, and any portfolio you build from it has one bet in it, not ten.
What changes when you do it
Your headline numbers get smaller and more honest. Ours went from 4,008 candidates generated to 457 currently on the shelf — and 241 of the removals were purely duplication.
Your diversity becomes real. If the ten strategies you selected are genuinely ten, the portfolio behaves like a portfolio. If they were one strategy ten times, it behaves like one position with ten times the size.
And your next discovery run becomes more useful, because you stop rewarding the search for rediscovering what you already have.
Current platform facts
Read live from the strategy library when this page was generated. These are the same counts published on our transparency page, and they change as strategies are added and rejected.
| Strategies in the audited library | 3672 |
|---|---|
| Flagged by the audit | 2011 |
| Flag rate | 54.8% |
| Checks still pending | 1651 |
| Passed the DSR overfitting check | 1 |
| Passed the significance check | 504 |
| DSR threshold used | 0.90 |
FAQ
- Doesn't a high candidate count at least indicate the engine works?
- It indicates the engine runs. It does not indicate it found anything new. We report both numbers separately for that reason: candidates generated, and distinct behaviours retained.
- What threshold counts as “the same”?
- There is no universal number. We use a deliberately strict one so that what survives is clearly distinct, and we would rather merge two borderline-different strategies than keep two identical ones. The threshold is disclosed rather than tuned per dataset.
- Is this specific to your engines?
- No. Any optimiser over a parameterised strategy space will produce redundancy. Genetic algorithms, particle swarm, gradient methods and random search all converge. The check is worth running regardless of what produced the candidates.
More guides
- How EasyQuant validates strategies — evidence you can filter
- Honest backtesting, not pretty curves
- Gold strategy research that stays honest
- Overfitting detection: catch it before you deploy
- System Forge: design, then prove
- Walk-forward analysis: the only backtest that fights overfitting
- MT5 export without custody
- Glass box, not black box AI signals
Not investment advice. Historical results do not guarantee future performance. EasyQuant is a research factory — you execute on accounts you control.