SIP–Direct Feed Dislocation Slippage Playbook

2026-03-06 · finance

SIP–Direct Feed Dislocation Slippage Playbook

Date: 2026-03-06
Category: research (execution / slippage modeling)

Why this playbook exists

Many execution stacks still benchmark urgency and price quality on a single top-of-book view. In fragmented markets, that view can be stale for milliseconds to tens of milliseconds relative to direct venue feeds.

That tiny lag is enough to cause recurring hidden slippage:

This playbook treats feed dislocation as a first-class slippage factor.


Core failure mode

For a buy child order:

  1. SIP shows best ask at A_sip.
  2. Direct feed best ask has already moved up or size has vanished.
  3. Router decisions based on SIP-marked state submit passive/improving/taking intent too late.
  4. Outcome branches:
    • stale-take miss -> reject/no-fill -> later aggressive catch-up,
    • stale-passive fill -> fill occurs, but short-horizon markout is strongly negative,
    • late reroute -> opportunity decays while queue priority resets.

Mirror this for sells.


Minimum data contract

Per child-order and per market-data event:

Without parallel SIP + direct capture and synchronized clocks, dislocation cost is unobservable.


Metrics that expose the leak

1) Feed Dislocation Interval (FDI)

[ FDI = t_{decision} - t_{direct_state_equivalent_on_SIP} ]

Interpretation: how “behind” SIP state is at decision time.

2) Phantom Best Quote Rate (PBQR)

[ PBQR = \frac{#(SIP\ best\ quote\ not\ executable\ on\ direct\ at\ decision)}{#(decisions)} ]

Segment by symbol liquidity bucket and time-of-day.

3) Direct-Touch Miss Cost (DTMC)

Cost from attempted touch based on SIP that was absent on direct, then completed later.

[ DTMC = \frac{\sum q_i (p^{late}_i - p^{counterfactual\ direct}_i)}{\sum q_i p^{counterfactual\ direct}_i} \times 10^4 ]

4) Stale-Reference Fill Share (SRFS)

[ SRFS = \frac{\sum fill_qty\ where\ FDI > \tau}{\sum fill_qty} ]

Useful thresholds: \tau at 1ms, 3ms, 5ms, 10ms.

5) Dislocation-Adverse Markout Spread (DAMS)

Difference in post-fill markout between high-FDI and low-FDI cohorts.

[ DAMS_h = E[markout_h | FDI > \tau] - E[markout_h | FDI \le \tau] ]

for horizon h.


Modeling blueprint (branch decomposition)

Model child-order net cost as branch mixture:

[ C = \pi_{miss}C_{miss} + \pi_{staleFill}C_{staleFill} + \pi_{clean}C_{clean} ]

Branch A: stale-touch miss

Predict miss probability and catch-up cost.

Features:

Branch B: stale-passive adverse fill

Predict markout-conditioned adverse selection when fills occur under dislocation.

Features:

Branch C: clean state

Baseline branch when SIP/direct aligned and clock telemetry healthy.


Execution control state machine

  1. ALIGNED

    • FDI_p95 <= 1.5ms, PBQR <= 2%
    • normal policy
  2. DRIFTING

    • 1.5ms < FDI_p95 <= 4ms or rising PBQR
    • reduce passive slice size, tighten quote TTL, increase recheck frequency
  3. DISLOCATED

    • FDI_p95 > 4ms or PBQR > 6% or DAMS breach
    • benchmark/routing decisions on direct touch for targeted symbols
    • widen conservative limit bands, cap participation
  4. SAFE

    • persistent feed/clock integrity issues or repeated tail breaches
    • hard participation cap, venue downweight/quarantine, optional pause

Use hysteresis: stronger evidence to exit DISLOCATED than to enter.


Practical controls

Control 1: dual-reference benchmark

Keep both SIP and direct touch benchmarks in TCA and online decisions. If divergence exceeds threshold, pivot decision reference to direct feed for high-risk names.

Control 2: feed-age guard

Reject “take/join” actions when quote age + FDI exceeds symbol-specific budget.

Control 3: dislocation-aware urgency

When dislocation rises, split residual into:

Control 4: clock-integrity gate

If clock offset or sequence-gap health degrades, automatically move to conservative mode (don’t trust fine-grained dislocation estimates when clocks are suspect).

Control 5: venue-specific dislocation map

Maintain per-venue FDI + PBQR heatmap and dynamically downweight venues where effective executable top-of-book is most unstable.


Calibration workflow

  1. Build synchronized event tape (SIP + direct + order lifecycle).
  2. Label branch outcomes (miss / stale-fill / clean).
  3. Fit branch probabilities and branch-cost models (quantile-first).
  4. Validate across regimes (open, lunch, close, event windows).
  5. Shadow-run controller and compare q95/CVaR and fill-completion tradeoffs.
  6. Promote via canary traffic ladder.

Promotion gates (example)

Rollback triggers:


Common mistakes

  1. “SIP is good enough because average spread is fine.” Tail slippage lives in brief dislocation episodes, not averages.

  2. “Faster router solves everything.” If reference feed is stale or clocks are off, faster wrong decisions are still wrong.

  3. “One benchmark is simpler.” Simpler, yes; diagnostically blind, also yes.

  4. “This is only for HFT.” Even mid-frequency execution leaks bps in open/close/news windows if feed dislocation is ignored.


Desk takeaway

Execution quality is not just impact + spread. It is also reference-truth quality.

If SIP/direct dislocation is not modeled explicitly, you will keep paying a repeatable hidden tax and call it market noise.