Skip to main content

Measuring the Reaction Force — Quantifying Post-Impulse Strength

Introduction

In Pressure Waves in Price Action we described how impulses and recoveries resemble energy waves in a fluid system.
This follow-up isolates the measurement of the market’s reaction force — the quantitative strength of the rebound after a sell-off.

Rather than treating “the low” as a single candle, we define a local-low region where downward energy has mostly decayed.
From this region, the next sustained upward move represents the system’s elastic response.


1. Defining the Local-Low Region

A “local low” isn’t a single price; it’s a stabilization zone where:

  • The slope of price closes approaches zero (flattening).
  • MACD histogram compresses toward the baseline.
  • RSI bottoms and oscillates sideways.
  • Candle bodies cluster within a narrow range.

Formally, the region begins when:

Pt<ϵ×Pmax|\nabla P_t| < \epsilon \times |\nabla P_{\text{max}}|

for several consecutive bars (e.g., (\epsilon = 0.1)).

Local-Low Regions

Figure 1 — Each box marks a local-low region rather than a single bottom tick.


2. Two Ways to Measure the Reaction Force

(a) Using Slope

Measure the instantaneous slope of the recovery leg:

Slope=ΔPΔT\text{Slope} = \frac{\Delta P}{\Delta T}

where

  • ΔP=PendPstart\Delta P = P_{\text{end}} - P_{\text{start}}
  • ΔT=ncandles\Delta T = n_{\text{candles}}

This expresses rate of recovery per bar — a good measure when response durations vary.


(b) Using Range Distance (Local-Low → Next Local-High)

Alternatively, measure the absolute displacement from the low region to the next local high:

Reaction Distance=Hlocal highLregion\text{Reaction Distance} = H_{\text{local high}} - \overline{L_{\text{region}}}

Optionally normalize by the preceding down-move:

Reaction Ratio=Hlocal highLregionHprev impulseLregion\text{Reaction Ratio} = \frac{H_{\text{local high}} - \overline{L_{\text{region}}}}{H_{\text{prev impulse}} - \overline{L_{\text{region}}}}

Interpretation:

RatioMeaning
< 0.5Weak absorption — sellers still dominate
0.5 – 0.8Balanced absorption
> 1.0Full reversion or regime shift

3. Example: SOL-PERP 30 m Case Study

In this study:

  • The first drop produced no distinct local high — price flattened into a broad low region (sideways box).
  • Later drops generated progressively steeper and longer recovery slopes.
  • Measuring by either method shows a consistent increase in reaction magnitude per unit time.

Reaction-Force Measurement Example

Figure 2 — Yellow lines show recovery slopes; white boxes mark local-low zones used for range-based measurement.


4. Interpreting the Metrics

  • Slope quantifies velocity of recovery.
  • Range distance quantifies amplitude of recovery.
  • Together they form the empirical definition of reaction force — the market’s capacity to restore equilibrium after a displacement.

You can plot both over time to visualize strengthening elasticity even inside a downtrend.


5. Toward Automation

A simple Python routine to locate these regions:

grad = price.diff()
grad_abs = grad.abs()

# region where downward slope has decayed
decay_done = grad_abs < grad_abs.rolling(5).max() * 0.1

# identify local low zones
regions = decay_done.rolling(3).sum() >= 3