The Bid & Ask

Quotations, Dispatches, and the Daily Tape

Thursday, August 13, 2026

Rejected thesis

Volatility Contraction Pattern (Minervini)

The result

Thesis (rejected as a stand-alone breakout): A sequence of three progressively narrower 20-day sub-windows ending in a final contraction ≤ 8 %, on monotonically contracting volume, followed by a close > 60-day high on volume ≥ 1.5× — should select the cleanest pre-breakout setups (distinct from coil_breakout's flat-base and flag_pennant's pole-and-channel).

Code: research/vcp.py Report: research/vcp_report.json (n=1,213)

Horizon event mean edge vs ctrl
5d n/a -0.03 %
10d n/a -0.39 %
20d n/a -0.46 %
40d n/a -1.04 %

No bucket rescued it — deep-drawdown (dd ≤ -15%, n=142) is the worst at -1.4 % / 40d, OOS-2020+ is -2.0 % / 40d.

Why it failed: As a stand-alone breakout-day signal the geometry buys too late — the sequence of contractions ends with a high-volume thrust day, but the day-after dynamics dominate the forward window. See the Stage-2 entry below: gating VCP by a Weinstein Stage-2 trend flips the edge positive at 20d (+1.25 %).

Verdict: Reject the unconditional VCP. Keep it as a candidate event filter to be stacked under a trend gate; do not use raw.

At a glance
Sample1,213
Validatorresearch/vcp.py
VerdictRejected

Every result here is reproducible from the script named above. Reports are in the repository.

Other rejected theses