BL-IS-008: Fill Probability and Effective Cost
BIJECTIVE LABS
BL-IS-008: Fill Probability and Effective Cost
Status: RELEASED
Classification: PUBLIC
Revision: 1
Date: 2026-09-07
1. What it measures
What a passive order actually costs, given that some fraction of the orders will not fill.
A cost model that prices only the fills that happened answers the wrong question. The right one is the expected cost across all intended trades, including the ones where the order rested, the price left, and the strategy either crossed later or missed the trade entirely.
2. Why the naive version is wrong
The intuition is that a passive order costs less than a crossing order, so resting the order and waiting must lower total cost.
That reasoning treats an unfilled order as costless. It is not. The orders that fail to fill are not a random subset of the intended trades; they are the ones where the price moved away, which is precisely why they did not fill. The names that do fill are disproportionately the ones going nowhere.
Measured on this substrate [E-0014]:
| Passive wait budget | Drift on unfilled names |
|---|---|
| 60 seconds | +11.7 bps |
| 1 hour | +102.2 bps |
Total execution cost therefore rises with the wait budget rather than falling. Extending the budget from sixty seconds to one hour makes the strategy worse.
This closed a lever the programme had expected to use, and it is the least intuitive cost finding in the record.
3. Effective round trip
The instrument reports a single figure that a strategy evaluation can use directly.
c_eff = p_fill * c_passive + ( 1 - p_fill ) * ( c_cross + drift_unfilled )where p_fill is the measured fill rate at the declared wait budget,
c_passive the cost if the passive order fills, c_cross the cost of crossing
after the budget expires, and drift_unfilled the measured adverse movement on
the names that did not fill.
Measured for the final cross-sectional candidate:
| Channel | Effective round trip |
|---|---|
| Taker only | 15.02 bps |
| Hybrid, 60-second passive budget then cross | 8.85 bps at the optimistic bound |
| Hybrid, upper bound | 12.17 bps |
| Maker pure, at a hypothetical 100 percent fill | -0.025 bps |
| Required for statistical significance | 5.50 bps |
The maker-pure row is included precisely because it is unreachable. It is what the arithmetic gives when fill probability is set to one, and the distance between it and the hybrid range is the entire cost of fills that do not happen.
Neither achievable bound reaches what the result needed.
4. Interface
effective_cost(orders, book, wait_budget, cost_model) -> FillReport
orders intended trades with timestamp, side, size, limit price
book recorded book at sufficient resolution to determine fills
wait_budget how long the passive order rests before crossing
cost_model per BL-IS-005
Returns:
p_fill measured fill rate at this budget
c_passive cost on filled orders
c_cross cost of crossing after expiry
drift_unfilled adverse movement on unfilled names over the budget
c_effective the blended figure
n_filled, n_unfilled
Raises when:
the book series does not cover order time plus the wait budget
drift on unfilled orders is not computable for any order in the sampleThe second guard exists because dropping the uncomputable unfilled orders would remove exactly the observations that make the instrument informative.
5. Fill determination
An order is treated as filled when the recorded book shows the price trading through the resting level, with trade-through handling rather than discrete level events only.
That distinction matters and was learned the hard way. An earlier passive-fill replay used a first-in-first-out queue model that counted only discrete events at a resting level, and missed fills where a trade swept past the level without producing one. At one instrument, 55.7 percent of adverse fills were being missed.
Every missed fill was an adverse one, so the reported gross figures had been an optimistic upper bound rather than an estimate. The matcher was corrected with eleven tests and the verdicts re-run. All were upheld, with worse numbers.
6. What it does not model
Queue position. The instrument determines whether the price reached the level, not whether the order was near the front of the queue when it did. On a venue with deterministic ordering that gap is smaller than on one without, and this record does not quantify it.
Market impact. The order is assumed not to move the book it is resting in.
The strategy's own alternative. If a strategy would decline a trade rather than cross after the budget expires, the effective cost is different and the instrument takes the crossing assumption as an input rather than deciding it.
7. Cross-references
BL-IS-005 the cost model this feeds. BL-EC-001 sections 3 and 4.
BL-D-010 sections 2.1 and 2.3. BL-SD-046. Evidence E-0014, superseded by
its own predecessor E-0013.
Copyright (c) 2026 Bijective Labs. All rights reserved.