Skip to main content

Short Term Overextension

Quick Reference

PropertyValue
Dimensionsignal
Categorymean_reversion
Versionv0.9.0 (Beta)
Output Columnoverextension_index

Short-term overextension index - measures how far price has deviated from local equilibrium

Formula

rolling_sum(returns, window) * abs(rolling_sum(returns, window))

CDM Inputs

ColumnCDM TableDescription
returnscdm_*CDM source table

Parameters

ParameterTypeDefaultDescription
windowinteger [2, 500]20Window for return accumulation

Output

Column: overextension_index

Magnitude of short-term price overextension (positive = overbought, negative = oversold)

Market Intuition & Trading Rationale

Short-term overextension measures cumulative price displacement with a directional amplifier: rolling_sum(returns, window) × |rolling_sum(returns, window)|. This squared-magnitude term penalizes large cumulative moves — a 2% move produces 4× the signal of a 1% move. The feature captures not just that price has deviated from equilibrium, but how severely.

The quadratic scaling has an important economic interpretation: small deviations are likely noise (bid-ask bounce, random walk drift) and should produce weak signals. Large deviations are likely genuine dislocations (overshooting from aggressive flow, panic, or exuberance) and should produce strong reversal signals. The squaring creates a natural signal-to-noise filter — only meaningful moves trigger strong reversal signals.

The feature is unsigned by design — it doesn't distinguish overbought from oversold. Pair with zscore_price_deviation or trade_sign to determine direction. The overextension index tells you that a reversal is likely; the directional feature tells you which way to trade.

Usage Cases

  • Reversal magnitude estimation: High overextension_index → strong reversal signal. Use the magnitude to scale position size — larger dislocations produce larger and faster reversals on average.
  • Volatility spike detection: When overextension_index spikes suddenly, the market has experienced an unusually large cumulative move. This often precedes a volatility regime change — the move may continue (breakout) or reverse (exhaustion). Monitor closely.
  • Execution entry timing: After a large cumulative move, wait for overextension_index to peak and start declining before entering a reversal trade. Entering while it's still rising means you're catching a falling knife.

YAML Definition

name: short_term_overextension
description: Short-term overextension index - measures how far price has deviated
from local equilibrium
category: mean_reversion
version: v0.9.0 (Beta)
dimension: signal
status: Pre-release
required_inputs:
- returns
output_column: overextension_index
output_description: Magnitude of short-term price overextension (positive = overbought,
negative = oversold)
parameters:
window:
type: integer
description: Window for return accumulation
required: false
default: 20
constraints:
min: 2
max: 500
formula: rolling_sum(returns, window) * abs(rolling_sum(returns, window))