Skip to content
Skip to content
← all research
STUDY

"Microstructure batch 1 — OFI / quote-imbalance -> forward returns"

2026-09-21

·

Date: 2026-09-21 | symbols ['AAPL'] | days 2026-08-03..2026-09-15 (22) | 1-second SIP grid | trigger |z|>2.0 | K=28 trials | executable = far-touch entry/exit (spread paid).

#Data

  • Alpaca SIP NBBO quotes + trades, aggregated to 1 s: mid, bid/ask, sizes, quote imbalance, Cont order-flow imbalance (OFI), Lee-Ready signed volume. Signals: per-second OFI z, quote-imbalance z, and cumulative-flow z (rolling-sum OFI and signed volume).
  • Inference is by DAY (day-block bootstrap): 1 s forward returns overlap heavily, so event-level t-stats would be inflated.
  • DSR is nan when <30 daily observations (Bailey-LdP minimum); with this pilot's day count it is not yet computable.

#Results

signalh (s)mid bpsexec bpsspread costday tpICDSReventsdays
ofi1+0.003-0.9190.922-32.141.000-0.017nan24,21922
ofi2+0.011-0.9080.919-29.071.000-0.016nan24,21922
ofi5+0.002-0.9070.910-20.301.000-0.017nan24,21922
ofi10-0.000-0.9050.905-18.771.000-0.016nan24,21922
ofi30+0.001-0.9020.904-9.911.000-0.007nan24,21922
ofi60+0.058-0.8510.909-8.051.000-0.004nan24,21922
ofi300+0.193-0.7180.911-4.011.000-0.001nan24,20822
imb1+0.025-0.8370.862-26.281.000-0.029nan27,00522
imb2+0.031-0.8350.866-25.511.000-0.022nan27,00522
imb5+0.048-0.8250.873-28.981.000-0.013nan27,00522
imb10+0.086-0.7880.875-26.901.000-0.006nan27,00522
imb30+0.067-0.8080.874-18.791.000+0.006nan27,00522
imb60+0.060-0.8170.877-15.771.000-0.004nan27,00422
imb300-0.064-0.9430.880-4.611.000+0.012nan26,98922
ofi_cum1-0.006-0.8650.859-34.181.000+0.003nan40,39722
ofi_cum2-0.011-0.8700.859-28.091.000+0.003nan40,39722
ofi_cum5+0.001-0.8580.859-21.081.000+0.007nan40,39722
ofi_cum10+0.033-0.8280.860-13.311.000+0.004nan40,39722
ofi_cum30+0.174-0.6930.867-4.801.000-0.009nan40,39722
ofi_cum60+0.291-0.5800.872-2.550.998-0.008nan40,39722
ofi_cum300-0.048-0.9570.909-0.870.821-0.012nan40,31722
sv_cum1+0.016-0.8410.857-31.001.000-0.009nan43,11122
sv_cum2+0.033-0.8240.857-25.121.000-0.003nan43,11122
sv_cum5+0.079-0.7800.858-13.641.000+0.008nan43,11122
sv_cum10+0.153-0.7060.859-6.571.000+0.012nan43,11122
sv_cum30+0.352-0.5090.860-1.930.968+0.033nan43,10622
sv_cum60+0.394-0.4710.865-1.090.859+0.037nan43,07622
sv_cum300+0.533-0.3610.894-0.670.752+0.048nan43,00922

#Decision (pre-registered gate: exec bps>0, p<0.05, mid same sign, >=20 days, DSR>0.5)

  • ofi -> RESEARCH: best h=300s: mid +0.193 exec -0.718 bps, p=1.000, 22 days, DSR nan — MID-ONLY: spread eats it
  • imb -> RESEARCH: best h=10s: mid +0.086 exec -0.788 bps, p=1.000, 22 days, DSR nan — MID-ONLY: spread eats it
  • ofi_cum -> RESEARCH: best h=60s: mid +0.291 exec -0.580 bps, p=0.998, 22 days, DSR nan — MID-ONLY: spread eats it
  • sv_cum -> RESEARCH: best h=300s: mid +0.533 exec -0.361 bps, p=0.752, 22 days, DSR nan — MID-ONLY: spread eats it

Runtime: 0.1 min.

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

← all research