Skip to content

Momentum vs. Mean Reversion: Two Sides of the Same Coin

Momentum and mean-reversion are often presented as opposing strategies. They're actually two perspectives on the same market structure — and both can coexist.

8 of 10 ~4 min

Every quant has encountered the debate: should you trade momentum (past winners keep winning) or mean-reversion (past winners will reverse)?

The answer from decades of research: both exist in markets, at different timescales, in different regimes, and for different reasons. Treating them as mutually exclusive is the mistake.

What Is Momentum?

Momentum is the tendency of past winners to outperform past losers in the future. It’s also called “trend following” or “time-series momentum.”

The mechanism: information diffuses slowly through markets. When good news arrives, not all investors react immediately. The price drifts up over time as more investors buy. This drift continues until the price fully reflects the information.

Evidence for momentum:

  • Stocks that have gone up over the past 6-12 months tend to continue going up over the next 1-3 months.
  • This effect is present across asset classes (equities, bonds, commodities, currencies).
  • The effect has been documented as far back as the 1800s (Jegadeesh and Titman, 2001; Daniel and Moskowitz, 2016).

What Is Mean Reversion?

Mean-reversion is the tendency of past winners to underperform and past losers to outperform — the opposite of momentum. It’s also called “contrarian” or “reversal.”

The mechanism: prices sometimes overshoot fair value due to noise trading, liquidity shocks, or behavioral biases. Eventually, prices revert to fundamental value. This reversion is predictable.

Evidence for mean-reversion:

  • Daily reversal: stocks that went up today tend to go down tomorrow (very short-term).
  • Post-earnings announcement drift (PEAD): stocks that had positive earnings surprises experience positive drift, not reversal (this is momentum at medium horizons, not reversal).
  • Long-horizon reversal: over 3-5 year horizons, past winners underperform past losers (this is mean-reversion at long horizons).

The Timescale Decomposition

The key insight: momentum and mean-reversion operate at different timescales, and they don’t conflict.

HorizonEffect
Minutes to hoursMean-reversion (intraday reversal)
Days to weeksMomentum (short-term momentum)
1-12 monthsMomentum (medium-term momentum)
1-3 yearsMean-reversion (long-horizon reversal)
3-5+ yearsMomentum (very long-term momentum)

At the daily horizon: mean-reversion dominates (stocks that move up intraday tend to reverse). At the weekly to monthly horizon: momentum dominates (past winners keep winning). At the multi-year horizon: mean-reversion dominates (performance reverts).

Why Both Exist

Short-term mean-reversion exists because:

  • Liquidity shocks cause temporary price dislocations that correct quickly
  • High-frequency traders profit from pushing prices back to fair value
  • Information is incorporated within the trading day

Medium-term momentum exists because:

  • Information diffuses slowly through the market (institutional inertia, gradual belief revision)
  • Investor behavior biases (disposition effect, anchoring) cause underreaction
  • Slowly-moving capital (mutual funds, pension funds) cannot trade immediately

Long-term mean-reversion exists because:

  • Extreme valuations eventually correct
  • Business cycles mean-revert
  • Past winners include companies whose performance was unsustainable

Trading Both: A Unified Framework

Rather than picking one side, quant traders often combine them:

Dual-impulse model: At any point in time, both momentum and mean-reversion forces are present. The dominant force determines short-term direction. You can trade both by:

  • Using mean-reversion for very short-horizon signals (intraday to daily)
  • Using momentum for short-to-medium-horizon signals (weekly to monthly)
  • Balancing exposure to both based on current regime
import numpy as np
import pandas as pd

def compute_momentum_signal(prices, lookback=252):
    """12-month momentum signal."""
    return prices.pct_change(lookback)


def compute_mean_reversion_signal(prices, lookback=20):
    """20-day mean-reversion signal (return over past 20 days)."""
    return prices.pct_change(lookback)


def dual_signal_strategy(prices, mom_lookback=252, mr_lookback=20,
                        mom_weight=0.6, mr_weight=0.4):
    """
    Combine momentum and mean-reversion signals.

    Long momentum when both agree.
    Reduce momentum when they disagree.
    """
    mom = compute_momentum_signal(prices, mom_lookback)
    mr = compute_mean_reversion_signal(prices, mr_lookback)

    # Normalize signals
    mom_z = (mom - mom.mean()) / mom.std()
    mr_z = (mr - mr.mean()) / mr.std()

    # Combined signal
    combined = mom_weight * mom_z + mr_weight * mr_z

    # Regime detection: which force dominates?
    # High |mom_z| relative to |mr_z| = momentum regime
    # High |mr_z| relative to |mom_z| = mean-reversion regime

    return combined


def regime_adjusted_weights(mom_ic, mr_ic, mom_turnover, mr_turnover):
    """
    Adjust factor weights based on regime.
    """
    # If momentum IC is high and turnover is low, increase momentum weight
    # If mean-reversion IC is high and turnover is low, increase MR weight
    mom_score = mom_ic / (mom_turnover + 1e-6)
    mr_score = mr_ic / (mr_turnover + 1e-6)

    total = mom_score + mr_score
    return {
        'momentum_weight': mom_score / total,
        'mean_reversion_weight': mr_score / total
    }

Common Pitfalls

Assuming one is always right. Momentum and mean-reversion traders have both made and lost fortunes. The question isn’t “which is right” — it’s “which is right now, given current market structure and regime.”

Ignoring timescale. A mean-reversion strategy that works on daily data will not work on monthly data. A momentum strategy that works on monthly data may reverse intraday. Always match the strategy to the timescale.

Confusing the academic literature. Academic papers often find “momentum” or “mean-reversion” in the same markets because they’re measuring different timescales. Don’t conclude they contradict each other.

Where It Fits

Momentum and mean-reversion are the two fundamental time-series patterns. Regime detection identifies which is dominant. Factor decay measures how quickly each signal decays. Factor combination blends both into a unified strategy.

References

  • Ang, Asset Management, Ch. 8. Oxford University Press, 2014. ISBN: 978-0-19-995932-3.
  • Jegadeesh, Titman, “Momentum,” Annual Review of Financial Economics, 2001.
  • Daniel, Moskowitz, “Momentum Crashes,” Journal of Financial Economics, 2016.
  • Lo, Adaptive Markets, Ch. 5. Princeton University Press, 2017. ISBN: 978-0-691-16988-0.