← Back to Learn
IV ExpertWeek 14 • Lesson 44Duration: 45 min

SD Signal Decay & Alpha Erosion

Every edge has an expiration date — the question is how long yours lasts

Learning Objectives

  • Understand why trading signals lose predictive power over time
  • Measure the half-life of alpha for different signal types
  • Build monitoring systems for signal degradation
  • Develop strategies for maintaining a signal pipeline

Explain Like I'm 5

Signals decay because markets learn. Once enough people discover the same pattern, the edge disappears — sometimes slowly, sometimes overnight.

Think of It This Way

It's like a fishing spot. The first person who finds it catches plenty. Word gets out, more people show up, and eventually the fish are gone. But new spots always form — you just need to keep exploring.

1Why Signals Decay

Every signal you discover is, at some level, a market inefficiency. And inefficiencies attract capital the way gravity attracts mass. Here are the four mechanisms of alpha decay: 1. Crowding. Other participants discover the same signal — whether through independent research, reverse-engineering your trades, or reading the same academic paper. As more capital chases the same pattern, the edge shrinks. This is the most predictable form of decay. 2. Regime change. The underlying market microstructure shifts. A signal designed for low-volatility trending markets will degrade when volatility spikes and correlations break. The signal didn't get "discovered" — the world it was calibrated to simply stopped existing. 3. Structural change. Regulatory changes, new market participants (algorithmic vs. human), changes in fee structures, or shifts in market access. The 2001 decimalization of US equities destroyed an entire class of market-making signals overnight. 4. Information dissemination. Academic publication is the canonical example. McLean & Pontiff (2016) showed that factor returns decline by roughly 32% after publication and 58% after academic journal acceptance. The knowledge itself becomes the mechanism of decay. The takeaway: decay isn't a bug, it's a feature of competitive markets. The question isn't whether your signal will decay, but how long you have and what you'll replace it with.

2Half-Life of Alpha

