Reopening-Auction Collar-Expansion Loop Slippage Playbook

2026-04-09 · finance

Reopening-Auction Collar-Expansion Loop Slippage Playbook

Date: 2026-04-09
Category: research
Scope: Modeling the slippage tax that appears when a halt / LULD / reopen auction does not resume on the first expected reopening attempt, but instead enters repeated collar-widening / quote-only extension loops

Why this matters

A lot of execution systems still treat post-halt reopening as if it were a single deterministic timestamp:

“the stock should reopen in about five minutes.”

That shortcut is dangerous.

Public venue materials make clear that a trading pause or halt often does not end at one fixed reopening instant:

The practical lesson is simple:

the reopen horizon is not a timestamp; it is a stochastic process with extension risk.

And that extension risk creates a distinct slippage regime:

If the model still credits halted inventory as if it will become actionable on the first expected reopen, it will systematically underprice catch-up cost.


Failure mode in one line

The controller assumes the security will reopen on the first scheduled auction attempt, over-credits the halted child’s near-term completion value, then repeated collar-expansion loops delay the reopen, compress the remaining execution window, and force a later, more expensive catch-up.


The key distinction: paused inventory vs soon-actionable inventory

A child order parked in a halt / reopen regime is not just “working” or “not working.”

Separate these concepts:

  1. Administrative persistence
    The order is still acknowledged / alive in the venue or OMS.

  2. Reopen participation eligibility
    The order can still participate in the eventual reopening mechanism.

  3. Near-term actionability
    The order is likely to convert into actual executable opportunity within the next expected interval.

  4. Schedule usefulness
    Even if the order eventually participates, it may no longer be useful for the parent’s deadline, benchmark, or hedge timing.

Most controller mistakes come from confusing (1) or (2) with (3) and (4).

A child can remain administratively alive and reopen-eligible while losing most of its near-term usefulness because the auction has entered an extension loop.


What the collar-expansion loop does economically

The main economic effect is not just “longer wait.” It is time-value destruction of parked liquidity.

Each additional quote-only / extension window changes the optimization problem:

So the halted child should not be valued as face quantity. It should be valued as:

That last term is what many slippage stacks miss.


Market-structure facts that matter operationally

1) Reopen timing is path-dependent, not fixed

The venue does not merely say “five minutes later, done.” A five-minute window is often only the first attempt. If the indicative auction price or pair-off conditions remain outside effective collars, the process can extend again.

2) Collar widening is not neutral

A wider collar is not just more flexibility. It also means:

So each extension changes both when the order may execute and how bad the execution can be.

3) Time-to-deadline convexity grows during extensions

If the parent still needs completion by:

then every extra extension window makes the residual cost curve steeper.

4) “Still in the auction” can hide worsening optionality

A lot of OMS / EMS logic treats auction participation as comforting coverage:

“we’re still in the reopen.”

But what matters is whether that participation remains useful relative to the shrinking schedule. A parked child can be technically alive while economically stale.

5) Near-close halts can regime-switch into close mechanics

Public Cboe materials note that if a halt auction has not occurred by 3:50 p.m., trading may be deferred until 4:00 p.m. and combined with the closing auction. That means reopen-delay risk can suddenly become close-auction contamination risk.

6) The true cost often shows up as residual surprise

The most expensive branch is not always an obvious reject. It is often:


Mechanical path to slippage

Step 1) The strategy parks inventory expecting a prompt reopen

The controller assumes the halt auction will resolve on the first expected reopen cycle.

Step 2) The initial quote-only / display-only window ends without a valid reopen

The indicative / executable auction price remains outside active collars, or auction conditions remain unfit for reopening.

Step 3) The venue extends the process and widens collars

Now the reopen horizon is later and more uncertain. The order may still be alive, but its near-term usefulness is lower.

Step 4) The OMS keeps over-crediting the halted child

Residual logic still thinks some quantity is effectively “covered soon.” So urgency remains too low.

Step 5) Additional extension loops compress the schedule

Backup paths get worse:

Step 6) The strategy pays one of three bills

A) Delayed-reopen catch-up loss

The reopen happens, but too late for the original pacing plan. Residual completion afterward is more expensive.

B) Reopen-price shock loss

The reopen finally prints, but collar expansion allows a materially worse price than the controller assumed when it decided to wait.

C) Regime-switch spillover loss

The reopen does not occur in the expected event regime at all; the logic spills into close / post-close / hedge-afterward behavior and pays an even larger slippage bill.


The modeling upgrade

Treat halted auction inventory as probability-weighted, horizon-aware credited quantity.

For each halted child order (i), define:

Then credited working quantity should not be binary. A practical approximation is:

[ Q^{credited}_t = \sum_i q_i \cdot Pr(E_i = 1, \tau_i \le D \mid \mathcal{F}_t) \cdot \eta_i(t) ]

where (\eta_i(t) \in [0,1]) discounts quality based on expected reopen conditions.

Then effective residual becomes:

[ R^{effective}t = Q^{parent}{remaining,t} - Q^{credited}_t ]

This is the key change. Many stacks implicitly use:

