Skip to main content

Return Momentum

Quick Reference

PropertyValue
Dimensionsignal
Categorymomentum
Versionv0.9.0 (Beta)
Output Columnreturn_momentum

Return momentum calculation: sum(returns[-window:]) - basic window sum of returns

Formula

rolling_sum(diff(close, returns_lag), window)

CDM Inputs

ColumnCDM TableDescription
closecdm_fixed_barsOHLCV bar data 鈥?open, high, low, close, volume per bar interval

Parameters

ParameterTypeDefaultDescription
windowinteger [1, 1000]-Lookback window for return summation
returns_laginteger [1, 100]1Lag for return calculation (e.g., 1 for close[t] - close[t-1])

Output

Column: return_momentum

Sum of returns over the specified window

Market Intuition & Trading Rationale

Return momentum is the simplest and most widely used momentum measure: the sum of returns over a lookback window. rolling_sum(螖close, window) captures the total price change over the period. A large positive value means strong upward drift; a large negative means strong downward drift; near zero means sideways or mean-reverting price action.

Despite its simplicity, return momentum is remarkably robust. The academic finance literature has documented momentum effects across virtually all asset classes and timeframes 鈥?from intraday to multi-year. At the microstructure level, return momentum over short windows (1鈥?0 seconds) captures the persistence of order flow imbalance: when aggressive buying pushes prices up, the imbalance tends to persist, creating short-term momentum that this feature quantifies.

The key limitation is that raw return momentum is not volatility-adjusted. A 1% return in a quiet market (low volatility) is far more significant than a 1% return in a volatile market. For risk-adjusted momentum, pair with volatility_adjusted_momentum or normalize by realized_volatility. The window parameter controls the horizon: short windows (5鈥?0) capture microstructure momentum; long windows (100鈥?00) capture intraday trends.

Usage Cases

  • Trend following: Positive return_momentum 鈫?go long; negative 鈫?go short. The simplest momentum strategy. Combine multiple windows for multi-horizon signals (see multi_horizon_momentum).
  • Bar momentum pack: The primary signal in the bar_momentum feature set, where it's paired with volume regime context and autocorrelation stability diagnostics.
  • Mean reversion filter: Don't fade strong momentum. Use return_momentum as a filter for mean-reversion strategies 鈥?only enter when momentum is neutral (near zero), indicating the dislocation is likely to revert rather than continue trending.
  • Cross-sectional ranking: Rank instruments by return_momentum. Go long top quintile, short bottom quintile. This cross-sectional momentum strategy is the basis for many systematic equity strategies.

YAML Definition

name: return_momentum
description: 'Return momentum calculation: sum(returns[-window:]) - basic window sum
of returns'
category: momentum
version: v0.9.0 (Beta)
dimension: signal
status: Pre-release
required_inputs:
- close
output_column: return_momentum
output_description: Sum of returns over the specified window
tags:
- momentum
- returns
- window
- sum
- statistics
parameters:
window:
type: integer
description: Lookback window for return summation
required: true
constraints:
min: 1
max: 1000
returns_lag:
type: integer
description: Lag for return calculation (e.g., 1 for close[t] - close[t-1])
required: false
default: 1
constraints:
min: 1
max: 100
formula: rolling_sum(diff(close, returns_lag), window)