Skip to main content
2026-05-22 · 3 min read · ← 1 · volatility · feature · research

Vol-of-vol distinguishes regime from level

what you'll learn · Why second-order volatility (vol-of-vol) carries information that vol_20 alone doesn't, and how to use it as a regime gate.

Two symbols sitting at 1% daily vol look identical to vol_20. One has been at 1% for sixty bars. The other just arrived at 1% from a 0.3% regime, with thirty bars of transition. Vol-of-vol — the 20-bar std of vol_20 — is what tells them apart, and it changes how a sizing rule should treat them.

vol_20 reads a symbol’s recent volatility — std of 1-bar log returns over the last 20 bars. It’s the canonical risk-budgeting feature. Most position-sizing rules use it directly: bigger positions in low-vol names, smaller in high-vol names.

vol_20 alone has a blind spot: it can’t distinguish a stable vol regime from a transitioning one. Two symbols at 1% daily vol look identical to vol_20:

  • Stable: 60 bars of 1% daily vol. Vol-of-vol ≈ 0.
  • Transitioning: 30 bars of 0.3% vol, then 30 bars of 1.5% vol, currently averaging 1%. Vol-of-vol high.

For a sizing rule that treats vol as a stable signal, the second symbol is a trap. The “current” 1% reading is just an average across a regime shift. Tomorrow’s vol could be 0.3% or 2.5%; the symbol isn’t actually at 1%.

realized_vol_of_vol_20 — the 20-bar rolling std of vol_20 — is the natural feature for the difference. Low values mean stable vol; high values mean unstable vol.

Three uses

  1. Size gate. Multiply position size by 1 / (1 + α · vol_of_vol) where α tunes the penalty. Reduces exposure to names whose vol estimate isn’t reliable. The classic reference is Heston-Nandi 2000 (GARCH model where the level AND the rate-of-change of vol matter).

  2. Regime classifier. A median vol-of-vol value across the universe defines a cross-sectional “stable / unstable” gate per symbol. Use vol-of-vol > median as the trigger for “this symbol is in transition; suspend its momentum signal until the regime settles.”

  3. Event detector. Vol-of-vol spikes are often event-driven — earnings, fed announcements, sector news. A high-vol-of- vol period is a regime-change signal that complements the event-clock surface’s calendar-based gates. Compose them: a strategy that gates on EITHER an upcoming event OR a vol- regime transition.

What it doesn’t do

  • Not a Sharpe improver on its own. Like every higher-order feature, vol-of-vol pays for the extra signal with extra estimation noise (per higher-moments-add-noise-faster-than-signal, the estimator’s stdev grows with each layer of derivation). Use it as a multiplier or a gate, not as a primary score factor — its signal-to-noise is too low for direct ranking.

  • Not a substitute for vol_20. Knowing a symbol’s vol is unstable doesn’t tell you how big its current moves are. Vol-of-vol and vol-level are orthogonal axes; both are needed.

  • Not free from look-ahead. With lag 41 (21 for inner vol_20 + 20 for outer rolling), vol-of-vol consumes more history than the moment features. On short backtests or cold-start trading, it can take 41 bars to come online. Plan for the warmup.

The composition pattern

A typical strategy that uses vol-of-vol:

score = momentum_20 / max(vol_20, 1e-8)
# Already vol-scaled (see XsVolWeightedMomentumStrategy).

# Apply vol-of-vol penalty: dampen names with unstable vol.
size_multiplier = 1.0 / (1.0 + 5.0 * vol_of_vol_20)

position_weight = score * size_multiplier

size_multiplier is between 0 and 1; multiplies down unreliable signals. The constant 5.0 is a tunable that depends on the universe’s typical vol-of-vol range — operators backtest it on real data.

The discipline rule

When a feature comes online via a second-order rolling stat, name what the lower-order stat alone misses. If the answer is “nothing meaningful for the strategy’s score” — drop the feature. If it’s a regime distinction the strategy’s score can’t make on its own — use the new feature as a multiplier or a gate, not as a ranking input.

Vol-of-vol passes the test: the regime distinction (stable vs transitioning vol) is real, and a vol-scaled momentum signal can’t make it without the second-order stat. The feature earns its place in the library.

deskgdfindgfstrategiesgsfeaturesgepromotionsgpapigabotgbwritinggw

Shortcuts are no-ops while typing in an input or textarea.