We Value Your Privacy

    We use cookies to enhance your experience, provide essential functionality, and analyze site usage. You can customize your preferences or accept all cookies. Learn more

    Strategy Library
    The kill log

    A vetting bar only means something if you can see what it rejects.

    Research Log — what was tested and killed

    The library only ships survivors, which makes it easy to forget how many candidates die. This log records completed research sweeps: the pre-registered hypotheses, the protocol, and the full results — including every kill. Two reasons it exists:

    1. Honesty. "Why so few entries?" Because this is what the vetting bar does to ideas.
    2. Discipline. A documented kill must not be quietly re-mined later with new knobs until it looks good. If a dead idea is to be revisited, it needs a genuinely new mechanism or market structure change — stated up front.

    Sweep 2026-08-05 — lower timeframes (crypto 1h/4h)

    Question: is there a strategy on lower timeframes (1h primary; 4h probe; 15m if anything survived 1h) that clears the vetting bar?

    Protocol. Pre-registered hypotheses and neighbors (fixed before any run; neighbors run only for families whose primary showed genuine signal). Engine: the app's own (runBuilderBacktest), long entries at bar close. Costs: 0.1%/side fees + perp funding charged on every held bar. Assets: BTC, ETH, BNB (majors). Two independent windows: W1 Aug 2018 → Aug 2022, W2 Aug 2022 → Aug 2026 (funding history begins Sep 2019, so funding-gated setups effectively start there in W1). Gates per asset: net positive in BOTH windows, survives strip-best-trade in both, max DD ≤ 20%, then cross-asset (≥ 2 majors).

    Hypotheses and verdicts

    # Hypothesis (pre-registered spec) TF Verdict
    H1 Donchian breakout long: close crosses above highest(prior 55), ATR-trail 2×ATR(14). Neighbors: period 20/100, trail 3× 1h, 4h Killed — see below; nearest miss of the sweep
    H2 Squeeze-breakout long: Donchian-48 width ≤ 3% AND close crosses above highest(48), ATR-trail 2× 1h, 4h Killed — window-unstable
    H3 RSI(2) < 10 above SMA(200), exit close > SMA(5) (entry #2 verbatim on crypto 1h) 1h Killed — decisively
    H1s Short mirror: close crosses below lowest(55) 1h Killed — decisively
    H4 Entry #1 funding-squeeze verbatim at 1h (funding < 0 AND RSI(14) crosses above 30, ATR-trail 2×) 1h Killed as a library entry — BTC-only and marginal

    H1 — Donchian breakout (the nearest miss)

    On 1h: destroyed everywhere (PF 0.74–0.92, −31% to −102% per window, 300–500 trades). Fees and chop churn dominate. The 20-period neighbor is even worse; 100 doesn't save it.

    On 4h, the family shows a real momentum edge — with the pre-registered 3×ATR trail (dc55x3) all six asset × window cells are net positive and all six survive strip-best-trade:

    Asset W1 W2
    BTC +87.4% · PF 1.52 · DD 31.4% +37.7% · PF 1.35 · DD 32.7%
    ETH +124.9% · PF 1.50 · DD 75.9% +36.2% · PF 1.23 · DD 27.2% (strip-best +0.4%)
    BNB +173.6% · PF 1.88 · DD 45.3% +59.3% · PF 1.53 · DD 26.1%

    Why it's not an entry: drawdown. 26–76% max DD versus the bar's ≤ 20%. This is structural for an always-in breakout system on crypto — ~35% winners with long losing streaks through chop. The edge is real; the raw form is not compatible with a sane risk plan, and dressing it up (extra filters until the DD looks nice) is exactly the curve-fit the bar forbids. If it ever ships it will be as an explicitly high-drawdown, sleeve-sized, paper-trade-first entry — a decision to make deliberately, not by quietly relaxing the bar.

    H2 — squeeze-breakout: the two-window gate doing its job

    BTC W1 looked spectacular (58 trades, PF 3.73, +51.8%, DD 6.3%, survives strip-best) — and W2 collapsed (168 trades, PF 0.53, −37.3%). ETH roughly mirror-image, BNB small both ways. Same spec, adjacent windows, opposite result: this is what an unstable regime artifact looks like, and publishing the W1 row alone would have been a lie of omission. Neighbors were not run (family failed its primary — pre-registration rule). On 4h the setup never occurs (an 8-day ≤ 3% range doesn't happen on crypto).

    H3 — mean reversion does not transplant to crypto 1h

    Entry #2's exact spec, which is genuinely robust on daily index ETFs, loses catastrophically on crypto 1h: PF 0.51–1.19, −40% to −140% per window, ~750 trades each. A diversified index mean-reverts on a daily panic; a single crypto asset on a 1h dip is just as likely trending to zero for the day. No-stop dip-buying is knife-catching here.

    H1s — shorts still have no edge

    PF 0.56–0.88, −46% to −166% everywhere. Consistent with entry #1's finding: crypto's drift and squeeze dynamics make fading weakness a losing short. Long-only stands.

    H4 — funding-squeeze at 1h does not generalize

    Entry #1's write-up reports a flattering 1h row (BTC recent-24mo: PF 1.67, survives strip-best). Across the full history and assets: BTC 12.6%/6.5% per window but PF ~1.2, a 20.5% DD breach, and W2 strip-best of +0.2%; ETH negative both windows; BNB +74%/−12.5%. BTC-only and marginal ≠ library-grade. The 4h original remains the tradable form; the entry #1 doc now carries this cross-window note on its 1h row.

    Structural conclusion

    At realistic retail costs (0.1%/side + funding), no 1h crypto strategy expressible in the current strategy DSL cleared the bar — momentum churns, mean reversion catches knives, squeezes don't repeat across regimes, shorts lose. The per-trade edge needed to overcome ~0.2% round-trip plus noise simply isn't there at this frequency for these mechanism families. 15m was not run: it strictly worsens the cost-to-edge ratio that already killed 1h. Lower-timeframe research that wants a different answer needs a different lever: maker/low-fee execution assumptions (a different product than this library models), intraday session/time-of-day structure (not currently compilable), or order-flow data beyond OHLCV + funding.


    Sweep 2026-08-06 — session structure (crypto 15m/1h, new session atoms)

    The previous sweep's "different lever": session/time-of-day atoms were added to the strategy DSL (hour_utc, day_of_week, session open/high/low/VWAP, opening ranges — fixed UTC windows), unlocking the classic intraday literature. Same protocol, assets, windows, costs, and gates as the 2026-08-05 sweep; 15m primary, 1h probe.

    Hypotheses and verdicts

    # Hypothesis (pre-registered spec) Verdict
    S1 US-open ORB long: first hour of the US session {13.5–20 UTC}, close crosses above the range high (no entries after 18:00), 2×ATR trail + session-end exit Killed at costs — see the gross diagnostic below
    S1s Short mirror (one probe) Killed — −135% to −254% per window
    S2 Session-VWAP reversion long: close < US-session VWAP × 0.99, exit on VWAP reclaim or session end Killed — negative in all 12 cells
    S3 London breakout of the Asia range {00–07 UTC}, entries 07–13:30, 2×ATR trail + session-end exit Killed — W1/W2 regime flip, even gross

    All 42 net-of-cost cells were negative (PF 0.38–0.98). No hypothesis reached the neighbor or stress phases.

    The gross diagnostic — quantifying WHY (fees off, funding still on; not tradable)

    Setup (gross) W1 W2 Reading
    ORB BTC 15m +28.8% · PF 1.09 · sb+ +36.3% · PF 1.17 · sb+ Real, window-stable gross tendency
    ORB ETH 15m +31.5% · PF 1.08 · sb+ +43.0% · PF 1.16 · sb+ Same
    VWAP-reversion (best cells) mixed + mostly − Unstable even gross
    London breakout big + in W1 negative everywhere in W2 Regime artifact even gross

    The US-open ORB on BTC/ETH 15m is the interesting kill: a genuine session-structure edge exists — positive in both independent windows, survives strip-best, 870 trades per window. But it averages **+0.04% per trade gross**, against 0.2% round-trip retail taker costs: the edge is real and roughly 5× smaller than the cost line. Break-even is ~0.02%/side — maker-rebate/HFT territory, not what this library honestly models. That is the low-timeframe conclusion in one sentence: the structure is there, and retail execution costs are bigger than it is.

    Session atoms remain in the DSL — they are useful as filters and exits on higher-timeframe strategies (session-end exits, day-of-week gates) even though no standalone intraday entry cleared the bar.


    Sweep 2026-08-06 (#3) — new instruments & mechanisms, daily bars

    Pre-registered: (T1) entry #2's RSI(2) dip-buy verbatim, zero knobs on sector SPDRs (XLK/XLF/XLE/XLV/XLI) + international (EFA/EEM); (T2) the 2026-08-01 pre-registered leftover, a crypto daily trend-pullback (close > SMA200 AND RSI(14) < 40, 3×ATR trail, BTC/ETH/BNB); (T3) SMA-200 trend timing (Faber-style cross, SPY/QQQ/EFA). Same gates; new evidence attached from the holistic engine: DD-from-peak, exposure, Monte-Carlo p95 shuffled drawdown, 0.1%/side fee stress, and next-open fill checks.

    Hypothesis Verdict
    T1 sectors/international 5 of 7 PASS → shipped as entry #2's extension section (XLK/EEM first-rank; XLF/XLE/EFA baseline-costs-only; XLV failed W2, XLI breached the DD bar by 0.1)
    T2 crypto trend-pullback Killed — window-flipping everywhere (BTC/ETH: W1 negative, W2 positive; BNB the mirror). The leftover is closed; no neighbors run
    T3 SMA-200 timing SPY/QQQ PASS → shipped as entry #3. EFA failed (−4.3% W1). The 2000–2010 stress decade fails strip-best — reported in the entry as the known whipsaw cost

    Also measured: the dip-buy family is genuinely flattered by close fills (SPY W2 +36.4% → +19.4% at next-open — still profitable, now quantified in entry #2); the trend-timing system is fill-indifferent (next-open slightly better). Costs kill nothing at ~3 trades/yr; they thin the dip-buy's secondary instruments exactly as they did IWM.


    Sweep 2026-08-06 (#4) — low timeframes under corrected market structure

    The sweep-1/2 kill rule allows a revisit only with a stated market-structure change. Two were stated up front: (a) cost correction — prior sweeps priced crypto at 0.1%/side, the spot-taker default, but these strategies trade USDT-M perpetuals whose standard schedule is 0.05% taker / 0.02% maker; (b) new engine capability — resting limit-order entries with strict-pierce fills at the maker rate (mean-reversion entries are naturally passive). Motivating arithmetic, stated before running: sweep-1's 1h RSI(2) MR lost ~55%/window net while paying 150% of costs — it was gross-POSITIVE (+95%); the execution model, not the signal, killed it.

    # Hypothesis Verdict
    P1 Entry #1's funding-squeeze at 1h, real futures taker fees (spec verbatim) BTC passes every per-asset gate (W1 +18.2% PF 1.39 DD 17.0 sb+; W2 +13.1% PF 1.36 DD 11.6 sb+; 122 trades). ETH/BNB still fail → BTC-only → ships as entry #1's rehabilitated 1h variant, not a standalone entry
    P2 Passive limit MR, 1h (limit at close −0.5%, maker 0.02 in / taker 0.05 out) Killed — but the thesis was right in W1: BNB +179.5% PF 1.69, ETH +112.1%, BTC +59.0%, all strip-best-surviving — passive fills DO capture the gross edge. Then W2 flips BTC/ETH negative and BNB breaches the DD bar in W1. Regime-fragile, not cost-dead. No neighbors run (no full passer)
    P3 Sweep-1's Donchian-4h 3×ATR + a daily SMA-200 trend filter (the single pre-registered revisit variant) Killed — the filter worked as theorized (drawdowns roughly halved; BTC W2 now 18.4, under the bar) but W1 drawdowns still breach (30–64). All 6 cells positive and strip-best-surviving, again. The revisit clause for this family is now SPENT

    Structural conclusion, updated

    The corrected market structure moves the line but doesn't erase it. With real futures fees and honest passive fills, the 1h layer contains exactly one durable edge — BTC funding-squeeze — and one regime-fragile one (passive MR: pays handsomely in the high-volatility 2018–2022 era, flat-to-negative in the post-2022 regime). The earlier "costs are bigger than the structure" conclusion softens to: at real perp costs the structure is reachable, but 1h edges that don't read market internals (funding) appear regime-bound — they need the volatility era they were born in. Anything further down (15m) remains cost-dead even at maker rates (sweep #2's ORB arithmetic).


    Sweep 2026-08-06 (#5) — metals, Double-7s, and a blocked intraday candidate

    Pre-registered: (Q1) entry #3's SMA-200 timing spec verbatim on metals (GLD/SLV, IAU as parity probe); (Q2) Connors' Double-7s channel dip-buy, frozen 2009 params (stated deviation: the DSL's rolling extremes use lows/highs where the book uses closing extremes), on SPY/QQQ/XLK/EEM; (Q3) SPY/QQQ 15m session-VWAP reversion — registered while blocked on data, run later the same day once Alpaca keys landed, spec pinned before the run (0.3% stretch below the day-anchored session VWAP, RTH SIP bars, 0.02%/side, windows 2016–2021 / 2021–2026).

    # Hypothesis Verdict
    Q1 metals trend timing Killed — GLD/IAU window-flip (2011–2015 gold bear: −18% W1, PF 0.47; then +131–135% W2). SLV positive both windows but fails strip-best in W1 (−36.2) at a 41% drawdown. Trend timing on metals is regime-hostage; the equity result does not transfer
    Q2 Double-7s QQQ + XLK PASS the full bar — including the 2000–2010 stress decade on all three US instruments (QQQ +75.7% PF 2.77 sb+). SPY is a near-miss (every check passes except W2 sum-point DD 22.6 vs ≤ 20 — covid held with no stop; account-basis DD 19.1). EEM fails on DD. Fee-stress at 0.1%/side: robust (PF 1.6–2.4). → shipped as entry #4 with a prominent correlation disclosure: same mean-reversion family as entry #2, one dip-buy sleeve, not two

    Q3 — intraday index-ETF VWAP reversion: killed, and it generalizes the low-TF finding

    Run on real regular-hours SIP bars (extended hours filtered, DST-aware), 2 bp/side — about the friendliest honest cost model retail can claim. All four cells fail: SPY nets to ~zero (PF 0.98 / 1.00, −3.1% / +0.3%, fails strip-best in both windows), QQQ is outright negative (PF 0.94 / 0.97) with 24–42-point drawdowns and Monte-Carlo p95 tails of 34–55. With ~500–1,000 trades per window paying ~0.04% round trips, the implied gross edge is ~+0.02–0.04% per trade — once again the size of the cost line, this time on the most liquid instruments in the world at near-zero fees. No neighbors were run (no passer).

    That completes the cross-asset picture the crypto sweeps started: the sub-daily mean-reversion structure exists faintly everywhere and clears trading costs nowhere — not on crypto perps at maker rates, not on index ETFs at 2 bp. The library's intraday answer stands on evidence from both asset classes now: the only durable sub-daily edge found in five sweeps reads market internals (funding), everything else lives on daily bars and above.


    Sweep 2026-08-08 (#6) — the last untested mechanism family, and an elevation

    Pre-registered: (V1) capitulation-volume reversal on crypto 1h — volume internals, the only DSL data channel never yet tested at low timeframes. Spec: volume > 3× its 20-bar average AND close below the lower Bollinger(20,2) → fade at the close; exit on a mid-band reclaim or a 2-day backstop; futures fees + funding; BTC/ETH/BNB, the standard windows and gates. Prior stated up front as moderate (Wyckoff selling-climax literature is an equities result; crypto evidence anecdotal).

    V1: killed decisively. PF 0.62–0.75 with −50% to −129% per window on BTC and ETH (BNB's lone flat cell fails strip-best). On crypto 1h, an extreme-volume flush bar is continuation, not exhaustion — the knife-catching result again, now confirmed on the volume channel too. No neighbors were run.

    Elevation, not a new find: with every price-shape, session, execution-model and volume hypothesis now tested and dead below daily bars, the sole sub-daily survivor of six sweeps — the BTC funding-squeeze at 1h on real futures fees (validated in sweep #4) — has been promoted from a footnote in entry #1 to standalone entry #5 under the README's narrow-clearer rule, with its BTC-only and fee-tier conditions stated as first-class guardrails. The library's answer to "a profitable low-timeframe crypto strategy" is that one exists, it reads market internals rather than price shapes, and everything else we could express was tested and is on this page.


    Sweep 2026-08-08 (#7) — the last rung: 15m

    One pre-registered run, no neighbors possible (the spec is frozen): the funding-squeeze — the sole sub-daily survivor of six sweeps — tested at 15m under the same futures-fee correction that validated it at 1h. Entry #1's doc had killed 15m only at spot fees on a single window; this closes it properly: full history, BTC/ETH/BNB, both windows.

    Dead. BTC — the one asset where the edge lives at 1h — is negative in both windows (PF 0.72 / 0.86, −22.9% / −10.3%); ETH negative in both; BNB's lone positive window is followed by a flat one that fails strip-best. Nothing passes anything.

    That completes the cleanest cost-vs-structure demonstration in this log: one frozen spec, three timeframes — strong and cross-asset at 4h (entry #1), BTC-only at 1h on futures fees (entry #5), gone at 15m. The per-trade edge shrinks with the bar; the per-trade cost doesn't. The sub-daily floor for this library is 1h, measured — not assumed. Below it, every mechanism family expressible on OHLCV + funding is now tested and dead; going lower is a data-acquisition problem (order flow, historical open interest, liquidation feeds — none freely available), not a backtesting problem.


    Sweep 2026-08-08 (#8) — the angle change: collect the transfers, not the candles

    After sweep #7 measured the 1h floor, the pre-registered angle change: stop predicting sub-daily candles (dead, sweeps #1–#7) and harvest the mechanism that makes them hostile — funding-rate cash-and-carry (long spot + short perp, market-neutral, collect the 8h payments). The single-leg engine cannot express two legs, so this ran on a dedicated simulator with real spot klines, real perp klines, and real funding history; rules pinned before the run (enter mean-of-3 > 0.01%/8h, exit < 0.003%; full costs both legs; returns on total capital; basis P&L from real prices).

    PASS — BTC + ETH clear every gate in both windows (worst episode across all runs: −0.2% of capital). BNB fails W2 strip-best at the primary gate but passes at the stricter pre-registered neighbor. The neighbor grid is monotone and mechanically expected: a looser entry gate fails W2 everywhere (weak funding churns the fee hurdle), a stricter one passes 6/6 — selectivity IS the edge. Shipped as entry #6 with the honest characterization stated first: while-deployed APR ~6–14%, but idle 70–90% of the time and below cash rates overall in the post-2022 quiet regime — an opportunistic harvester for hot-funding episodes, not a yield product. Manual two-leg execution (the DSL is single-leg); validated by simulator, so the entry ships without an interactive chart.