Self-Help Hysteresis and Protected-Quote Eligibility Drift in Slippage Models

2026-04-12 · finance

Self-Help Hysteresis and Protected-Quote Eligibility Drift in Slippage Models

Date: 2026-04-12
Category: research (execution / slippage modeling)

Why this playbook exists

A lot of execution models quietly assume this:

if a venue is showing the best displayed price, it is a live execution opportunity.

Under Rule 611 reality, that assumption is conditional.

A displayed quote matters for routing only when it is not just visible, but protected, immediately accessible, and operationally actionable. When a venue becomes slow, unresponsive, or operationally suspect, routers can invoke self-help and bypass that venue’s protected quotations. Once that happens, the quote may still exist in market data, but it no longer has the same control meaning.

That creates a slippage problem most teams under-model:

The result is a distinctive family of execution failures:

  1. delayed reroutes while waiting on a quote that has already lost practical value,
  2. panic reroutes after self-help activation,
  3. over-bypassing after recovery because the venue is still distrusted,
  4. benchmark errors that make fills look worse or better than they really were.

This note turns that failure mode into a modeling, monitoring, and control blueprint.


Public market-structure facts that make this real

A few public references are enough to show why this is not theory.

The modeling implication is straightforward:

quote visibility and quote accessibility are separate state variables.

If your slippage stack models only the first, it will systematically misread routing opportunity.


The core failure mode: protected status drifts faster than many models notice

For each venue, at least four states matter:

  1. Displayed — quote is visible in your feed.
  2. Protected / eligible — quote is currently subject to trade-through protection for your router.
  3. Reachable — your path to the venue is functioning within tolerance.
  4. Trusted — your router is willing to rely on that venue right now.

In a clean market these collapse into one concept.

In production they do not.

A venue can be:

That gap is what I call protected-quote eligibility drift.

And because self-help decisions usually involve thresholds, cooldowns, and recovery checks, the drift is often hysteretic:

That asymmetry is where a lot of unexpected slippage lives.


Mechanism map

1. False best-price anchoring

Your router sees Venue A at the NBBO and assumes it remains a legitimate protection target.

But Venue A is already degrading:

A model that still treats Venue A as normal will:

2. Self-help jump and reroute tax

Once self-help is invoked, the router’s feasible venue set changes abruptly.

Now the strategy may need to:

This is the reroute tax.

3. Recovery hysteresis

The venue recovers, but your router does not immediately trust it again.

That is usually rational.

Immediate re-entry after a venue wobble can create churn, false recovery, and repeated state flips. So production systems often keep venues in a probationary or shadow state.

But the side effect is important:

If the model ignores this recovery lag, it misattributes the resulting cost to market impact or urgency instead of eligibility inertia.

4. Router disagreement

In many stacks, self-help is not truly global.

Different:

can disagree for a short period about whether a venue is usable.

That means there is no single “actionable NBBO.”

There is a router-specific actionable price set.

A training dataset that merges executions from multiple paths without labeling this state will leak confusion directly into slippage coefficients.

5. Benchmark contamination

After the fact, TCA often compares fills to:

without asking whether the quoted venue was self-helped at the time.

That contaminates both cost attribution and model retraining:


A better abstraction: observed best price vs actionable best price

For a buy order, let:

Then the key quantity is the eligibility gap:

[ G(t) = P_{act}(t) - P_{obs}(t) \ge 0 ]

Interpretation:

A naive slippage model prices execution relative to (P_{obs}(t)).

A production-grade model should often price execution relative to (P_{act}(t)).

For sell orders, the same logic applies with bids and reversed signs.


The hidden state is hysteretic, not iid

Let (H_v(t)) be the venue-state process for venue (v):

The dangerous mistake is to let (E_v(t)) depend only on current latency.

In reality:

[ E_v(t) = f(\text{latency}_v(t), \text{error}_v(t), \text{age}_v(t), H_v(t-1), \text{cooldown}_v(t), \text{path}_r) ]

So eligibility depends on:

That makes the cost of venue degradation path-dependent.

Two moments with identical displayed quotes and identical current latency can still deserve different routing decisions if one occurs right after a self-help event and the other occurs in a stable regime.


Cost decomposition

A useful decomposition is:

[ C_{total} = C_{base} + C_{wait} + C_{reroute} + C_{hysteresis} + C_{benchmark} ]

Where:

A practical approximation:

[ C_{wait} \approx \kappa_1 \sum_t \Pr(E_v(t)=0 \mid x_t) \cdot \Delta t \cdot \mu_t ]

where (\mu_t) summarizes adverse drift while waiting.

And:

[ C_{reroute} \approx \kappa_2 \sum_t G(t) \cdot \Delta Q_t ]

where (\Delta Q_t) is quantity forced to execute after the actionable price worsens relative to the observed price.

A simple approximation for hysteresis cost is:

