Skip to main content
Education
Contents
8 min read

Gaps and session transitions

A gap measures a transition between reference sessions; the strategy comes from how price behaves after the transition.

A gap is a measured change between two session references

A market gap is the difference between a new session’s opening reference and a reference from the previous session, usually the close or official settlement. If yesterday closed at 100 and today’s first eligible opening price is 103, the close-to-open gap is +3%.

That definition is more important than the empty space drawn on a chart. Futures trade across multiple sessions, equities have pre-market activity, and some instruments use an official auction or settlement that differs from the last visible trade. A strategy must state which sessions and prices it compares.

A gap is not a debt that price must repay. “Gaps always fill” confuses an event with one possible later path. Gap strategies usually test one of three ideas:

  • continuation in the direction of the gap;
  • partial or complete reversion toward the prior reference; or
  • conditional behavior based on gap size and the earlier market state.

Each requires its own entry, target, horizon, and invalidation.

What can create a gap

News and repricing can occur while the primary venue is closed. Earnings, economic releases, global market moves, financing changes, and order imbalances can all move the next available price. Information, inventory, and the trading process can therefore contribute to an opening-price change before any gap rule is considered.

Some gaps represent durable new information. Others reflect thin overnight liquidity or opening inventory pressure that becomes easier to absorb once the main session is active. The strategy cannot know which type it saw from the gap alone. Context may help, but that context must be available before the later path reveals the answer.

Make gaps comparable

Raw point distance is rarely enough. A three-point gap is large for a twenty-dollar instrument and small for a high-priced index. Common scales are:

  • percentage of the prior close;
  • units of recent average true range;
  • units of recent close-to-open dispersion; and
  • percentile within the asset’s earlier gap distribution.

Normalization should use only prior information. A gap cannot be divided by the volatility of the session that has not happened yet.

The decisions inside a gap rule

DecisionExamplesWhy it matters
Prior referenceLast trade, official close, settlementChanges the measured gap
New referenceAuction open, first regular-session trade, bar openChanges what was executable
AdjustmentRaw, split-adjusted, or contract-adjusted pricesPrevents artificial gaps
Directional thesisContinue, partial fill, full fillDefines the trade
EntryOpening auction, first completed bar, later confirmationChanges price and information set
TargetFixed fraction, prior close, session VWAPDefines “fill”
HorizonOpening interval, full session, multiple sessionsDetermines success and capital use
InvalidationFurther extension, timeout, structural eventLimits information-driven tails

A gap-reversion example

Illustrative example. Assume yesterday’s verified regular-session close was 100. Today’s first eligible primary-session price is 103, a +3% gap. Recent 20-day average true range is 2, so the gap is 1.5 ATR.

An illustrative reversion rule declares:

  1. Only positive gaps between 1 and 2 ATR are eligible.
  2. Wait for the first 15-minute bar to complete.
  3. Enter short at the next event only if price closes below that first bar’s midpoint.
  4. Target 101.50, half of the original gap, and exit at the session close if the target is not reached.
  5. Invalidate above a threshold defined before the test.

If the opening print is 103 but the first executable strategy fill is 102.60, that is the entry. If price reaches the prior close two days later, it is not a successful fill for a same-session strategy.

A continuation version would trade in the opposite direction and needs a different rationale and exit. Reporting whichever version worked for each gap would be hindsight.

Design the experiment before labeling gaps

Begin descriptively. Group gaps by direction and predeclared normalized-size buckets. For each bucket, show the distribution of:

  • return after the first tradable event;
  • maximum continuation and retracement;
  • time to partial and full fill;
  • no-fill frequency within the declared horizon;
  • opening spread and estimated slippage; and
  • behavior around scheduled versus unscheduled information.

Then test continuation and reversion as separate strategies. Use the same calendar, scaling method, exposure, and costs. Preserve every eligible gap, including those that never retrace.

For equities, reconstruct corporate actions and point-in-time membership. For futures, distinguish genuine market movement from continuous-contract roll adjustments.

How gap research goes wrong

A common sample selects only gaps that later filled and then studies how they filled. That removes the very failures needed to estimate the strategy. Another credits an entry at the official open even though the rule needs the first bar’s completed information.

Results should weaken gracefully as timing becomes more realistic. If all edge vanishes when the entry is delayed to a knowable event, the strategy was trading the observation used to define it.

Important failure modes

  • Stock splits and adjustment errors create artificial equity gaps.
  • Futures roll construction creates non-tradable jumps.
  • Official auction prices may not be available to the modeled order.
  • Large information gaps can continue and dominate many small reversion gains.
  • Timezone and holiday errors compare the wrong sessions.
  • A fitted size bucket can turn ordinary sampling variation into a story.

Try it in Arizmic

Strategy composition

Build the premise with shipped signals

Measure the opening gap relative to the prior session, then choose continuation or fade only after adding session location, participation, and a causal decision rule. The gap is context; the strategy comes from what happens after trading resumes.

These are starting structures, not presets or evidence of an edge. Choose one, replace the bracketed decisions, and keep the signal roles separate as you test it.

Composition 01

Gap continuation beyond prior-session structure

Continuation recipe
  • Overnight GapGap measurement
  • Prior Session High/Low/CloseStructural reference
  • Wilder ATRGap and risk scale

Data: OHLCV Bars

View configuration and complete rule

Overnight Gap

Gap measurement

