Volume Shock Index
Quick Reference
| Property | Value |
|---|---|
| Dimension | signal |
| Category | order_flow |
| Version | v0.9.0 (Beta) |
| Output Column | volume_shock |
Volume shock index: volume / rolling_mean_volume - deviation of current volume from expected baseline
Formula
volume / rolling_mean(volume, window)
CDM Inputs
| Column | CDM Table | Description |
|---|---|---|
volume | cdm_* | CDM source table |
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
window | integer [2, 1000] | 100 | Window 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_signorsigned_volumeto 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)