Signal half-life varies enormously by complexity and capacity: | Signal Type | Typical Half-Life | Why | |------------|-------------------|-----| | Simple momentum | 3-5 years | Well-known, slow crowding due to capacity | | Statistical arb (pairs) | 1-3 years | Easy to replicate, moderate capacity | | Microstructure signals | 3-12 months | Fast to replicate, low capacity | | Alternative data | 6-18 months | Data vendors sell to everyone | | Complex ML ensemble | 2-5 years | Hard to replicate, but regime-sensitive | | HFT latency arb | Weeks to months | Arms race dynamics | The pattern is clear: simpler signals decay slower (because they're capacity-rich and hard to arb away completely), while complex signals can maintain edge longer but are more fragile to regime changes. There's also the paradox of publication: simple, well-documented factors (value, momentum, carry) have persisted for decades despite being widely known. The explanation is that they compensate for systematic risks that most investors are unwilling to bear. That's not alpha — it's risk premium. The distinction matters enormously.

3Measuring Decay

The most practical approach to measuring signal decay is tracking rolling IC over time and fitting an exponential decay model:
IC(t)=IC0eλtIC(t) = IC_0 \cdot e^{-\lambda t}
Where λ\lambda is the decay rate. The half-life is then:
t1/2=ln(2)λt_{1/2} = \frac{\ln(2)}{\lambda}
What to monitor: 1. Rolling IC trend. Fit a linear regression to your monthly IC values. A significantly negative slope means your signal is decaying. This is the simplest and most robust test. 2. IC by cohort. Split your sample into year-long cohorts. If IC is 0.07 in the first year, 0.05 in the second, and 0.03 in the third, that's a clear decay pattern. 3. Conditional IC. Check whether IC is declining uniformly or only in specific regimes. A signal that still works in high-volatility environments but has decayed in calm markets tells a specific story about what's changed. 4. Capacity decay. Even if IC is stable, your signal's profitability can decay if the assets it trades become less liquid or if the cost of execution rises. Track the relationship between signal strength and realized P&L after costs.

4When a Signal Dies

You need a protocol for this. Signals don't usually die dramatically — they fade, and the temptation is to keep running them long past their useful life because "maybe it's just a bad period." Kill criteria (any one is sufficient): - Rolling 12-month IC is statistically indistinguishable from zero (t-stat < 1.5) - IC has been negative for 6+ consecutive months - The signal's Sharpe ratio net of costs has been below 0.3 for 12+ months - Structural change has eliminated the economic rationale (e.g., regulatory change) What to do when you see decay: 1. Re-optimize (carefully). Recalibrate model parameters on recent data. But be honest about whether you're adapting to a new regime or just overfitting to noise. 2. Reduce allocation. Don't need to go from full size to zero. Scale position size proportional to recent IC. 3. Combine with newer signals. A decayed signal might still carry information that's complementary to a newer alpha source. The combination can be better than either alone. 4. Retire gracefully. Remove from production, document what happened, and archive the research. You'll learn more from a well-documented signal death than from pretending it still works.

5Building a Signal Pipeline

The only sustainable approach is to maintain a pipeline — always have signals at different stages of their lifecycle: | Stage | Description | Typical Allocation | |-------|-------------|-------------------| | Research | Hypothesis testing, initial IC analysis | 0% (paper only) | | Incubation | Paper trading, out-of-sample validation | 0-5% | | Ramp-up | Small live allocation, monitoring closely | 5-15% | | Production | Full allocation, steady IC | 40-60% | | Monitoring | IC declining, watching for kill criteria | 10-20% | | Wind-down | Reducing allocation, transitioning out | 0-5% | The key insight: if all your signals are in "Production" or later stages, you're heading for trouble. You should always have research and incubation feeds running in parallel. The day your best signal starts decaying, you want the next one ready to scale. Think of it like crop rotation. You can't plant the same field forever and expect the same yield. The land needs rest, and you need to be working the next plot while the current one is still productive. Lo (2004) formalized this in the Adaptive Markets Hypothesis — markets evolve like ecosystems, and strategies must adapt to survive.

Key Formulas

Signal Half-Life

Time for a signal's IC to decay to half its initial value, where lambda is the exponential decay rate

Decayed IC Estimate

Expected IC at time t given initial IC and decay rate

Hands-On Code

Signal Decay Monitor

python
import numpy as np
from scipy.optimize import curve_fit

def measure_signal_decay(rolling_ic_series, time_periods):
    """
    Fit exponential decay model to rolling IC and estimate half-life.
    
    Parameters:
        rolling_ic_series: array of rolling IC values
        time_periods: array of corresponding time indices
    
    Returns:
        decay_params: dict with lambda, half_life, initial_ic, r_squared
    """
    def decay_model(t, ic0, lam):
        return ic0 * np.exp(-lam * t)
    
    mask = rolling_ic_series > 0
    if mask.sum() < 10:
        return {'status': 'insufficient_positive_ic_data'}
    
    try:
        popt, pcov = curve_fit(
            decay_model, 
            time_periods[mask], 
            rolling_ic_series[mask],
            p0=[rolling_ic_series[mask].max(), 0.01],
            bounds=([0, 0], [1, 2])
        )
        
        ic0, lam = popt
        half_life = np.log(2) / lam if lam > 0 else np.inf
        
        predicted = decay_model(time_periods[mask], ic0, lam)
        ss_res = np.sum((rolling_ic_series[mask] - predicted) ** 2)
        ss_tot = np.sum((rolling_ic_series[mask] - np.mean(rolling_ic_series[mask])) ** 2)
        r_squared = 1 - ss_res / ss_tot
        
        return {
            'initial_ic': round(ic0, 4),
            'decay_rate': round(lam, 4),
            'half_life_months': round(half_life, 1),
            'r_squared': round(r_squared, 3),
            'status': 'decaying' if lam > 0.01 else 'stable'
        }
    except RuntimeError:
        return {'status': 'fit_failed'}

Fits an exponential decay model to rolling IC data and estimates signal half-life, initial IC, decay rate, and goodness of fit.

Knowledge Check

Q1.McLean & Pontiff (2016) found that factor returns decline by approximately what percentage after academic publication?

Q2.Which type of signal typically has the shortest half-life?

Q3.What is the most robust early warning sign of signal decay?

Assignment

Take any momentum or mean-reversion signal and compute its rolling 60-day IC across 3+ years of data. Fit an exponential decay model and estimate the half-life. Compare the half-life across different volatility regimes (VIX > 20 vs VIX < 20).