Throttle-Saturation Reject-Loop Slippage Playbook

2026-03-04 · finance

Throttle-Saturation Reject-Loop Slippage Playbook

Date: 2026-03-04
Category: research
Domain: finance / execution / market microstructure / trading infrastructure

Why this matters

Most slippage models assume a clean execution path:

In production, a meaningful fraction of cost comes from control-plane friction before market competition even starts:

If your model ignores this layer, it systematically underestimates tail slippage exactly when traffic is bursty and liquidity is fragile.


Core idea

Extend implementation shortfall into two coupled components:

  1. Market-plane cost (spread, impact, markout, opportunity)
  2. Control-plane cost (reject/retry/queue-reset induced cost)

Then optimize execution policy against the joint cost, not market-plane alone.


1) Cost decomposition with control-plane terms

For parent order (Q):

[ C_{total} = C_{market} + C_{control} + \epsilon ]

with

[ C_{market} = C_{spread} + C_{impact} + C_{timing} + C_{opp} ]

[ C_{control} = C_{reject-delay} + C_{retry-impact} + C_{queue-reset} + C_{abort} ]

Where:

A practical proxy model:

[ C_{control} \approx \beta_1 \cdot E[Delay_{retry}] \cdot \sigma_{short}


2) Throttle load and reject hazard

Define a per-path saturation score:

[ \rho_t = \frac{\lambda^{msg}_t}{\Lambda^{cap}_t} ]

Reject hazard:

[ P(reject_t=1) = \sigma\left(a_0 + a_1\rho_t + a_2 Burst_t + a_3 LatencyJitter_t + a_4 RiskGateStress_t\right) ]

Key point: reject probability is not linear in (\rho). Near high utilization, small bursts can produce disproportionate reject spikes.


3) Retry-loop delay model

Let retry attempts be capped by (K), with acceptance probability (p_t) per attempt (state-dependent).

Expected acceptance delay:

[ E[T_{accept}] = \sum_{k=1}^{K} P(N\ge k)\cdot \Delta_k ]

Map delay to expected adverse drift/volatility exposure in current microstructure regime:

[ E[Cost_{delay}] \propto E[T_{accept}] \cdot f(\text{short-horizon drift}, \text{book fragility}, \text{imbalance}) ]


4) Queue-reset tax from excessive replace/cancel

In price-time priority venues, many modify paths effectively behave as cancel+new entry in queue terms.

Track Queue Reset Tax (QRT):

[ QRT = E\left[\Delta Rank \mid replace/cancel\right] \cdot P(fill \ before \ next \ reprice) ]

Operationally:

This is the reject-loop feedback trap.


5) State machine for execution + traffic control

State A — GREEN

Condition: low (\rho), stable rejects

State B — AMBER

Condition: (\rho) rising, reject hazard up, queue resets increasing

State C — RED

Condition: sustained reject bursts / timeout clusters

State D — SAFE

Condition: reject hazard extreme + slippage budget burn critical

Use hysteresis and minimum dwell-time to prevent flapping.


6) Data contract (minimum viable)

Per attempt (not just per filled child):

Without attempt-level lineage, control-plane slippage is invisible and gets misattributed to market impact.


7) Modeling stack

Layer 1 — Reject classifier / hazard model

Predict reject probability by path, venue, and regime.

Layer 2 — Retry delay survival model

Estimate distribution of acceptance time conditional on attempt state.

Layer 3 — Queue-reset opportunity model

Estimate expected queue-rank loss and missed passive-fill value from replace behavior.

Layer 4 — Joint optimizer

Minimize:

[ \mathbb{E}[C_{total}] + \lambda_1 CVaR_{95}(C_{total}) + \lambda_2 \cdot CompletionPenalty ]

Decision knobs:


8) Validation protocol

Offline replay

Shadow live

Canary live


9) Monitoring dashboard (must-have)

If you only watch net slippage, reject-loop pathologies hide until tails blow up.


10) Common failure modes

  1. Fill-only dataset bias
    Rejected/aborted attempts disappear from training, understating true cost.

  2. Average reject-rate comfort
    Mean looks fine while burst-conditional tails dominate real damage.

  3. No reason-code normalization
    Distinct reject classes mixed into one label breaks root-cause control.

  4. Spread-first objective under saturation
    Over-optimizes passive micro-edge while acceptance reliability collapses.

  5. Unlimited retry loops
    Creates churn, queue loss, and delayed panic crossing.


11) Minimal implementation checklist


References


One-line takeaway

When message traffic saturates, slippage is no longer just a market-impact problem—it becomes a reject/retry control-loop problem, and the tail cost is paid before your order even gets a fair chance in queue.