Skip to main content

Volume Shock Index

Quick Reference

PropertyValue
Dimensionsignal
Categoryorder_flow
Versionv0.9.0 (Beta)
Output Columnvolume_shock

Volume shock index: volume / rolling_mean_volume - deviation of current volume from expected baseline

Formula

volume / rolling_mean(volume, window)

CDM Inputs

ColumnCDM TableDescription
volumecdm_*CDM source table

Parameters

ParameterTypeDefaultDescription
windowinteger [2, 1000]100Window size for rolling mean volume calculation

Output

Column: volume_shock

Ratio of current volume to its rolling mean baseline

Market Intuition & Trading Rationale

Volume shock index measures how unusual current volume is: volume / rolling_mean(volume, window). A value of 1.0 means volume is exactly at its average level. A value of 3.0 means 3× normal volume — something unusual is happening. A value of 0.2 means volume is 80% below normal — the market is quiet.

This self-calibrating volume measure works across all instruments and time periods. A 10,000-share trade is normal for Apple but a shock for a small-cap. The rolling mean baseline adapts to each instrument's typical volume and to intraday patterns (high at open/close, low midday). The window parameter controls adaptation speed — shorter windows make the index more sensitive to recent changes; longer windows provide a more stable baseline.

Usage Cases

  • Breakout confirmation: volume_shock_index > 2.0 during a price breakout = high conviction (the move has participation). volume_shock_index < 1.0 during a breakout = low conviction (the move is on thin volume, likely to reverse).
  • Earnings/news event detection: A sustained spike above 3.0 signals a significant market event. The magnitude and duration of the shock indicate event importance. Pair with trade_sign or signed_volume to determine the directional impact.
  • Execution timing: Avoid executing during volume shocks (> 3.0) — spreads are typically wider and impact is higher. Execute during normal volume (0.7–1.5) for best execution quality.

YAML Definition

name: volume_shock_index
description: 'Volume shock index: volume / rolling_mean_volume - deviation of current
volume from expected baseline'
category: order_flow
version: v0.9.0 (Beta)
dimension: signal
status: Pre-release
required_inputs:
- volume
output_column: volume_shock
output_description: Ratio of current volume to its rolling mean baseline
parameters:
window:
type: integer
description: Window size for rolling mean volume calculation
required: false
default: 100
constraints:
min: 2
max: 1000
formula: volume / rolling_mean(volume, window)