Rule 605/606 Prior-Informed Venue Slippage Model Playbook

2026-03-12 · finance

Rule 605/606 Prior-Informed Venue Slippage Model Playbook

Date: 2026-03-12
Category: knowledge
Audience: small quant execution teams routing U.S. equities through one or more brokers/algos


Why this playbook exists

Most slippage models are calibrated only on internal fills. That is necessary, but it is often data-thin at venue level (especially when flow is fragmented or recently migrated).

SEC Rule 605 execution-quality reports and Rule 606 routing disclosures provide public structure you can use as a prior, then update with your own fills.

Goal: build a venue/tactic slippage model that learns faster, with less overfitting.


Core idea

Use a two-layer approach:

  1. External prior layer (slow, public):

    • Rule 605 metrics: effective spread, realized spread horizons, time-to-execution, price improvement/size-improvement style metrics
    • Rule 606 routing context: where flow is sent, held vs not-held handling context, economic-routing disclosures
  2. Internal posterior layer (fast, proprietary):

    • your arrival shortfall, queue outcomes, markouts, reject/retry behavior, urgency context

Then estimate:

Expected Slippage = f(internal_state, broker, tactic, venue_cluster) + prior_adjustment(605/606)


What 605 and 606 add (in practice)

Rule 605 (execution quality)

Use as ex-ante venue quality baseline:

Rule 606 (routing behavior)

Use as routing-structure context:

605 says “how quality looked”; 606 helps explain “why routing looked that way.”


Modeling blueprint

1) Normalize everything to your objective

Public metrics are not your exact IS objective. Map to desk objective first:

Build a composite loss:

Loss = IS_arrival_bps + λ_tox * max(0, MarkoutPenalty) + λ_lat * LatencyPenalty


2) Construct prior score per venue cluster

Let v be venue cluster (or broker×venue bucket), r be regime (vol/spread/time-of-day).

PriorScore(v,r) = a1*EffSpread605 + a2*RealizedSpread605 + a3*ExecTime605 + a4*RoutingConcentration606 + a5*EconomicRoutingFlag606

Use robust scaling and winsorization (public reports can be noisy/lagged).


3) Bayesian shrinkage to internal estimates

For internal mean slippage estimate μ_int(v,r) with sample count n:

μ_post(v,r) = w(n)*μ_int(v,r) + (1-w(n))*μ_prior(v,r)

Example weight:

w(n) = n / (n + k)

Set k by backtest minimizing out-of-sample IS error.


4) Add tactic-level residual model

After posterior baseline, model residual with internal microstructure features:

Residual = g(spread, imbalance, queue_proxy, quote_age, urgency, participation, volatility, event_clock)

Final prediction:

PredictedSlippage = μ_post(v,r) + Residual

This separation stabilizes sparse venue estimates while preserving intraday adaptivity.


5) Portfolio routing objective (fee-aware)

For candidate route j:

NetCost_j = PredictedSlippage_j + Fees_j - Rebates_j + RejectRiskPenalty_j + CompletionRiskPenalty_j

Route by softmin allocation under caps:


Data contract (minimum)

Internal tables:

Public ingest tables:

Critical: keep publication lag metadata; do not leak future public data into past backtests.


Backtest protocol

  1. Time-split by publication date (strictly causal)
  2. Compare:
    • Internal-only model
    • 605-only naive prior
    • 605/606 prior + internal posterior (target architecture)
  3. Evaluate:
    • MAE/RMSE for IS
    • p95/p99 tail error
    • realized routing regret
    • completion ratio impact

Expected win: biggest improvement in sparse venues/new tactic rollout periods.


Failure modes and fixes

  1. Blind trust in public metrics
    • Fix: shrinkage + internal override with enough sample
  2. Objective mismatch (retail-like public metrics vs your institutional flow)
    • Fix: regime segmentation + residual correction
  3. Stale priors (monthly cadence)
    • Fix: decay factor + intraday residual dominance
  4. Routing-conflict interpretation errors
    • Fix: treat 606 economics as context feature, not guilt verdict
  5. Symbol-mix bias
    • Fix: rebalance priors by your tradable universe weights

Rollout plan (small team)

Rollback triggers:


Practical takeaway

Rule 605/606 data should not replace your execution telemetry.

But used as a regularized prior, it can materially reduce cold-start error, stabilize venue selection under sparse samples, and improve slippage control when you scale tactics faster than your own history can safely support.


References (starting points)