Skip to main content

Volatility Adjusted Momentum

Quick Reference

PropertyValue
Dimensionsignal
Categorymomentum
Versionv0.9.0 (Beta)
Output Columnvol_adjusted_momentum

Volatility-adjusted momentum risk-normalized directional strength

Formula

ret / (volatility + epsilon)

CDM Inputs

ColumnCDM TableDescription
retcdm_*CDM source table
volatilitycdm_*CDM source table

Parameters

ParameterTypeDefaultDescription
epsilonfloat [0.0, 1.0]1e-10Small constant to prevent division by zero

Output

Column: vol_adjusted_momentum

Returns normalized by volatility (risk-adjusted momentum)

Market Intuition & Trading Rationale

Volatility-adjusted momentum normalizes returns by volatility: return / (volatility + ε). It answers: how many standard deviations of return did the asset deliver over this period? A 1% return in a market with 0.5% daily volatility (2σ move) is far more significant than a 1% return in a market with 5% daily volatility (0.2σ move). This normalization makes momentum comparable across instruments and time periods — it's a scale-free measure of directional strength.

This is the simplest form of risk-adjusted momentum and the foundation for more sophisticated variants like the Sharpe ratio (which additionally subtracts the risk-free rate). By dividing raw return by volatility, the feature automatically adapts to changing market conditions: during calm periods, even modest returns produce strong signals; during turbulent periods, the same returns produce weak signals, preventing overconfidence in noisy environments.

The epsilon term (1e-10) prevents division by zero when volatility is exactly zero (e.g., during trading halts or illiquid periods). In practice, this only matters in pathological edge cases, but it ensures the feature never produces NaN or Inf values that would propagate through downstream computations.

Usage Cases

  • Cross-sectional momentum ranking: Rank instruments by vol_adjusted_momentum rather than raw return_momentum. The ranking is more stable and less dominated by high-volatility names. This is standard practice in systematic equity momentum strategies.
  • Dynamic position sizing: Use the absolute value of vol_adjusted_momentum to scale position size within a strategy. Strong risk-adjusted signals → larger positions. Weak signals → smaller positions. This is more sophisticated than vol-targeting alone.
  • Signal thresholding: Set entry/exit thresholds on vol_adjusted_momentum rather than raw momentum. A threshold of ±1.0 means "only trade when momentum exceeds one standard deviation of returns." This naturally adapts to each instrument's volatility regime.

YAML Definition

name: volatility_adjusted_momentum
description: Volatility-adjusted momentum risk-normalized directional strength
category: momentum
version: v0.9.0 (Beta)
dimension: signal
status: Pre-release
required_inputs:
- ret
- volatility
output_column: vol_adjusted_momentum
output_description: Returns normalized by volatility (risk-adjusted momentum)
parameters:
epsilon:
type: float
description: Small constant to prevent division by zero
required: false
default: 1.0e-10
constraints:
min: 0.0
max: 1.0
formula: ret / (volatility + epsilon)