Tick-Size Regime & Queue-Granularity Slippage Modeling Playbook

2026-03-02 · finance

Tick-Size Regime & Queue-Granularity Slippage Modeling Playbook

Date: 2026-03-02
Category: finance / execution research

Why this matters

Most slippage models treat spread/depth as continuous variables. Real matching engines are discrete.

When tick size is large relative to price/volatility:

So if your model ignores tick regime, you overestimate passive edge in large-tick names and underestimate queue-jump risk.


Core modeling idea

Add a tick-constrained microstructure layer on top of your baseline slippage model.

Let:

Define tick-constrainedness:

[ \kappa_t = \mathbb{1}(s_t^{(ticks)} \le 1) \cdot g(r_t, \sigma_t) ]

where (g) increases when relative tick is large and short-horizon volatility (\sigma_t) is low.

Interpretation:


Slippage decomposition with tick regime

Model expected shortfall for a child order as:

[ \mathbb{E}[IS_t] = C_{spread} + C_{impact} + C_{delay} + C_{adv} ]

Now make each term state-dependent on (\kappa_t):

  1. Spread term (C_{spread})
    For aggressive slices, crossing cost is bounded by discrete grid and fee/rebate details.

  2. Impact term (C_{impact})
    In high-(\kappa) states, impact elasticity rises faster with queue depletion/cancel bursts.

  3. Delay term (C_{delay})
    Passive waiting cost should use queue survival with time-priority loss risk.

  4. Adverse-selection term (C_{adv})
    One-tick markets often compress quoted spread but can hide toxic fill asymmetry; markout penalties should be upweighted when queue churn spikes.

Practical parametric form:

[ IS_t = \beta_0 + \beta_1 x_t + \beta_2 \kappa_t + \beta_3 (x_t \cdot \kappa_t) + \epsilon_t ]

where (x_t) includes participation, imbalance, queue position proxy, and latency features.


Feature set (minimum viable)

Per symbol/venue bucket (100ms–1s):

Derived signals:


Regime state machine

Use a simple 4-state controller:

Example actions:

Use hysteresis to avoid flapping.


Calibration plan

1) Offline panel fit

Fit symbol-day panel with interaction terms (features × (\kappa)).

2) Event-study around tick changes

When exchange/regulator changes tick bands, run before/after comparisons:

3) Counterfactual replay

Compare baseline policy vs tick-aware policy under identical tapes:


Production guardrails

Alert pack:


Common failure modes

  1. Mistaking narrow quoted spread for low cost
    In large-tick names, quoted spread can be “cheap-looking” while queue toxicity is expensive.

  2. Ignoring queue rank uncertainty
    Without rank uncertainty, passive fills are overestimated.

  3. No adaptation after tick-table updates
    Regime transitions can break previously calibrated parameters quickly.

  4. Overreacting with excessive cancels
    Queue defense can become self-inflicted toxicity if cancel policy is unconstrained.


Minimal implementation checklist


References


One-line takeaway

Tick size is not a cosmetic market-design parameter; it changes the slippage engine from a spread problem into a queue-priority problem, so execution models must be explicitly tick-regime aware.