Skip to main content

Opening Volume Shock

Quick Reference

PropertyValue
Dimensionsignal
Categoryvolume
Versionv1.0
Output Columnopening_volume_shock

Cumulative volume during opening range vs. rolling average of same-period volume

Formula

trade_price

CDM Inputs

ColumnCDM TableDescription
trade_sizecdm_trade_enrichedTrade data enriched with bar context — price, volume, side, trade type

Parameters

ParameterTypeDefaultDescription
open_timestring09:30Market open time (HH:MM)
range_minutesinteger [1, 120]15Opening range duration in minutes

Output

Column: opening_volume_shock

Opening range volume relative to historical baseline

Market Intuition & Trading Rationale

Opening volume shock measures the cumulative volume traded during the opening range relative to the historical baseline for that same time window on prior days. It captures whether the opening session is experiencing abnormally high or low participation compared to its recent history. The feature acts as a volume-normalized attention metric for the critical opening period.

Volume at the open is systematically elevated — overnight orders, institutional schedule-driven trades, and retail participation all concentrate at the market open. But the magnitude of this elevation varies dramatically day to day. An opening volume shock of 1.5 means volume is 50% above the typical opening range volume, signaling unusual participation that often accompanies significant news events, index rebalances, or macroeconomic releases scheduled around the open.

When opening volume shock is extremely high (>2.0), it indicates a major information event. The direction of the breakout (captured by comparing opening_range_high and opening_range_low) combined with the volume shock magnitude gives a powerful read on the conviction behind the opening move. High-volume breakouts from the opening range tend to continue in the same direction for the remainder of the session — a phenomenon known as "opening range momentum."

Conversely, an opening volume shock below 0.5 (volume far below normal) suggests participant apathy — no major news, no concentrated order flow. Sessions with low opening volume shock tend to be range-bound and driven by algorithm-to-algorithm interaction rather than fundamental information. These are poor environments for directional breakout strategies but good environments for mean-reversion and market-making strategies.

Usage Cases

  • Breakout conviction filter: An opening_range_high breakout with opening_volume_shock > 1.5 is a high-conviction directional signal. Below 1.0, the breakout is suspect — consider fading it or waiting for volume confirmation.
  • Event detection: opening_volume_shock > 3.0 signals a major market event at the open. Check for scheduled news (earnings, economic data) or investigate for breaking news before committing capital.
  • Session type classification: Classify sessions as "high volume" (shock > 1.5), "normal volume" (0.7–1.5), or "low volume" (< 0.7). Adjust strategy parameters accordingly — widen stops in high volume, tighten in low volume.

YAML Definition

name: opening_volume_shock
description: Cumulative volume during opening range vs. rolling average of same-period
volume
category: volume
version: v0.9.0 (Beta)
dimension: signal
required_inputs:
- cdm_trade_enriched.trade_size
output_column: opening_volume_shock
output_description: Opening range volume relative to historical baseline
tags:
- opening_range
- volume
- shock
- signal
parameters:
open_time:
type: string
description: Market open time (HH:MM)
required: false
default: 09:30
range_minutes:
type: integer
description: Opening range duration in minutes
required: false
default: 15
constraints:
min: 1
max: 120
formula: trade_price