[ Q^{credited}_t = \sum_i q_i \cdot \mathbf{1}[E_i = 1] ]

which is exactly how collar-extension risk gets underpriced.


Reopen Horizon Compression Premium (RHCP)

Add an explicit premium to the shortfall model:

[ IS = Spread + Impact + Delay + Fees + MissCost + RHCP ]

with

[ RHCP_t = \mathbb{E}[C^{compression}(\tau) + C^{reopenShock}(\tau) + C^{regimeSwitch}(\tau) \mid \mathcal{F}_t] ]

Interpretation:

This is not generic delay cost. It is specifically the premium for believing a halt will resolve in one window when it can actually iterate through multiple widening loops.


The observability stack

1) Extension Count Depth (ECD)

How many extension / widening intervals have already occurred?

[ ECD_t = \text{number of completed extension windows since initial reopen attempt} ]

ECD is the easiest sanity metric. If the model still treats ECD=3 the same as ECD=0, it is broken.

2) Collar Ladder Distance (CLD)

How far is the current indicative / executable auction price from the original reference and from the current active collar center?

Use a pair of normalized distances:

This captures whether the reopen is drifting farther from the original economic anchor.

3) Next-Window Reopen Probability (NWRP)

Probability that the symbol actually reopens in the next extension interval.

This should be estimated from:

4) Residual Window Burden (RWB)

How much parent quantity would still remain if the reopen occurs only after one more extension?

[ RWB_{t,+1} = \frac{Q^{parent}{remaining, t}}{\max(\epsilon, D - (t + \Delta{next}))} ]

where (\Delta_{next}) is the next likely extension chunk. This converts extension risk into schedule stress.

5) Close Spillover Risk (CSR)

Probability that the unresolved halt migrates into close / contingency-close logic rather than a normal reopen path.

This matters much more late in the session.

6) Hedge Misalignment Cost (HMC)

Expected cost of delayed hedge synchronization if the underlying or paired venue resumes later than assumed.

This is crucial for:


A practical state machine

Use a state machine instead of one generic “halted” bucket.

1) HALT_INITIAL_WINDOW

2) HALT_EXTENSION_LOOP

3) HALT_LATE_SESSION_RISK

4) REOPEN_IMMINENT

5) SAFE_CATCHUP

6) REGIME_SWITCHED


Control rules that actually help

1) Stop crediting halted quantity at face value after the first failed reopen

The first extension should trigger an immediate discount to credited working quantity. Not to zero necessarily, but definitely not to 100%.

2) Tie urgency to expected reopen horizon, not clock time alone

Urgency should increase when:

even if the wall clock has not moved very far.

3) Maintain a backup execution branch before it feels comfortable

Do not wait until the third extension to ask what the fallback is. The fallback branch should be precomputed:

4) Separate reopen participation alpha from completion obligation

Sometimes the reopen is still attractive as a tactical opportunity. That is a different question from whether the parent should rely on it for mandatory completion. Do not let one decision hide the other.

5) Add time-of-day penalties

A one-window extension at 10:00 a.m. is not the same as a one-window extension at 3:46 p.m. Late-session extension loops should carry a much larger schedule-compression premium.

6) Trigger explicit review when CSR crosses threshold

If close-spillover probability crosses a threshold, switch the strategy from “reopen expected” to “event-regime uncertain.” That should change both routing and benchmark expectations.


Backtest / replay design

If you want to study this regime properly, your replay needs more than trade prints. You need, as available:

Then compare two controllers:

Naive controller

Horizon-aware controller

Measure:


Common modeling mistakes

Mistake 1) Using one constant “halt delay” feature

A single average halt duration is not enough. What matters is the conditional hazard of reopening after each extension stage.

Mistake 2) Treating extension as pure time delay

Extension also changes:

Mistake 3) Ignoring event-regime transitions

Near the close, a delayed reopen can turn into a close-contingency problem. That is not just more delay; it is a different market-structure problem.

Mistake 4) Learning from finalized fill logs only

If your labels only reflect realized reopen executions, you under-observe the paths where operators intervened early, rerouted, hedged differently, or intentionally stopped waiting. That creates survivorship bias in the reopen branch.

Mistake 5) Using “order alive” as a sufficient OMS feature

For this regime, alive is a weak feature. You need horizon-aware usefulness metrics.


A compact production checklist

Before trusting halted auction inventory, ask:

  1. Has the first reopen window already failed?
  2. How many extension loops have occurred?
  3. What is the probability of reopen in the next interval?
  4. How far has the indicative / expected reopen price drifted from the original reference?
  5. What is the parent’s true deadline, not just the market clock?
  6. What is the cost if this spills into close or post-close logic?
  7. Are we still optimizing for best reopen participation, or should we optimize for guaranteed completion now?

If the system cannot answer those seven questions, it is probably underpricing this slippage regime.


Bottom line

A reopen auction caught in collar-expansion loops is not just a delayed execution. It is a schedule-compression and regime-switch risk process.

The main bug is simple:

the controller keeps valuing halted inventory as if “alive” means “soon useful.”

In production, the fix is also simple in concept:

That one change will usually make residual logic, urgency control, and fallback routing materially more honest.


References