BL-SD-006: Spread-Spike Capture

BIJECTIVE LABS


BIJECTIVE LABS . SEP 7, 2026


BL-SD-006: Spread-Spike Capture

Status: RELEASED

Classification: PUBLIC

Revision: 1

Date: 2026-09-07

Venue: Bybit perpetuals Programme: I Verdict: NOT PROVEN Blocking axis: Power Transferability: -


1. Identification

FieldValue
Internal codePS-C
FamilyStrict spread-spike direction capture, Parallel Shadow Portfolio Slot 3
VenueBybit USDT perpetuals, Tier 1.5 altcoin
ProgrammeI
Pre-registered2026-05-29, Phase 1A.2 winner-promotion criteria (D-002)
Verdict issued2026-05-30
PredecessorBL-SD-002, whose zero-fill execution result on the same widening events motivated testing prediction quality in pure shadow mode, with no order placement

Not a verdict on the same claim as BL-SD-002. That dossier tested whether a passive order could fill inside a spread spike. This one tests only whether the direction of a subsequent move is predictable once a spike and an order- flow confluence fire together, deliberately bypassing the fill-rate question.


2. Economic thesis

A spread spike combined with order-flow confluence signals an informed sweep: a resting book was cleared aggressively enough to widen the quoted spread by an order of magnitude, and the side that swept it carries information about near-term direction. The design tests only whether that direction is predictable, independent of whether a passive order could realistically have captured it, which BL-SD-002 had already shown was doubtful.

Who is forced to lose. The thesis does not name a distinct forced loser beyond the general order-flow-continuation mechanism shared with the rest of this family; its distinguishing claim is about signal quality on a rarer, larger event rather than about a new structural counterparty.


3. Falsifiable claim

Pre-registered as the shared winner-promotion criteria, with an acknowledged optimistic cost assumption specific to this variant:

Fading is not tested here; riding the confluence direction after a spread spike produces at least 50 shadow trades in 24 hours, an EV per trade at or above 0 basis points assuming an optimistic 2 basis point maker-to-maker round trip, an aggregate p_tp at or above 0.40, and no per-symbol p_sl above 0.30.

MetricThresholdDecision if crossed
Shadow trade count, 24hat least 50Insufficient power if below
EV per trade, maker-to-maker assumptionat or above 0 bpsConfirms viability under best-case execution
EV per trade, realistic taker-makerat or above 0 bpsDetermines viability under achievable execution
Per-symbol p_slat or above 0.30Flag for that symbol if crossed

4. Mathematical specification

Notation per BL-D-011.
 
State, per symbol, rolling spread history of L = 600 samples
(approximately 60 s at a 100 ms poll):
 
  median_60s(t)  =  median of the trailing L spread_bps observations
                     ending at t
 
Entry, fire at t when ALL hold:
 
  is_warmed_up(t) = true
  cooldown elapsed: (t - last_exit) >= 5,000 ms
  spread_bps(t)             >= 6.0                          (absolute floor)
  spread_bps(t)             >= 10.0 * median_60s(t)          (relative spike)
  |ofi_l5_norm(t)|          >= 1.5                           (confluence)
 
  direction  d_t = sign(ofi_l5_norm(t))
 
Exit, path-dependent, first touch wins:
 
  tp_price   =  entry_mid + d_t * entry_mid * 3 / 10000
  sl_price   =  entry_mid - d_t * entry_mid * 3 / 10000
  timeout: 1,000 ms
 
Sizing:
 
  notional_usd = 5.0, max_concurrent = 2, symbols = all 8 Tier 1.5
 
Cost, three scenarios reported rather than a single assumption:
 
  c_rt(best, maker-maker)      =  2.0 bps
  c_rt(realistic, taker-maker) =  7.0 bps
  c_rt(worst, taker-taker)     = 12.0 bps
 
Net return per event, shadow simulation (no order actually placed):
 
  r_net(t) = d_t * (exit_mid - entry_mid) / entry_mid * 1e4  -  c_rt(scenario)

Causality holds by construction: median_60s is computed on the trailing window ending at t, and the entry gates all read state at or before t. The strategy ran in shadow mode only; no order was submitted, which is the deliberate design choice that separates this measurement from BL-SD-002.


5. Operating envelope

ParameterValue for this measurement
Round-trip cost assumedThree scenarios: 2.0 bps maker-to-maker (optimistic), 7.0 bps taker-to-maker (realistic), 12.0 bps taker-to-taker (worst case), per source; current declared figures are 4.0, 7.5, and 11.0 bps respectively (BL-FM-002 section 3.1)
Execution channelShadow simulation only; no order submitted
Latency bandTokyo VPS, low single-digit milliseconds to venue
Measurement cadenceSignal-poll driven, shadow simulation via mid-price tracking
Capital scaleDemo virtual capital, $5 notional per entry
Venue and instrumentsBybit USDT perpetuals, 8 Tier 1.5 altcoin symbols
Data era24-hour continuous shadow window, 2026-05-29 to 2026-05-30

6. Instrument

The spread-spike capture strategy implementation, a new module built for this measurement, structurally identical to the VPIN mean-reversion module in its testable entry/exit/outcome functions but with a spread-percentile trigger in place of a VPIN trigger. Aggregation via the same shadow analysis tooling.


7. Results

