← Research log

Our stop-loss was manufacturing losses

Before any of the machinery existed, there was a suspicion. Our intraday strategy used a 0.35% stop-loss, it was taking roughly fifteen trades a day, and it was losing: a 33% win rate and negative expectancy. The suspicion was that the stop was not protecting us from losses so much as creating them — selling positions a few minutes before they recovered, turning drawdowns that would have healed into realised losses.

This post is about testing that, finding it was true, and discovering that being right about it changed almost nothing.

Building the instrument first

The temptation was to widen the stop and watch what happened. That would have taken weeks and produced a number we could not interpret, because the market would have moved underneath us in the meantime.

So we built the measurement first. Two pieces, both from published work:

Only the stop varies. Same entries, same exits, same data. Whatever the curve shows is attributable to the stop and nothing else.

What the curve said

On the first run — 195 intraday entries — the 0.35% stop was close to the worst policy available. Expectancy was +0.011% per trade, which is to say nothing at all. The curve improved as the stop widened, peaked around 2.0%, and stayed positive out to no stop whatsoever.

Stop widthExpectancy per trade
0.35% (what we were running)+0.011
1.5%−0.011
2.0%+0.121
No stopmarginally higher, much worse tail

The thesis was correct. The tight stop was a self-inflicted wound. We widened it to 1.5% the same day, then — reading the curve properly rather than splitting the difference — set it to 2.0%, the risk-adjusted optimum.

The part we got wrong

Look at that table again. Every number in it is small, and every one is gross of fees. The best policy on offer was +0.121% per trade in a market that was rising throughout the sample.

We read that as "the thesis is confirmed and the strategy is now better." Both halves were true and the conclusion was still wrong, because removing a self-inflicted wound from a strategy with no edge leaves you with a strategy with no edge. We had proven that a bad stop made things worse. We had not proven the entry was worth trading at all.

That second question has an obvious test — compare the entry rule against entries drawn at random with identical mechanics — and we did not run it until September. When we did, the rule landed on the 50th percentile of forty control runs.

What the stop work was actually worth

It was not wasted. The harness built in July is the thing that eventually killed the strategy in September, and the discipline it enforced — vary one parameter, hold everything else, publish the whole curve rather than the winning row — is the reason we could trust that verdict when it came.

But the sequencing was backwards. We spent July and August optimising the exits of a strategy whose entry we had never validated. The right order is: prove the entry beats random, then tune what it does afterwards. Exit optimisation on an entry with no edge is arithmetic on noise, and it will happily produce a clean-looking optimum every time.