Skip to content
Skip to content
← all research
VALIDATED

"Phase 12 — Trade-Tape Order-Flow Grid, Stacking, and BTC Cross-Sections"

2026-08-17

·

Status: no cell clears the gate (as of tape grid close, 2026-08-17)

#1. What was tested

New information source: the trade tape. Alpaca crypto trades carry taker_side aggressor labels but were unused in all prior phases. data/alpaca/tape.py derives 8 order-flow features per bar:

  • tcount_z20 — trade-count z-score vs trailing 20-bar mean
  • bvr, bvr_ma20 — buy-volume ratio (buy trades / all trades) and its 20-bar mean
  • rollover_bps, rollover_ma20 — volume rolled into next bar as bps, and its mean
  • avg_size, size_z20 — mean trade size and its z-score
  • trades_per_sec — trade density

Features are persisted as v2 datasets (h{h}_tape.parquet) with a versioned schema, leaving v1 cells byte-identical. Models are the same walk-forward GBR machinery as phases 1–11; backtests unchanged at q = 0.80, 30/50 bps fee gate.

Grid: ETH/USD only (SOL tape data is effectively absent pre-2024, 2,072 trades).

Timeframehcells
1Min, 5Min (full history, bar+tape)5, 124
1Hour, 4Hour, 1Day (full history, bar+tape)1, 6, 249

Plus the stacking combiner probe and the BTC/USD cross-section probes.

#2. Results — tape grid, OOS (walk-forward, q = 0.80)

#1Min / 5Min (full history, bar+tape)

cellICSpearmantop-quintile gross bps
1Min h5−0.0016−0.0032−0.05
1Min h12+0.0007−0.0091−0.11
5Min h5+0.0250−0.0036−0.06
5Min h12+0.0119−0.0161−0.31

Tape features add nothing at fast timeframes; all four cells gross ≈ 0.

#Day-horizon (full history, bar+tape)

cellngross bps/tradenet cum bpsSharpehit
1Hour h247,876+8.1−172,150−3.840.470
1Hour h67,880+7.9−174,288−7.930.412
1Hour h17,884+2.9−213,739−22.900.302
4Hour h241,966+31.8+3,480+0.180.517
4Hour h61,966+5.8−47,534−4.370.462
4Hour h11,971+8.7−41,968−9.190.396
1Day h24325−34.0−20,742−2.250.406
1Day h6328−52.5−27,009−6.720.491
1Day h1327+1.1−8,655−4.950.465

ETH 4Hour h24 is the first cell ever net-positive at the default q = 0.80 (gross +31.8 bps/trade against a 30 bps maker gate). Sharpe +0.18 and max DD −99.99% flagged it as borderline immediately.

#3. Held-out validation killed the champion

Cal/held-out split at the midpoint, quantile sweep on the 4Hour h24 tape cell:

qcal net bps (Sharpe)val net bps (Sharpe)val gross bps
0.80+45,009 (+4.48)−111,660 (−13.45)−82,612
0.85+19,107 (+2.59)−84,826 (−14.06)−63,028
0.90−13,384 (−2.61)−54,349 (−13.25)−39,760
0.95−35,751 (−12.81)−33,673 (−17.83)−26,383

Same signature as every phase-10/11 champion: apparent edge confined to the cal half, gross-negative on the held-out half. The +31.8 bps/trade gross was a 2021–2023-halftime artifact of the 4-day holding period, not order-flow alpha.

#4. Stacking probe (dead)

Daily combiner over r_1d, rv20, pair z20/60/90, and daily-downsampled 1Hour h24 + 4Hour h6 model preds → GBR, h = 1: IC −0.011, top-quintile −9.9 bps, gross-negative at every quantile. The single val-positive cell (q0.9 +1,209 bps) had a negative cal half. No combination of existing predictions contains a tradeable edge.

#5. Where this leaves the program

phasehypothesisoutcome
3–5bar features, walk-forward GBRfail
6quote-era + aggregatesfail
7regime-conditional (vol bands)fail
9extended grids + quantile scanfail (val kills all)
10long-horizon cellsfail
11vol-band entries, ETH/SOL pair reversionfail
12atrade-tape order flowfail
12bstackingfail
12cBTC cross-section pairsfail (closed 2026-08-17)

#6. Open items

  • CLOSED — pairs hypothesis dead: pairs_btc_probe.py run on the complete BTC 1Day store (2,054 shared days, ETH-BTC; 1,636, SOL-BTC; w 20/60/90 × z 1.0–2.5). ETH-BTC: all 24 cells fail (cal or val negative); best cell w20 z2.0 (+2,375 / +222 bps) is neither sizeable nor consistent. SOL-BTC: the only both-positive cell (w20 z2.0, +2,919/+1,034) sits on the SOL 1Min gap (2023-07→2024-08) and the val-half blow-up (w90 z1.0 +32,375) is a phantom splice artifact — non-reportable per the phase-13 audit. Every pairs / cross-sectional hypothesis in the repo has now failed.
  • Deployment decision superseded by phase 13: the ETH 1Day trend overlay (after the 2026-08-17 audit: +258.9% @1x, +357.5% @1.25x, DD −17.4%/−21.7%) is the deployable strategy; no flat-book outcome.

#Artifacts

  • data/processed/alpaca/pipeline/models_tape_run67.json (all 13 cells, OOS stats)
  • data/processed/alpaca/pipeline/backtests_tape_run67.json (q=0.80 full-OOS backtests)
  • validation_t4h24.json (cal/val sweep of the champion)
  • stacking_probe.json (combiner probe)
  • data/processed/alpaca/datasets/ETH_USD/{1Min,5Min,1Hour,4Hour,1Day}/h*_tape.parquet
  • logs/pipeline_run6.log, logs/pipeline_run7.log

All trading described is paper (simulated). Not investment advice.

← all research