Overnight Gap reports both raw and percentage displacement between sessions.

Configure

No configurable parameter is required for this role.

Use the output

gap_pct
Require gap percentage beyond [directional threshold].
gap
Retain raw price distance for risk and tick-scale interpretation.

Prior Session High/Low/Close

Structural reference

Prior Session High/Low/Close identifies whether the open is outside the prior range or merely away from the close.

Configure

No configurable parameter is required for this role.

Use the output

prior_high
For long continuation, require the decision price to hold above the prior high under [rule].
prior_low
For short continuation, require the decision price to hold below the prior low under [rule].
prior_close
Use as the fixed gap origin and one failure reference.

Wilder ATR

Gap and risk scale

ATR places the gap and protection distance in a recent movement context.

Configure

window · [ATR window]
Estimate movement from prior completed bars.

Use the output

atr
Require gap size within [ATR range] and set [ATR multiple] risk distance.

Assemble the rule

Entry
After the first declared decision interval, enter continuation only if the gap remains beyond the relevant prior-session level.
Exit
Exit on re-entry into the prior range, gap-fill threshold, ATR protection, target, or session cutoff.
Decision time
The opening print defines the gap, but entry waits for [first completed bar or other declared confirmation].
Sizing
Use ATR-scaled risk and a gap-through exposure cap.

Useful variations

  • Compare gaps outside the prior range with gaps that remain inside it.
  • Vary the post-open confirmation interval without scoring from the opening price.
  • Partition by gap size in ATR units rather than raw points alone.

Keep in view

Large gaps can pass through intended orders and stops before the strategy’s first executable decision. Bar-only assumptions need explicit gap and fill treatment.

Composition 02

Gap fade toward session VWAP

Fade recipe
  • Overnight GapInitial displacement
  • Session VWAP DistanceIntraday reversion state
  • Relative VolumeParticipation state
  • Time WindowSession cutoff

Data: OHLCV Bars, Instrument Context

View configuration and complete rule

Overnight Gap

Initial displacement

Overnight Gap supplies the direction and size of the session discontinuity.

Configure

No configurable parameter is required for this role.

Use the output

gap_pct
Create a fade candidate beyond [minimum gap percentage].

Session VWAP Distance

Intraday reversion state

Session VWAP Distance measures whether early trading remains stretched from the developing volume-weighted anchor.

Configure

zscore_window · [distance history]
Set the history used to standardize session distance.

Use the output

zscore
Enter only after distance reaches [extreme] and then [stabilizes/reverses under declared rule].
distance
Retain raw distance for execution and fixed-risk interpretation.

Relative Volume

Participation state

Relative Volume separates a thin drift from an active repricing that may be dangerous to fade.

Configure

window · [volume baseline]
Define ordinary activity for the selected bar interval.

Use the output

relative_volume
Apply [eligible range or block above threshold] as declared.

Time Window

Session cutoff

Time Window makes the eligible entry and forced-exit period explicit.

Configure

start_minute · [earliest entry minute]
Prevent entry before the chosen opening information is available.
end_minute · [latest entry/exit minute]
Bound exposure to the intended session segment.

Use the output

in_window
Permit new entries only while true.
exit_window
Force the declared session-time exit when true.

Assemble the rule

Entry
Inside the eligible time window, fade only after a qualifying gap and a completed VWAP-distance reversal under the participation policy.
Exit
Exit at [live VWAP/partial gap fill/fixed target], invalidation beyond [level], or the time-window cutoff.
Decision time
The VWAP anchor develops after the open; store the actual decision-bar gap and VWAP values.
Sizing
Use [fixed risk or separate ATR input] with a hard intraday loss cap.

Useful variations

  • Compare direct fade with reversal-confirmed fade.
  • Use live VWAP exit versus fixed percentage gap-fill target.
  • Treat high Relative Volume as exclusion versus a separate event class.

Keep in view

A developing session VWAP can move toward price even when price does not meaningfully revert. Distinguish anchor movement from actual gap closure.

Ask the AI Companion

Draft this strategy

Strategy draft

Turn a session gap idea into a simple draft and explain the difference between continuation and reversion choices.

I want to create a gap strategy for [instrument and session] that detects meaningful differences between the new session’s opening price and the prior session’s reference. Recommend how a significant gap should be measured, which timeframe I should begin with, and whether following or fading the gap is the more sensible starting approach for this instrument. Then build the strategy for me and explain what behavior after the open should support the chosen direction before it acts.

Extend it in Marimo

Study review

Begin from a retained session Study so the calendar, opening print, and post-open decision remain traceable.

Separate gap size, prior-session location, post-open behavior, and anchor movement.

Bring in
engine-reported gap, prior levels, VWAP distance, volume, time-window, ATR, decisions, and fills, session calendar, timezone, and gap origin, retained candidates, costs, and exits
Build
prior-close-to-open and post-open path chart, gap continuation/fill curves aligned from the actual decision time, outcome table by prior-range location, ATR-scaled gap, participation, and entry delay

Interpretation: A strategy should not inherit the overnight move as trade profit. Judge only the path available after its declared post-open decision.

Value origin: Session, signal, decision, fill, and retained result values are engine-reported. Gap classes, matched post-open paths, and custom anchor-movement decompositions are notebook-derived.

With Companion: Ask Companion to draft reviewed gap-classification cells, inspect session alignment, then explicitly apply the diff.

Further reading