Event-Time Liquidity Clock Slippage Playbook

2026-03-12 · finance

Event-Time Liquidity Clock Slippage Playbook

Date: 2026-03-12
Category: research
Scope: Intraday execution where wall-clock schedules (e.g., 1-min/5-min buckets) misalign with bursty liquidity arrival


1) Why this topic matters

Most execution schedules are built in clock time (09:30, 09:35, ...), but markets deliver tradable liquidity in event time (bursts and droughts).

When liquidity arrival is lumpy, clock-time control causes a recurring failure mode:

  1. quiet window: schedule looks “behind,”
  2. controller increases urgency to catch clock target,
  3. liquidity arrives right after (or just left),
  4. we either cross expensively into drought or miss cheap burst fills,
  5. q95 slippage rises even if average participation looks fine.

The core issue is not just “bad forecast,” but using the wrong clock for control.


2) Core framing: two clocks, one parent order

Let parent size be (Q), horizon ([0,T]).

Define normalized event time: [ \tau(t)=\frac{M(t)}{M(T)}\in[0,1] ]

If liquidity clusters, (\tau(t)) can move much faster/slower than wall clock. Execution should react to (\tau)-progress, not only (t)-progress.


3) Slippage decomposition with clock mismatch term

A practical decomposition: [ IS = C_{impact}+C_{spread}+C_{delay}+C_{opp}+C_{mismatch} ]

Where mismatch term captures using the wrong control clock: [ C_{mismatch} \propto \int_0^T \left|D_{clk}(t)-D_{evt}(t)\right|\cdot \phi(\text{liq fragility}_t),dt ]

Intuition: the more clock-time and event-time disagree during fragile liquidity, the more expensive catch-up becomes.


4) What usually goes wrong in production

  1. Boundary synchronization
    Many controllers rebalance at the same minute boundaries -> local crowding and queue-reset churn.

  2. Drought panic
    Low-activity windows look like “underfill failure,” but crossing there is often the worst expected-cost branch.

  3. Burst under-harvesting
    When activity spikes, passive caps or stale urgency limits can leave cheap fill on the table, forcing later expensive completion.

  4. Single-clock KPI governance
    Teams monitor schedule deficit only in wall clock, so “on schedule” can hide event-time underparticipation.


5) Minimal controller objective

At each decision step, choose action (a_t\in{join,improve,take,pause}): [ \min_\pi\ \mathbb{E}[IS\mid s_t,\pi] + \lambda,CVaR_{95}(IS) + \eta,\mathbb{E}[R_T^2] ]

with state [ s_t = {D_{clk},D_{evt},\Delta_{ce},\text{spread},\text{depth},\text{refill},\text{toxicity},\text{time-to-close}} ]

and [ \Delta_{ce}(t)=D_{clk}(t)-D_{evt}(t) ]

Large (|\Delta_{ce}|) means schedule truth is ambiguous; controller should down-weight clock-time urgency and use liquidity-conditional actions.


6) Event-time features that actually help

Good systems reduce DEI and MCS while keeping completion reliability stable.


7) State machine (practical)

Transition guards should include level + slope + persistence (avoid one-tick flapping).


8) Calibration recipe

Offline

  1. Reconstruct parent-order trajectories with both clocks (clock vs event).
  2. Estimate branch costs by regime (join/improve/take under burst vs drought).
  3. Fit tail models for q90/q95 conditional on CED, BAR, and fragility.
  4. Backtest dual-clock controller vs pure wall-clock baseline.

Online


9) Monitoring & guardrails

Track live:

Guardrails:


10) Implementation checklist


11) References


One-line takeaway

If liquidity arrives in bursts, a wall-clock schedule alone is a control bug: run execution on a dual clock (time + activity), or you’ll keep paying drought panic and burst-miss slippage tax.