Frequent-Batch Auction (FBA) Hybrid Routing Slippage Playbook
Modeling Hidden Cost When Continuous Routers Interact with Periodic-Auction Venues
Why this note: Many execution stacks are tuned for continuous limit-order books (CLOBs), but liquidity increasingly appears in short, repeated periodic auctions. If your router treats those venues like continuous books, you get systematic miss-and-chase slippage.
1) Failure Mode in One Sentence
A router optimized for continuous fills can underprice batch-timing risk in periodic auction venues, causing repeated missed uncrosses, toxic fallback aggression, and tail slippage inflation.
2) Cost Decomposition (Add the Missing Terms)
For a parent order, model expected implementation shortfall as:
[ C = C_{spread} + C_{impact} + C_{timing} + C_{batch_miss} + C_{fallback} + C_{deadline} ]
Where:
- (C_{batch_miss}): opportunity cost of missing favorable batch uncrosses.
- (C_{fallback}): cost of rerouting residual to lit/continuous venues after miss.
- (C_{deadline}): convex urgency cost if repeated misses compress remaining schedule.
Most systems have first three terms. FBA-aware systems must model all six.
3) Key Telemetry (Per Symbol × Venue × Parent)
Batch Participation Eligibility Rate (BPER) [ BPER = \frac{#(orders eligible before uncross cutoff)}{#(attempted batch submissions)} ]
Batch Miss Rate (BMR) [ BMR = 1 - \frac{#(batch fills)}{#(eligible batch submissions)} ]
Cutoff Slack (CSL)
uncross_cutoff_time - exchange_ack_timedistribution (ms).- Watch p10/p50/p90; p10 near 0 = fragile path.
Uncross Price Edge (UPE)
- Signed difference between uncross price and nearest continuous fallback benchmark.
Fallback Aggression Premium (FAP) [ FAP = IS_{fallback_child} - IS_{batch_counterfactual} ]
Batch Retry Cascade Index (BRCI)
- Number of sequential batch misses before aggressive catch-up.
If BMR↑ + CSL↓ + BRCI↑ + FAP↑, your batch-routing logic is leaking bps.
4) Data Contract (Point-in-Time Safe)
At each child decision:
decision_time,send_time,exchange_ack_time,batch_cutoff_time,uncross_timeeligible_flag(true/false + reason code)predicted_uncross_px,realized_uncross_px,continuous_ref_pxremaining_qty,remaining_time_budget,deadline_classfallback_path(venue, order type, aggressiveness)market_state(spread, imbalance, trade intensity, volatility)
Critical: Separate ineligible from eligible-but-unfilled. They imply different fixes.
5) Modeling Approach (Deployable)
Layer A — Eligibility + Fill Branch Model
Use a two-step branch model:
Eligibility model [ P(E=1|x) ] (timing slack, message delay, venue status, queue/cutoff state)
Conditional batch-fill model [ P(F=1|E=1,x) ]
Then estimate expected batch execution cost:
[ \mathbb{E}[C_{batch}|x] = P(E=1|x) \cdot P(F=1|E=1,x) \cdot C_{fill} + (1-P(EF))\cdot C_{fallback} ]
Layer B — Parent Completion Convexity Model
Condition expected parent shortfall on:
- cumulative misses (BRCI),
- residual notional,
- remaining schedule time,
- volatility regime.
This captures nonlinearity: early misses are tolerable, late misses are expensive.
6) Execution Controller (Practical State Machine)
- GREEN: Healthy CSL, low BMR. Normal hybrid participation.
- AMBER_BATCH: CSL thinning or BMR rising. Increase submission lead-time, reduce over-tight passive assumptions.
- RED_BATCH: repeated misses + high FAP. Cap batch retries, prioritize completion-safe continuous flow.
- SAFE_COMPLETE: deadline protection mode; minimize residual convexity.
Use metric thresholds + hysteresis, not trader discretion in the loop.
7) Policy Levers That Usually Help
Adaptive Lead-Time Buffer
- Increase pre-cutoff send buffer when CSL quantiles compress.
Retry Budget
- Hard cap on sequential batch retries per parent (
max_brci).
- Hard cap on sequential batch retries per parent (
Fallback Style by Regime
- AMBER: softer fallback (passive/peg where safe).
- RED: controlled aggression with burst caps.
Deadline-Aware Branching
- As
remaining_timeshrinks, penalize uncertain batch branches more heavily.
- As
Venue-Specific Latency Priors
- Keep per-venue ACK/cutoff delay priors; don’t share one global timing prior.
8) Rollout Plan
- Shadow (2–3 weeks): compute BPER/BMR/CSL/UPE/FAP/BRCI without policy change.
- Canary by liquidity bucket: start where uncross events are frequent and observable.
- Guardrails: cap residual notional and end-window aggression.
- Promotion criteria: improve p95/p99 IS and completion reliability, not mean IS only.
9) Fast Checklist
[ ] Log cutoff and uncross timestamps with exchange-ack precision
[ ] Distinguish ineligibility vs eligible-no-fill branches
[ ] Add batch-miss and fallback-premium terms to slippage objective
[ ] Introduce adaptive lead-time + retry budget
[ ] Deploy GREEN/AMBER_BATCH/RED_BATCH/SAFE_COMPLETE controller
[ ] Gate rollout on tail IS + completion KPIs
10) References
- Budish, E., Cramton, P., Shim, J. (2015), The High-Frequency Trading Arms Race: Frequent Batch Auctions as a Market Design Response, QJE.
- Pagano, M., Schwartz, R. (2003), A Closing Call’s Impact on Market Quality (call auction microstructure context).
- ESMA materials on periodic auctions under MiFID II (market-structure and transparency context).
TL;DR
Periodic auctions are not just another venue—they are a different execution clock. If you model them like continuous books, you underprice miss-and-fallback convexity. Add eligibility/fill branching, cutoff-slack telemetry, and retry-budget controls to protect tail slippage while keeping completion stable.