Decision-to-Arrival Drift & Opportunity-Cost Implementation-Shortfall Playbook

2026-03-15 · finance

Decision-to-Arrival Drift & Opportunity-Cost Implementation-Shortfall Playbook

Date: 2026-03-15
Category: research
Focus: Separating execution slippage into delay, trading, and unfilled opportunity costs so desks can control the decision-to-arrival leak explicitly.


1) Why this failure mode matters

Many desks optimize child-order execution quality after order arrival, but ignore what happens before the order reaches the execution engine.

That blind spot creates a recurring leak:

signal fires -> PM decides -> ticket waits (approval/risk/routing) -> order arrives -> execution

If price drifts during the waiting interval, the desk often blames “market impact,” even though a meaningful part was actually decision-to-arrival delay cost.

Without explicit decomposition, teams over-tune execution algorithms while under-fixing upstream latency, risk checks, and ticket batching behavior.


2) Cost decomposition (decision vs arrival vs execution)

Let:

A practical expanded decomposition (Perold/Wagner style) is:

[ IS = S(P_0-P_d) + (\sum s_j)(P_{avg}-P_0) + (S-\sum s_j)(P_n-P_0) + fees ]

Interpretation:

  1. Delay Cost (S(P_0-P_d)): cost before trading starts,
  2. Trade Cost ((\sum s_j)(P_{avg}-P_0)): cost from execution path,
  3. Opportunity Cost ((S-\sum s_j)(P_n-P_0)): cost of unfilled quantity.

This is the minimum decomposition needed for operational accountability.


3) Modeling framework for production

3.1 Stage A — Delay-drift model (decision -> arrival)

Model signed drift during delay window:

[ \Delta P_{delay} = P_0 - P_d ]

Condition on:

Use a probabilistic model (quantile GBM or Bayesian state-space) to estimate not just mean drift but tail delay risk.

3.2 Stage B — Execution model (arrival -> fills)

Condition trade cost on:

3.3 Stage C — Fill-completion model (unfilled tail)

Model fill probability and residual risk to estimate expected opportunity cost under horizon constraints.

3.4 Unified objective

Optimize expected total shortfall, not isolated execution slippage:

[ \min ; \mathbb{E}[Delay + Trade + Opportunity + Fees] ]

If delay dominates, the right fix is upstream process redesign—not faster sweeping.


4) Feature set that usually moves the needle

4.1 Decision-to-arrival latency features

4.2 Alpha-decay and urgency features

4.3 Execution-path features

4.4 Completion/opportunity features


5) Desk KPIs (simple, actionable)

5.1 DSR — Delay Share Ratio

[ DSR = \frac{Delay\ Cost}{IS - fees + \epsilon} ]

Shows how much shortfall came before trading began.

5.2 OSR — Opportunity Share Ratio

[ OSR = \frac{Opportunity\ Cost}{IS - fees + \epsilon} ]

Flags under-completion and too-patient scheduling.

5.3 D95 — p95 Decision-to-Arrival Latency

Track by strategy, symbol-liquidity bucket, and trader workflow.

5.4 CDA — Cost of Delay per second

[ CDA = \frac{Delay\ Cost}{decision_to_arrival_seconds + \epsilon} ]

Useful for SLA negotiation with risk/OMS/EMS owners.


6) Control policy (regime-based)

NORMAL

DELAY_CRITICAL

Trigger when expected delay cost exceeds threshold:

OPPORTUNITY_CRITICAL

Trigger when residual shares + time-left imply high unfilled risk:

MARKET_STRESS

When spread/depth regime deteriorates:


7) Data contract requirements (often missing)

You need immutable timestamps for each parent order:

  1. decision_ts
  2. ticket_created_ts
  3. risk_check_pass_ts
  4. route_ts
  5. arrival_ts
  6. child-order/fill timeline
  7. horizon_end_ts with end price snapshot

No reliable decision_ts -> no reliable delay attribution.


8) 30-day rollout plan

Week 1 — Measurement first

Week 2 — SLA + queue surgery

Week 3 — Policy activation

Week 4 — Scale and harden


9) Common anti-patterns


10) Bottom line

If you do not separate delay, trade, and opportunity costs, you cannot fix the true bottleneck.

For many real desks, the easiest slippage win is not smarter slicing—it is shrinking decision-to-arrival latency and governing completion risk with explicit decomposition-aware controls.