Queue Option Value: Cancel-or-Keep Threshold Slippage Modeling Playbook

2026-03-07 · finance

Queue Option Value: Cancel-or-Keep Threshold Slippage Modeling Playbook

Date: 2026-03-07
Category: research (execution / slippage modeling)

Why this playbook exists

Most execution engines treat passive child orders with blunt rules:

In production, this often destroys hidden edge. A posted passive order owns something valuable: queue option value.

When you cancel, you pay three immediate taxes:

  1. queue age reset,
  2. cancel/replace dead-time latency,
  3. urgency escalation for the remaining parent.

If you keep too long, you pay a different tax:

  1. adverse selection markout,
  2. missed fill probability,
  3. larger later catch-up impact.

The problem is not “always keep” vs “always cancel.” The problem is estimating when queue option value has decayed enough to justify reset.


Core concept: queue position as an option

Treat a resting passive order as a short-lived real option with two opposing forces:

For a buy parent, a passive bid has value while:

[ \text{Expected Maker Edge} > \text{Expected Toxicity + Miss Penalty} ]

Once this inequality flips, continuing to sit in queue becomes negative EV.


Data contract (minimum)

At child-order event level:

Without queue-ahead proxy + cancel/ack timing, threshold calibration will be unstable.


Metrics that reveal threshold quality

1) Cancel Regret (CR)

Cost of canceling orders that would have filled with acceptable markout.

[ CR = E\left[ C_{cancel} - C_{keep} \mid \text{action}=cancel,; \text{counterfactual keep is good} \right] ]

2) Keep Regret (KR)

Cost of keeping orders that should have been canceled.

[ KR = E\left[ C_{keep} - C_{cancel} \mid \text{action}=keep,; \text{counterfactual cancel is good} \right] ]

3) Queue Option Value (QOV, bps)

[ QOV_t = E[C_{cancel}(t)] - E[C_{keep}(t)] ]

Interpretation:

4) Reset Tax Capture (RTC)

How much explicit queue-reset penalty is avoided by thresholding vs naive periodic cancel.

5) Threshold Stability Index (TSI)

Parameter drift score for trigger boundary across rolling windows; high TSI means overfit/noisy gating.


Modeling blueprint

Model two counterfactual branches at decision time (t):

Keep branch expected cost

[ E[C_K] = P(fill|X_t,\Delta)\cdot C_{fill} + (1-P(fill|X_t,\Delta))\cdot C_{miss} ]

Where:

Reset branch expected cost

[ E[C_R] = C_{reset} + P(fill|X_t^{reset},\Delta)\cdot C_{fill}^{reset} + (1-P(fill|X_t^{reset},\Delta))\cdot C_{miss}^{reset} ]

(C_{reset}) includes queue-age loss + cancel/replace latency dead-time.

Decision rule

[ QOV_t = E[C_R]-E[C_K] ]

Use asymmetric thresholds because false-cancel and false-keep tails are not symmetric.


Practical estimator stack

  1. Fill hazard model (survival / competing risks) for P(fill|state, horizon).
  2. Markout model for toxicity conditional on fill.
  3. Miss-penalty model for unfilled-to-chase cost given remaining parent and TTL.
  4. Reset-tax model from observed cancel/replace latencies and queue-reset penalties.
  5. Meta-gate (lightweight classifier) to detect unstable states where model confidence is low and switch to conservative policy.

A simple and robust first implementation:


Control policies that work in production

1) Hysteresis band

Do not trigger cancel/keep flips on tiny QOV changes. Use no-trade band around zero.

2) Minimum dwell guard

After post/reprice, enforce minimum dwell except hard-risk states.

3) Deadline-aware aggression ladder

As time_to_deadline shrinks, increase effective reset bias only when miss penalty dominates.

4) Venue-specific reset tax

Estimate C_reset per venue-session pair. One global reset tax over-cancels in slow-ack venues.

5) Confidence-aware fallback

If model confidence or feature freshness is poor, revert to deterministic safe policy.


Calibration workflow

  1. Build event-time panel with synchronized clocks.
  2. Reconstruct counterfactual keep/reset outcomes using replay and matched-state sampling.
  3. Fit branch costs and QOV estimate.
  4. Sweep (\theta_{keep}, \theta_{reset}) for CR/KR frontier.
  5. Pick operating point minimizing p95 slippage under completion constraints.
  6. Shadow-run live, then canary by symbol liquidity tiers.

Promotion gates (example)

Promote only if all hold over canary window:

Rollback if any two persist for two sessions:


Common mistakes

  1. Using fixed timeout as cancel policy.
    Timeout ignores queue state and urgency interaction.

  2. Modeling fill without conditional toxicity.
    A fill is not always good; toxic fills can dominate maker edge.

  3. Ignoring cancel/ack dead time.
    During reset dead time, your exposure is unmanaged.

  4. Single threshold for all symbols and sessions.
    Queue economics differ drastically by liquidity regime and venue microstructure.

  5. No hysteresis.
    Leads to oscillation and self-inflicted queue churn.


Implementation checklist


Bottom line

A passive quote is an option, not dead inventory.
Slippage control improves when cancel decisions are triggered by queue option value decay, not by static timers.

Model keep-vs-reset as a counterfactual cost comparison, enforce hysteresis, and you’ll reduce churn-driven slippage while preserving completion reliability.