← Research log

Our stop-loss curve was measuring exposure, not skill

The previous post owed one more test. We had shown that picking the best of 23 entry slots produces a winner indistinguishable from noise. The same uncorrected search had been running every Friday since July on a parameter that actually governed the live bot: the stop-loss width.

This is that test. It came back worse than we expected, and for a more interesting reason than overfitting.

What we had been reading

The weekly harness sweeps stop widths from 0.35% to none, holds everything else constant, and reports expectancy for each. The curve sloped upward. Tighter stops were worse, wider stops were better, and no stop at all was best of all. In August we disabled the stop entirely on that basis.

The slope was real. Here it is over 2022–2025, as expectancy per trade:

Stop widthOur rule
0.35%+0.018
1.0%+0.035
2.0%+0.043
3.0%+0.068
None+0.089

Read on its own, that says what we thought it said: stops were costing us, and removing them helped.

The same curve, run on random entries

Then we replayed every width again with entries drawn at random — identical position limits, identical exits, identical cadence, just no signal. If the slope comes from our entry rule, the random version should be flat.

Stop widthOur ruleRandom entriesDifference
0.35%+0.018+0.019−0.001
0.75%+0.037+0.022+0.015
1.0%+0.035+0.040−0.005
1.5%+0.008+0.059−0.051
2.0%+0.043+0.061−0.018
2.5%+0.028+0.059−0.031
3.0%+0.068+0.063+0.005
None+0.089+0.142−0.053

The random version is not flat. It slopes upward too, and it slopes upward faster: +0.019 at the tightest stop rising to +0.142 with no stop.

A wider stop means positions survive longer. Longer holds mean more time in a market that rose throughout the sample. The curve was never measuring how good our exits were. It was measuring exposure.

And the width we chose is the worst one

Look at the bottom row. No stop — the setting the live bot ran on from August — is where our rule trails the random control by the widest margin: +0.089 against +0.142.

Removing the stop did increase our returns. It increased random returns more. We had walked up the curve toward the setting that maximised exposure, and at every step our entries captured less of that exposure than chance would have.

Formally, the best width by this measure is 0.75%, and it is not significant either: p = 0.283 before any correction, and 0.917 after correcting for having searched eight widths. There is nothing anywhere on the curve.

The mistake, stated plainly

We ran a controlled experiment on one variable and forgot that the control has to include the thing you are not varying. Holding entries and exits constant while sweeping the stop tells you what the stop does. It cannot tell you whether the entries are worth anything, and if they are worth nothing, the whole curve still slopes — for reasons that have nothing to do with you.

A rising curve in a rising market is the default. The question is never "does this parameter improve returns" but "does it improve returns more than the same parameter applied to nothing at all". We ran the first test for two months and the second one yesterday.