Trend Regime Indicator
Quick Reference
| Property | Value |
|---|---|
| Dimension | regime |
| Category | market_regime |
| Version | v1.0 |
| Output Column | trend_regime |
Trend regime: binary indicator — trending (strong ADX) vs ranging (weak ADX) market state
Formula
adx > threshold
CDM Inputs
| Column | CDM Table | Description |
|---|---|---|
adx | cdm_* | CDM source table |
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
threshold | float [0.0, 1.0] | 0.25 | ADX threshold for trending vs ranging classification |
Output
Column: trend_regime
Binary trend regime (1 = trending, 0 = ranging)
Market Intuition & Trading Rationale
Trend regime indicator provides a binary trending-vs-ranging classification: adx > threshold. When ADX (Average Directional Index) exceeds the threshold, the market is trending — directional strategies (momentum, trend following) are favored. When ADX is below the threshold, the market is ranging — mean-reversion and range-bound strategies are favored. The default threshold of 0.25 is the classic Wilder threshold; lower values (0.15) produce more sensitive classification, higher values (0.35) require stronger trends.
Usage Cases
- Strategy rotation: trend_regime = 1 → deploy momentum/trend-following strategies. trend_regime = 0 → deploy mean-reversion/range-bound strategies. This simple binary switch eliminates the worst trades for each strategy class.
- Trend filter for mean reversion: Only fade extremes when trend_regime = 0. In trending markets, "overbought" and "oversold" signals are continuation signals, not reversal signals.
- Position sizing by conviction: trend_regime = 1 with rising ADX → trend is strengthening (increase size). trend_regime = 1 with falling ADX → trend is weakening (reduce size, prepare for exit).
YAML Definition
name: trend_regime_indicator
description: 'Trend regime: binary indicator — trending (strong ADX) vs ranging (weak
ADX) market state'
category: market_regime
dimension: regime
version: v0.9.0 (Beta)
required_inputs:
- adx
output_column: trend_regime
output_description: Binary trend regime (1 = trending, 0 = ranging)
tags:
- regime
- trend
- adx
parameters:
threshold:
type: float
description: ADX threshold for trending vs ranging classification
required: false
default: 0.25
constraints:
min: 0.0
max: 1.0
formula: adx > threshold