[ C_{hysteresis} \approx \kappa_3 \sum_t 1_{{H_v(t)=RECOVERY}} \cdot R_v(t) ]

where (R_v(t)) measures forgone opportunity at the recovered venue.

The important point is conceptual:

not all “impact” is market impact. Some of it is venue-eligibility transition cost.


Metrics worth instrumenting

1. AEG — Actionability Eligibility Gap

[ AEG(t) = P_{act}(t) - P_{obs}(t) ]

This is the main business metric.

If AEG is frequently non-zero, your NBBO-based features are too optimistic.

2. SHD — Self-Help Dwell

[ SHD_v = \text{time venue } v \text{ stays bypassed after activation} ]

Track by venue, router, symbol bucket, and time of day.

3. RHL — Recovery Half-Life

The median time from first evidence of venue recovery to full routing normalization.

This quantifies distrust inertia.

4. RDR — Router Disagreement Rate

Fraction of control intervals where different gateways / paths disagree about venue eligibility.

If this is non-trivial, you do not have a single global market state.

5. BMC — Benchmark Misalignment Cost

Difference between TCA cost computed against observed benchmark versus actionable benchmark.

This is where many “why did the model regress?” mysteries show up.

6. QFR — Queue-Forgone Regret

Opportunity cost from maintaining bypass while the venue has already resumed offering attractive queueable liquidity.


Feature set for slippage models

A. Venue-health features

B. Self-help state features

C. Actionability-gap features

D. Path-specific features

E. Recovery-quality features

The important modeling rule:

eligibility and recovery variables should enter the slippage model directly, not only as operational alerts.


Control-state blueprint

NORMAL

WATCHLIST

Triggered when latency and error metrics deteriorate but self-help threshold is not yet crossed.

SELF_HELP_ACTIVE

RECOVERY_PROBATION

RESTORED

This state machine matters because good execution systems do not just ask:

is the venue up?

They ask:

is the venue trustworthy enough, for this router, right now, for this kind of order?


Modeling blueprint

Layer 1: reconstruct router-specific venue eligibility

For each order decision point, store:

Do not assume that historical market data alone can recover this.

You need router-state logs.

Layer 2: build actionable market snapshots

For every decision timestamp, construct two books:

  1. Observed book — what the feed showed.
  2. Actionable book — what this router could plausibly access.

Train and evaluate models against both.

Layer 3: estimate eligibility transition risk

Predict:

[ \Pr(E_v(t+\Delta)=0 \mid x_t) ]

This tells you when a displayed quote is likely to lose control value soon.

That forecast often matters more than microprice alone during venue incidents.

Layer 4: model recovery value separately

After self-help, predict:

Recovery is not just the reverse of degradation.

Model it separately.

Layer 5: benchmark using actionable references

For training labels and TCA, include:

If this gap is material, using raw observed benchmarks alone will poison both supervision and model comparisons.


Practical policy rules

Rule 1: maintain two NBBOs

You probably need both:

Treating them as the same number is the root mistake.

Rule 2: make self-help hysteresis explicit

Do not bury entry / exit thresholds in scattered router code.

Document:

If hysteresis exists implicitly, it will be invisible to the model and impossible to audit.

Rule 3: use graded recovery, not binary recovery

A venue that just recovered should not immediately receive full routing weight.

Better:

Rule 4: benchmark fills against feasible prices

When actionability gap is non-zero, comparing to raw displayed best price exaggerates “slippage” that could never have been avoided.

This matters for both trader fairness and model quality.

Rule 5: label the path

If you aggregate executions from multiple network paths or broker routers, eligibility state must be path-aware.

Otherwise the model learns contradictory truths.

Rule 6: isolate venue-incident tails in postmortems

When slippage spikes during a venue incident, do not throw everything into generic “high volatility” buckets.

Break out:

Those are different problems.


Common anti-patterns


30-day rollout plan

Week 1 — Make eligibility observable

Week 2 — Shadow actionable benchmark

Week 3 — Add state-aware features to model

Week 4 — Tighten control policy


What good looks like

A production-grade execution stack should be able to answer:

  1. At each decision instant, what was the best displayed price?
  2. What was the best actionable price for this router?
  3. Which venues were bypassed and why?
  4. How much slippage came from venue-state transitions rather than market impact alone?
  5. How long did recovery distrust last, and was that delay worth it?
  6. Are we training the model on prices we could not actually access?

If you cannot answer those, then your slippage model is still pricing a market that looked cleaner than the one you actually traded.

That gap gets expensive fast.


Selected public references

Bottom line

Self-help is not just a compliance exception.

It is a state transition in market reachability.

The quote you see and the quote you can responsibly trade are not always the same thing. When venue eligibility changes, slippage can come from:

The fix is not only better routing.

It is better modeling:

In short:

before you model impact against the best displayed quote, make sure that quote was actually in your market.