Price-Time vs Pro-Rata Matching Portability Execution Playbook

2026-03-11 · finance

Price-Time vs Pro-Rata Matching Portability Execution Playbook

Date: 2026-03-11
Category: knowledge
Scope: Futures/equities execution models that must survive venue-specific matching rules


1) Why this matters

A strategy that behaves well on one venue can leak slippage on another even with the same spread, volatility, and headline depth.

The common root cause: matching priority semantics changed, but the execution policy did not.

If your model treats all books like FIFO, pro-rata venues often look liquid in backtests and expensive in production.


2) Matching-rule taxonomy (portable mental model)

At the best price level, incoming aggressive size is allocated by one of these families:

  1. FIFO (price-time)
    Fill priority is mostly a function of queue position.

  2. Pure pro-rata (price-size)
    Fill share is proportional to standing size, with limited or no timestamp advantage.

  3. Hybrid pro-rata
    A sequence such as:

    • top-order allocation,
    • LMM allocation,
    • pro-rata remainder,
    • FIFO residue.

Portable rule: never model “fill probability” without explicitly modeling which allocation family is active for that product/venue/session.


3) Hidden slippage channels created by rule mismatch

A) Queue-option inversion

A FIFO-trained policy overpays for queue preservation where size share is what earns fill.

B) Oversizing reflex and cancel churn

In pro-rata, participants may oversize quotes to win share, then cancel aggressively. This can inflate displayed depth while executable quality decays.

C) Fill fragmentation and completion drift

Pro-rata tends to produce more partial/fragmented fills, increasing child-order management cost and deadline miss risk.

D) Latency ROI regime switch

FIFO often rewards micro-latency for queue rank; pro-rata may reward sizing/refresh discipline more than marginal speed.


4) Minimal execution model that is allocation-aware

For a candidate passive order i at best level:

4.1 FIFO-style expected fill proxy

[ \mathbb{E}[Fill_i] \approx \mathbb{P}(Q_{depletion} > Q_{ahead,i}) ]

where Q_ahead is queue volume ahead of us.

4.2 Pro-rata-style expected fill share

[ Share_i \approx \frac{w_i}{\sum_j w_j}, \quad w_i = (size_i)^{\alpha} ]

Then:

[ \mathbb{E}[Fill_i] \approx Share_i \cdot \mathbb{E}[AggressiveFlow_{at\ level}] ]

4.3 Allocation-aware cost objective

[ C = C_{spread/fees} + C_{impact} + C_{markout} + C_{underfill} ]

with C_underfill weighted by time-to-deadline and parent residual.

Key: the fill term must switch by matching family, not just recalibrate constants.


5) Portability diagnostics before going live

Run the same parent-order replay under two emulators:

Compare:

If policy ranking flips between F and P, strategy is priority-fragile.


6) Production metric stack

Track these per symbol × venue × session:

Alert when PSR drifts or SCI spikes: this is usually when “depth looked fine” turns into slippage tails.


7) Control policy (simple state machine)

Use hysteresis to avoid mode flapping.


8) Practical implementation checklist


9) References


One-line takeaway

Execution portability is impossible if the model is venue-agnostic about matching priority: price-time and pro-rata are different microstructure physics, not parameter tweaks.