The research program behind the tradeable scalps: a hypothesis registry (clusters A–L), an event-study harness over 383 liquid Bybit perps, and an evidence-tiered 32-strategy brief. This is where the fades were proven and the popular rules were falsified.
The program's core conclusion: the reversion family is the consistent winner on crypto perps — VWAP-deviation fade (+0.649 ATR), IVA break-in fade (+0.411), CVD-divergence fade (+0.117), VA-rejection fade (+0.040) — while the breakout/continuation family is weak-to-moderate and the two most popular practitioner rules fail on this universe: the 80% Edge Rule (26% traverse vs ~80% claimed) and ITSM (first-30m/last-30m correlation −0.017).
J1 sweep-reclaim was validated wide: high-vol up-sweeps mean-revert −0.303 ATR across 383 symbols (−0.402 on the screened subset), cost-viable only at ATR≥1%. The L5 crash-warning model (AUC 0.838–0.852, top-decile lift 4.2–5.0×) works as a risk gate, not an entry.
Delta dislocation (E9) from the orderflow video is decisively inverted on this universe — buying or selling the dislocation both lose (all 6 walk-forward folds strongly negative), and the signal predicts continuation, not reversal.
Clusters A–L covering value-area reversion (A/B), CVD divergence (C), liquidation sweeps (J), funding microstructure (L), ITSM (G), execution anchors (K). Each with pre-registered gates.
One memory-safe harness over 383 liquid perps (≥$1M daily turnover), 60d 5m bars, UTC days. Mean forward returns in ATR(15) units vs a random-entry baseline (−0.03 drift).
32-strategy evidence-tiered menu (T1 peer-reviewed / T2 practitioner / T3 anecdotal), ranking what to pursue: 80% Edge Rule, ITSM, short-term reversal, OFI/CVD, sweep-reclaim.
J1 sweep-reclaim (validated) → E8 VWAP-fade (new strongest) → E4 IVA break-in → E3 IVA confirmed breakout → E5 CVD-divergence fade, with λ/Amihud gating and VPIN/funding as regime filters.
| Rank | Strategy | n | Mean 1h (ATR) | Verdict |
|---|---|---|---|---|
| 1 | E8 / S16 VWAP-deviation fade | 2,673,802 | +0.649 | Strong — verify cost/slippage; the revert-to-mean workhorse |
| 2 | E4 / S4b IVA30 break-in fade | 51,316 | +0.411 | Strong, consistent (44.7%→higher on wide) |
| 3 | E3 / S4a IVA30 confirmed breakout | 8,928 | +0.263 | Positive continuation (needs acceptance + volZ) |
| 4 | E5 / S6 CVD divergence fade | 174,062 | +0.117 | Positive reversion, directionally correct |
| 5 | E2 / S2 VA-rejection fade | 3,739,326 | +0.040 | Weak-positive (huge n, small edge) |
| 6 | E7 / S11 extreme reversal | 158,133 | +0.047 | Fee-thin (1-bar horizon) |
| 7 | E1 / S1 80% Edge | 6,615 | traverse 26%, fwd −0.074 | NULL — 80% rule NOT supported |
corr(first30m, last30m) = −0.017 (n=21,471) — no intraday session momentum at the UTC anchor, confirming the G4 null on wide.
corr(past, fwd) = +0.004 (n=1.2M) — volume-clock adds nothing over time clock at this horizon.
Hour-lag autocorr ≈ 0 (lag1 −0.039 → lag6 −0.002) — no persistent intraday momentum structure; slight 1-hour reversal only.
corr(first60m, rest-of-day) = −0.066 — very weak, no reliable reversal.
Decisively inverted — 6/6 WF folds negative (−0.31 to −0.48 ATR), net PF 0.71. Predicts continuation, not the claimed reversal.
Kyle λ median 1.7e−7 · Amihud 1.8e−6 · VPIN median 0.52 (contested metric; filter-only). Hourly seasonality real but noisy: best 15:00 UTC +0.239 ATR, worst 18:00 −0.258.
| Finding | Result | Read |
|---|---|---|
| J1 sweep-reclaim (wide) | −0.303 ATR @1h (383 syms) | −0.402 screened · −0.256 unscreened — edge is in the signal, not the screen |
| ATR stratification | −0.431% @ ATR≥1% | Net-positive after ~0.3% costs only at ATR≥1%; −0.094% below 0.5% (cost-negative) |
| L5 crash-warning | AUC 0.838–0.852 | Top-decile lift 4.2–5.0×; realized vol weight ~0.8; use as risk gate, not entry |
| Practical J1 rule | ≈ +0.14%/trade | Fade high-vol up-sweeps (volZ≥1 through prior-day high, close back inside) on ATR≥1% symbols |
# strategy engine over the wide store, then site build (see scalping-strategies)
cd /home/jose/workspace/scalping-research
python3 backtest/strategy_engine.py --store scalping-data/store_wide --out-dir scalping-data \
--screened-list scalping-data/screened_list.txt
python3 backtest/build_strategy_analysis.py --store scalping-data/store_wide --out-dir scalping-data
# hypothesis registry & brief
cat hypotheses.md && cat strategy_brief.md