An open research record

The ideas we
walked away from.

A compelling story is a hypothesis. Here’s what happened when we put it to the test.

60published tests. The evidence stays, even when the idea doesn’t.

Negative results. Edges too small to use. Signals that disappeared on new data. We keep the reasoning, the sample, and the test behind each decision—so you can examine the conclusion for yourself.

Start with the evidence.

Browse every study

Research note 01 / n = 17,774

Volatility squeeze

Tighter compression predicts less forward volatility, not more. The relationship is monotonic and the wrong sign — the super-tight bucket (realised vol < 10%) moves only ~2.4 % over 20...

Read the study

Research note 02 / n = 130

Pre-FOMC drift

The Lucca / Moench finding is intraday — the drift is concentrated in the morning of the announcement day. With only daily close data we have three measurement windows, none of which...

Read the study

The complete record

60 studies · open to inspect
#Hypothesis & findingSampleRead study
01Volatility squeeze

Tighter compression predicts less forward volatility, not more. The relationship is monotonic and the wrong sign — the super-tight bucket (realised vol <...

17,774
02Pre-FOMC drift

The Lucca / Moench finding is intraday — the drift is concentrated in the morning of the announcement day. With only daily close data we have three...

130
03Uptrend pullback

Three filter generations, all weak:

—
04Momentum continuation

Real but modest signal — IS options edge was +18.6 pp at 90 DTE on the credit put spread, dropping to +3.4 pp at 30 DTE. Most of the absolute return is...

—
05Industry-relative momentum (at 4-week lookback)

The 4-week lookback is too short. Within-sector ranking at this horizon picks up Jegadeesh 1990 short-term reversal, not momentum. The bottom quintile of...

1.16M
06Earnings-reaction reversal (anti-PEAD)

The bounce doesn't materialize. Edge is essentially zero at every horizon we measure:

489
07Beat-persistence pre-earnings drift

Signal exists but the magnitude is too small to support a defined-risk options structure or a meaningful stock-only position.

7,660
08Sector ETF mean-reversion

Hit rate is high (60-66 %) but edge over control is essentially zero - the reversion is generic market drift, not signal-specific alpha.

203
0952-week-high breakout

Edge is consistently negative across every horizon tested in our modern-era (2010+) sample.

18,183
10Volume accumulation (above-200DMA + 20d-vs-90d volume spike)

Real signal but the magnitude is too small to support an options structure after frictions.

2,074
11Cross-sector momentum

Edge is in the right direction (top beats bottom) but small and only marginally significant.

498
12Analyst-upgrade cluster

Edge is negative in the short term and ~zero longer term. The signal is lagging - by the time 3 firms have upgraded, the move is already in.

681
13PEAD × sector tailwind (combination)

PEAD edge is invariant to sector context. 20-day forward returns:

597
14Insider cluster buying

The insidertransaction table in db/finance.db has only 44 purchase rows across 19 symbols. The Form-4 ingestion (scripts/buildinsider.py) hasn't been run...

0
15Classical candlestick patterns (single- and three-bar)

Unconditional edges are tiny and often the wrong sign. All thresholds were ATR-normalised so the test scales across vol regimes, and a trend filter (10-day...

278,076
16Cup and handle (O'Neil 1988)

Edges are flat-to-negative across every horizon.

13,124
17Double bottom / double top

Edges are basically zero in both directions.

31,116
18NR7 / inside-day breakout (Toby Crabel 1990)

On the full US universe (197k NR7 long-breakouts, 178k short-breakouts) the long side is ~0 edge across every horizon. The short side shows a tiny +0.4 %...

655,737
19Cross-pattern survey: classical chart patterns—
20Wedge (rising / falling)

Edges are ~ 0 across the full universe on both patterns. Even with a 1 % daily-move pre-filter (selects only meaningful breakout days) and ATR-normalised...

—
21Gap-pattern survey (breakaway / runaway / exhaustion / island)

At the unconditional level the gap by itself isn't big enough to time the reversal — only ~1-3 % edge. After options friction these compress to ~0.

—
22Classical oversold oscillators (RSI / Williams %R / MFI / Stochastic)

Even the strictest combination — all three of RSI / Williams / MFI in extreme oversold simultaneously, on a name already ≥ 30 % off its 252d high, OOS 2020+...

422,148
23Failed-breakdown / bear-trap24,204
24Bullish RSI / MACD divergence (single-name timing trigger)41,288
25Consensus capitulation (stacking triggers in the family)1,401
26Relative drawdown vs SPY — critical macro overlay9,414
27VIX regime overlay — sharper macro filter488
28Bullish OBV (volume-flow) divergence9,013
29Bullish divergence × consensus — highest-conviction stack225
30Volume climax (single-day extreme volume + down day in drawdown)

Edges hover around zero across every variant — including the strict "vol ≥ 5x + dd ≤ -30 % + OOS 2020+" subset (n=1,081) which is slightly negative at 5-20 d.

20,767
31Bearish RSI / MACD divergence — first real SHORT alpha in the repo

nearly every other "bearish" pattern in the repo is also a long signal (contrarian bounce family). Bearish divergence is the only structural signal that...

18k
32Sector-relative drawdown overlay—
33Golden cross (lagging trend confirmation)

Edge is ~0 across every horizon and every variant (fresh, volume-confirmed, 200-DMA-rising).

13,243
34Death cross + volume confirm + deep drawdown → strong long signal—
35Deep-drawdown bounce (capitulation cohort, no MA dependency)31,399
36Bullish-engulfing × drawdown (short-horizon variant)26,146
37Volatility Contraction Pattern (Minervini)

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...

1,213
38Pocket pivot (O'Neil / Morales)134,049
39Rectangle / horizontal-range breakout5,132
40Ascending / descending triangle (isolated)1,335
41Wyckoff spring / liquidity-sweep reclaim

The same-day reclaim intrabar mechanic is real in microstructure, but our data is daily close — by the time we see the reclaim, the bounce has happened and...

24,124
42NR-cluster breakout (consecutive narrow-range days)2,900
43Failed-pattern fade survey18,046
44Survivor × context stacking sweep2,130
45Stage-2 trend gate (Weinstein / Minervini) as conditioning filter137,531
46Meta-finding: chart pattern survey, take 2202
47Burst + volume continuation (Nanexa-style chain)8,080
48Entry-discount sweep across scanner cohorts—
49Burst-chain options-exit grid718
50Burst-chain stock-side exit grid718
51Dormant awakening (sustained quiet + sudden spike)2,309
52Dormancy window sweep (60 / 120 / 180 / 252 days)15
53Turnaround-volume (deep drawdown + sustained volume rise)11,069
54Turnaround layer: portfolio backtest (4 universe / weight cells)

with ntop=10 weekly, the portfolio is highly concentrated. The default turnaround weight fractionally re-ranks names but doesn't break a turnaround...

—
55Per-layer weight calibration sweep—
56Joint weight optimization via coordinate descent—
57Peer-earnings sector sympathy

| horizon | IC | IC t | D10-D1 spread | spread t | |---------|--------|-------|---------------|----------| | 5d | -0.004 | -0.53 | -0.07 % | -0.68 | | 10d |...

—
58Vol-of-vol quiet-equilibrium breakout (original sign)891
59News-sentiment layer (removed from the model)

it was never tested, in either direction.

—
602026-08-15 — every t-stat in this file below horizon 1 was inflated—

How does this shape the model? The methodology explains how the portfolio is constructed.

Follow the process