ArmnEstimateThresholdResult
Shadow trades, 24h5858at least 50PASS, marginally
p_tp / p_sl / p_timeout5860.3 / 24.1 / 15.5 pctp_tp at or above 0.40PASS
Mean realised move, mid-to-mid58+5.35 bpspositivePASS
Move distribution, p50 / p90 / max58+3.99 / +24.75 / +66.44 bps-Right-skewed, fat tail
Median time-to-TP-hit580.1 s-Near-instant
EV, maker-to-maker (2.0 bps)58+3.35 bpsat or above 0 bpsPASS
EV, realistic taker-maker (7.0 bps)58-1.65 bpsat or above 0 bpsFAIL
EV, worst case taker-taker (12.0 bps)58-6.65 bpsat or above 0 bpsFAIL
INJUSDT subset6100 pct TP, mean +18.11 bps-Small sample, not separately powered
NEARUSDT subset2458 pct TP, mean +6.29 bpsp_sl at or below 0.30FAIL, p_sl 33 pct

The verdict flips sign depending entirely on which cost scenario an operator can actually reach.


8. Verdict, blocking axis, and transferability

Verdict: NOT PROVEN. Axis: power. Transferability: dash, per BL-SD-000 section 2, since an unresolved verdict carries nothing to transfer.

Fifty-eight events is above the pre-registered floor but thin for a distribution this skewed: a p50 of +3.99 basis points against a max of +66.44 means a handful of large outcomes carry much of the mean, and the smallest per-symbol subset, INJUSDT at n=6, cannot be treated as evidence on its own. The result also depends entirely on an execution channel, maker-to-maker at the entry leg, that BL-SD-002 measured as unreachable in practice: zero of 823 vacuum-style passive entries filled in that companion measurement. Under the realistic taker-to-maker assumption the strategy is already negative.

This is recorded as NOT PROVEN rather than as a falsification, per BL-D-005 section 2: the interval this small a sample would produce spans the relevant thresholds, and labelling it dead would misstate what was actually learned, which is that the signal shows promise under a cost assumption the programme has independent reason to doubt.


9. Cost and capacity analysis

Mean realised move (gross)                 +5.35 bps
EV, maker-to-maker (2.0 bps)               +3.35 bps
EV, realistic taker-maker (7.0 bps)        -1.65 bps
EV, worst case taker-taker (12.0 bps)      -6.65 bps

Capacity was not assessed; at 58 events in 24 hours across 8 symbols the event rate itself is the open question this dossier leaves for a larger sample to resolve.


10. Envelope sensitivity and reopening conditions

Binding parameter: which execution channel is actually reachable on the entry leg, not a single cost figure.

Breakeven round-trip cost, at the measured +5.35 bps gross:
  c_rt < 5.35 bps  =>  net positive
 
Declared channels (BL-FM-002 section 3.1):
  Maker to maker     4.0 bps   =>  net +1.35 bps
  Maker to taker      7.5 bps   =>  net -2.15 bps
  Taker to taker     11.0 bps   =>  net -5.65 bps

Against the currently declared schedule, only the maker-to-maker channel clears the gross edge, and only by a slim margin. Whether that channel is achievable on the entry leg is exactly what BL-SD-002 measured and found wanting: zero fills across 823 attempts at capturing a passive order inside a comparable widened spread. This dossier's positive scenario and that dossier's execution finding describe the same unresolved question from two directions.

What would be needed to settle it: a larger sample, at minimum in the low hundreds given the observed dispersion, run with fills actually attempted rather than assumed, so the realistic fill rate on the entry leg can be measured directly instead of assumed at either the optimistic or the pessimistic bound.

What would reopen or close it: confirmation, from a live-fill measurement, of which round-trip cost this strategy actually incurs. Below 5.35 basis points, closed as envelope-bound in the favourable direction; at or above it, falsified on cost.


11. Reference implementation

Published as 05_INSTRUMENTS/strategies/rust/src/spread_spike_capture.rs, with the 12 test cases that pinned it in the source. No defects were found; the module ran as designed. The polling loop, the cache reads and the shadow-trade publisher are not reproduced.

One convention is worth naming, because a reader re-implementing from section 4 alone would get it slightly differently. Section 4 writes the rolling spread reference as median_60s(t). The instrument takes the element at index n/2 of the sorted buffer, which on an even-length buffer is the upper of the two central values rather than their mean. The source's own test pins that explicitly, so it is a deliberate choice rather than a slip. On a 600-sample spread buffer the two differ by well under a tick and the trigger compares against ten times the value, so no result here turns on it. The published module names the function for the convention it actually implements.


12. Evidence register

IDArtifactCarries
E-0058Phase 1A.2 Variant C shadow trade log and aggregation outputn, p_tp, p_sl, mean realised bps, distribution percentiles, per-symbol breakdown

This measurement is recorded in narrative decision documents; registration as a standalone document-evidence artifact is scheduled per BL-SD-000 section 8.


13. Lessons extracted

This dossier and BL-SD-002 should be read together. Separating the question of signal quality from the question of fill achievability, by running this measurement in pure shadow mode with no order placement, is what let the programme identify a real-looking edge without conflating it with an execution assumption it had independent reason to distrust. The discipline of not promoting a strategy to live status on an optimistic cost assumption alone is the reason this entry is recorded NOT PROVEN rather than as a false positive that later had to be walked back.


14. Cross-references

BL-SD-002 for the companion execution-feasibility measurement on the same widening events. BL-SD-004 and BL-SD-005 for the other two Parallel Shadow Portfolio variants tested the same day. BL-D-005 section 2 for the power-axis and NOT PROVEN distinction. Ledger row PS-C.


Copyright (c) 2026 Bijective Labs. All rights reserved.