Strategy Graveyard
← All strategies

volatility squeeze / breakout

Low-volatility breakout

Eaten by frictionArchived · long · 2014-2026

Not pre-registered — see caveat · data snapshot 2026-09-19T090800Z

The idea

A stock trading quietly just below its 52-week high, with its daily range compressed and its recent trend pointing up, is coiled. The bet is that the quiet resolves upward and that the breakout keeps going for a couple of weeks. No counterparty was named for it: it is a pattern bet, a squeeze followed by continuation.

How it was tested

It was not discovered by pre-registration. It was a frozen configuration from the lab's early history, re-measured under locked rules with the rest of the canonical set. Signal: ATR(14) below 2% of price, within 3% of the 52-week high, positive 20-day return. US stocks at $10 or more with at least $10M of 20-day dollar volume. Buy at the next open, exit after 10 sessions, with a 2×ATR stop and a 5×ATR target. Neutral sizing: $5,000, 1% risk per trade, 10 slots.

Where it died

Its record is a sequence of re-measurements. On 2026-09-08, with Jensen alpha, it passed Gate 7 at t +2.84 and Gate 8 with a capture ratio of 0.912. The same day a friction pre-screen archived it: the alpha, about 0.14% per trade, would need to be 2.14 times larger just to cover generic slippage. On 2026-09-19 a simulator slot-leak fix moved the Gate 8 ratio to 0.627, still a pass.

The 2026-10-17 gap-fill engine fix took Gate 7 from t +2.75 to +2.01 and the capture ratio from 0.63 to 0.38, so Gate 8 failed. Then, on 2026-10-30, the audit's calendar-clustered standard error, applied to the same trades and the same alpha, took t from +2.008 to +1.447, below 1.65. Today it fails Gates 7, 8 and F: 0.145% per trade over 9,804 trades.

The verdict stays friction, because that is the gate that archived it. A pre-registered follow-up asked whether a 20-session hold could outrun friction (see the 20-session version).

The record

Thesis

A volatility squeeze close to the 52-week high, with positive recent momentum, precedes a breakout continuation.

Specification

signal
ATR(14) < 2% of price; within 3% of the 52-week high; 20-day return > 0
universe
US stocks, price ≥ $10, 20d dollar volume ≥ $10M
entry
next open
exit
10 sessions, 2×ATR stop, 5×ATR target
sizing
neutral default — $5,000, 1% risk per trade, 10 slots
caveat
Not discovered by pre-registration: it was a frozen configuration from the lab's early history, re-measured under locked rules with the rest of the canonical set.

Gates

Gate 7 — Jensen alphafail
After regressing out market exposure, is there alpha left?
t ≥ 1.65
t (calendar SE)+1.45alpha / trade %+0.14beta-0.15trades9,804
Gate 8 — Capture-preserved alphafail
Does the subset of trades a real portfolio can actually take keep the alpha?
t_cap ≥ 0.83 (1.65·√(2472/9804)) and ratio ≥ 0.50
t captured+0.36capture ratio+0.38trades captured2,472
Gate F — Frictionfail
Is the alpha per trade large enough to pay for its own execution?
alpha/trade ≥ 0.30%
alpha / trade %+0.14

Why it died

The alpha is real and small: about 0.14% per trade. Allowing friction to eat at most a third of it leaves 0.047%, and generic slippage alone is 0.10% — so no position size, no broker and no capital level makes it pay. It was archived for that reason on 2026-09-08 while it still passed Gate 8; the gap-fill engine fix later pushed it below Gate 8 as well, and the calendar-based standard error adopted after the October audit takes it below Gate 7 too.

What it taught

"Is there a real signal?" and "does it pay for its own execution?" are independent questions. This is the cleanest example in the lab of yes / no. The slippage assumption was not re-tuned after the failure — measuring it for low-volatility names would need its own pre-registration.

Verdict history

  1. 2026-09-08Re-measured with Jensen alpha: Gate 7 pass (t +2.84), Gate 8 pass (ratio 0.912)
  2. 2026-09-08Friction pre-screen: needs 2.14× its alpha just to cover slippage Eaten by friction
  3. 2026-09-19Simulator slot-leak fix: Gate 8 ratio 0.627, still pass
  4. 2026-10-17Gap-fill engine fix: t +2.75 → +2.01, ratio 0.63 → 0.38, Gate 8 now fails too
  5. 2026-10-30Standard error by calendar (audit): Gate 7 t +2.008 → +1.447, same trades and alpha