Return Momentum
Quick Reference
| Property | Value |
|---|---|
| Dimension | signal |
| Category | momentum |
| Version | v0.9.0 (Beta) |
| Output Column | return_momentum |
Return momentum calculation: sum(returns[-window:]) - basic window sum of returns
Formula
rolling_sum(diff(close, returns_lag), window)
CDM Inputs
| Column | CDM Table | Description |
|---|---|---|
close | cdm_fixed_bars | OHLCV bar data 鈥?open, high, low, close, volume per bar interval |
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
window | integer [1, 1000] | - | Lookback window for return summation |
returns_lag | integer [1, 100] | 1 | Lag 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_momentumfeature 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)