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:
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
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:
- effective spread proxies execution cost quality
- realized spread horizons reveal adverse selection / toxicity persistence
- time-to-execution bins expose speed-quality tradeoffs
- order-size/order-type segmentation gives regime hints (odd-lot, larger size, etc.)
Rule 606 (routing behavior)
Use as routing-structure context:
- where broker flow is concentrated by bucket
- held/not-held handling distinctions
- payment/rebate/profit-sharing disclosures and routing relationship 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:
- convert spread-like metrics to bps at your notional scale
- create separate targets for:
IS_arrival_bpsShortHorizonMarkout_bps(toxicity proxy)FillLatency_ms
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)
- small
n→ trust public prior more - large
n→ trust internal data more
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:
- max participation
- venue concentration limits
- min completion probability
- kill-switch on p95 tail burn
Data contract (minimum)
Internal tables:
- child order lifecycle timestamps (decision/send/ack/fill/cancel)
- benchmark prices (arrival/mid/close)
- fill outcomes + horizons markouts
- venue/broker/tactic identifiers
- fee/rebate realized economics
Public ingest tables:
- 605 monthly metrics keyed by market center + symbol bucket + order bucket
- 606 monthly routing disclosures keyed by broker + bucket
- metadata/versioning (publication date, effective period, parse checksum)
Critical: keep publication lag metadata; do not leak future public data into past backtests.
Backtest protocol
- Time-split by publication date (strictly causal)
- Compare:
- Internal-only model
- 605-only naive prior
- 605/606 prior + internal posterior (target architecture)
- 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
- Blind trust in public metrics
- Fix: shrinkage + internal override with enough sample
- Objective mismatch (retail-like public metrics vs your institutional flow)
- Fix: regime segmentation + residual correction
- Stale priors (monthly cadence)
- Fix: decay factor + intraday residual dominance
- Routing-conflict interpretation errors
- Fix: treat 606 economics as context feature, not guilt verdict
- Symbol-mix bias
- Fix: rebalance priors by your tradable universe weights
Rollout plan (small team)
- Week 1: ingest + schema + causal backfill
- Week 2: prior construction + shrinkage tuning
- Week 3: paper routing (no live control), monitor regret
- Week 4: limited-capital live A/B with hard tail guardrails
Rollback triggers:
- p95 IS deterioration > threshold for 3 consecutive sessions
- completion ratio below floor
- reject/retry burst above incident threshold
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)
- SEC Press Release (Mar 6, 2024): amendments to Rule 605 disclosure scope/metrics
https://www.sec.gov/newsroom/press-releases/2024-32 - SEC Staff FAQ on Rule 606 (held vs not-held disclosure framework)
https://www.sec.gov/rules-regulations/staff-guidance/trading-markets-frequently-asked-questions/faq-rule-606-regulation - FINRA overview of SEC Rule 605 background
https://www.finra.org/rules-guidance/guidance/sec-rule-605