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:
- quiet window: schedule looks “behind,”
- controller increases urgency to catch clock target,
- liquidity arrives right after (or just left),
- we either cross expensively into drought or miss cheap burst fills,
- 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]).
Clock-time cumulative target: [ q^*_{clk}(t)=Q,F_{clk}(t),\quad F_{clk}(0)=0,\ F_{clk}(T)=1 ]
Cumulative market activity process (e.g., traded volume): [ M(t)=\int_0^t v(u),du ]
Define normalized event time: [ \tau(t)=\frac{M(t)}{M(T)}\in[0,1] ]
- Event-time target: [ q^*_{evt}(t)=Q,F_{evt}(\tau(t)) ]
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 ]
- (D_{clk}(t)=q^*_{clk}(t)-x(t)): deficit under wall-clock target
- (D_{evt}(t)=q^*_{evt}(t)-x(t)): deficit under event-time target
- (\phi(\cdot)): liquidity fragility amplifier (wide spreads, shallow refill, high fade rate)
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
Boundary synchronization
Many controllers rebalance at the same minute boundaries -> local crowding and queue-reset churn.Drought panic
Low-activity windows look like “underfill failure,” but crossing there is often the worst expected-cost branch.Burst under-harvesting
When activity spikes, passive caps or stale urgency limits can leave cheap fill on the table, forcing later expensive completion.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
- Clock-Event Drift (CED): (\Delta_{ce}/Q)
- Burst Arrival Ratio (BAR): realized short-window volume / expected short-window volume
- Drought Exposure Index (DEI): fraction of aggressive fills executed in low-activity quantiles
- Burst Harvest Ratio (BHR): fills captured during high-activity windows / total fills
- Mismatch Cost Share (MCS): estimated (C_{mismatch}/IS)
Good systems reduce DEI and MCS while keeping completion reliability stable.
7) State machine (practical)
- SYNCED: (|\Delta_{ce}|) small, normal liquidity -> standard schedule tracking
- BURST_CAPTURE: BAR high -> loosen passive caps, prioritize queue presence, controlled aggression allowed
- DROUGHT_PROTECT: BAR low + fragility high -> throttle crossing, preserve optionality
- DEADLINE_SAFE: close to horizon with residual risk -> completion first, but with anti-burst caps/hysteresis
Transition guards should include level + slope + persistence (avoid one-tick flapping).
8) Calibration recipe
Offline
- Reconstruct parent-order trajectories with both clocks (clock vs event).
- Estimate branch costs by regime (join/improve/take under burst vs drought).
- Fit tail models for q90/q95 conditional on CED, BAR, and fragility.
- Backtest dual-clock controller vs pure wall-clock baseline.
Online
- Recompute (\tau(t)) and BAR in rolling windows.
- Adapt urgency bounds when CED diverges.
- Enable conservative fallback if toxicity proxies or reject/ACK lag destabilize.
9) Monitoring & guardrails
Track live:
- q95 IS by CED decile,
- DEI and BHR trend,
- completion miss rate,
- aggressive-share drift during drought windows,
- reject ratio and ACK-latency during BURST_CAPTURE.
Guardrails:
- hard cap for drought-window crossing,
- max urgency slope per minute,
- emergency completion template with bounded participation,
- rollback trigger if q95 worsens despite improved mean.
10) Implementation checklist
- Dual-clock deficits (D_{clk}, D_{evt}) computed and logged per decision step
- Event-time process (\tau(t)) available in real time
- CED/BAR/DEI/BHR metrics wired to dashboard + alerts
- State machine includes BURST_CAPTURE and DROUGHT_PROTECT branches
- Deadline-safe fallback profile preconfigured
- Canary rollout with q95 + completion dual-key promotion gates
11) References
- Bertsimas, D., Lo, A. W. (1998), Optimal control of execution costs, Journal of Financial Markets.
https://doi.org/10.1016/S1386-4181(97)00012-8 - Almgren, R., Chriss, N. (2000), Optimal Execution of Portfolio Transactions.
https://www.smallake.kr/wp-content/uploads/2016/03/optliq.pdf - Clark, P. K. (1973), A subordinated stochastic process model with finite variance for speculative prices, Econometrica.
https://doi.org/10.2307/1913889 - Ané, T., Geman, H. (2000), Order flow, transaction clock, and normality of asset returns, Journal of Finance.
https://doi.org/10.1111/0022-1082.00287 - Easley, D., López de Prado, M., O’Hara, M. (2012), Flow toxicity and liquidity in a high-frequency world, Review of Financial Studies.
https://doi.org/10.1093/rfs/hhs053
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.