Skip to main content

High Low Range Volatility

Quick Reference

PropertyValue
Dimensionsignal
Categoryvolatility
Versionv0.9.0 (Beta)
Output Columnhl_vol

High-low range volatility: (high - low) / mid_price - intraday price excursion magnitude

Formula

(high - low) / mid_price

CDM Inputs

ColumnCDM TableDescription
highcdm_*CDM source table
lowcdm_*CDM source table
mid_pricecdm_*CDM source table

Parameters

This FeatureType has no configurable parameters.

Output

Column: hl_vol

High-low price range normalized by mid price

Market Intuition & Trading Rationale

High-low range volatility measures intra-bar price excursion: (high - low) / mid_price. It captures the maximum price range within each bar, normalized by the mid-price for comparability across instruments. Unlike realized volatility (which uses close-to-close returns), range-based volatility uses the full OHLC information, making it more efficient — it captures intra-bar volatility that close-to-close returns miss.

This is the simplest range-based volatility estimator. Parkinson (1980) showed that the high-low range is a more efficient volatility estimator than close-to-close returns — it uses ~5× fewer observations to achieve the same precision. The normalization by mid_price removes scale effects, making the feature comparable across instruments and time periods.

Range-based estimators assume continuous price paths. In the presence of jumps (which are common in crypto and during news events), the range overestimates diffusive volatility because it includes the jump component. For jump-robust volatility, pair with realized_volatility or use the jump_volatility_detector to identify observations contaminated by jumps.

Usage Cases

  • Intraday volatility monitoring: Track hl_vol across bars. Rising range volatility signals increasing intra-bar price dispersion — the market is becoming more active within bars, even if close-to-close returns haven't increased yet.
  • Volatility estimator comparison: Compare hl_vol with realized_volatility. When hl_vol >> realized_vol, the bar contained a large intra-bar swing that reversed before the close (a "tail" or "shadow"). This pattern is a potential reversal signal — the market rejected an extreme.
  • Position sizing per bar: Scale position sizes inversely with hl_vol. Wide-range bars have higher intra-bar risk — reduce exposure. Narrow-range bars have lower risk — increase exposure.

YAML Definition

name: high_low_range_volatility
description: 'High-low range volatility: (high - low) / mid_price - intraday price
excursion magnitude'
category: volatility
version: v0.9.0 (Beta)
dimension: signal
status: Pre-release
required_inputs:
- high
- low
- mid_price
output_column: hl_vol
output_description: High-low price range normalized by mid price
parameters: {}
formula: (high - low) / mid_price