Cross-Sectional 12-1 Momentum in S&P 500

decile portfolios CAPM/FF/Carhart alpha regime analysis crash metrics vol-managed momentum ML crash forecasting

Research overview

This study implements the classical 12-1 momentum strategy on the S&P 500 universe: rank stocks on cumulative return from month t−12 through t−2 (skipping the most recent month to avoid short-term reversal), form winner and loser portfolios, and rebalance monthly.

The framework extends a basic momentum backtest with alpha persistence, regime-dependent performance, momentum crash analysis, volatility-managed momentum (Barroso & Santa-Clara), multi-factor decomposition (CAPM, Fama–French, Carhart, FF5), cross-sectional dispersion, sector and residual momentum, and machine-learning crash prediction.

Daily prices are sourced from Yahoo Finance (yfinance); risk factors from Ken French. The universe uses current S&P 500 constituents — a survivorship caveat is noted in the results banner.

Hypotheses

H1: Cross-sectional momentum remains profitable within the S&P 500.

H2: Momentum alpha decays gradually rather than immediately.

H3: Momentum crashes cluster around market recoveries (Daniel & Moskowitz).

H4: Volatility-managed momentum reduces crash risk.

H5: Machine-learning models can forecast crash probability.

Methodology

Signal: M_i = ∏(1 + r) from t−12 to t−2 − 1 using adjusted monthly closes.

Portfolios: Decile and quintile sorts; winner (top 10%), loser (bottom 10%), long-short, and long-only winner. Weighting schemes include equal weight, market cap, inverse volatility, and risk parity.

Regimes: Bull/bear (SPY vs 200-DMA), high volatility (VIX > 75th percentile), panic (SPY drawdown > 20%), recovery (10%+ rebound within 3 months after drawdown).

Crashes: Monthly return < −15% or quarterly return < −30%.

Vol-managed: Scale exposure to target 12% annualized realized volatility.

Limitations

Current S&P 500 membership applied historically introduces survivorship bias.

yfinance adjusted closes may differ slightly from CRSP/Compustat.

Ken French factors are aggregated from daily to monthly; ML crash models use time-series cross-validation with limited crash events.

Research output only — not investment advice.

Interactive dashboard

Below: equity curves, performance metrics, decile analysis, regime and crash diagnostics, factor alphas, volatility-managed comparison, dispersion, and ML crash predictor.

Results

Data as of 2026-06-30 · S&P 500 (647 of 872 current constituents with price data)

Point-in-time membership from Wikipedia change history reduces survivorship bias vs a frozen current-constituent list. Delisted names included when yfinance has price history.

Enhancements applied

  • Point-in-time S&P 500 membership from Wikipedia change history
  • Expanded ticker panel including removed constituents (where yfinance has data)
  • Liquidity filter: minimum $5 month-end price
  • Cross-sectional winsorization of monthly returns (1st–99th pct)
  • Industry-neutral momentum signal
  • Volatility-managed overlay (12% target vol)
  • Regime timing: reduce exposure in recovery/panic/high-vol regimes
  • Ken French UMD factor benchmark comparison

Strategy comparison (long-short variants)

VariantSharpeCAGRCumulativeMax DD
baseline survivorship-0.11-2.70%-49.40%-80.10%
pit winsorized-0.20-4.10%-65.30%-83.20%
industry neutral pit-0.30-3.80%-63.00%-81.20%
vol managed-0.18-1.50%-31.60%-69.20%
regime timed-0.070.50%14.80%-47.10%
full enhanced-0.070.50%14.80%-47.10%
Corr vs UMD: 0.069
Cum L/S: -66.80%
Cum UMD: 34.00%
UMD Sharpe: 0.17

Why long-short returns are weak

  • Inverted decile pattern: Q1 (losers) outperforms Q10 (winners) by 0.210%/month — opposite of classical momentum.
  • Average Spearman IC (momentum vs next-month return) = -0.0009. Near zero — no cross-sectional predictability.
  • Winner leg: 10.7% ann.; Loser leg: 13.4% ann. Long-short ≈ -2.7% ann. because the short leg earns positive returns (short loses money).
  • All used tickers are CURRENT S&P 500 members. Historical losers that left the index (bankruptcies, acquisitions, demotions) are absent. Past 'loser' portfolios therefore contain stocks that eventually recovered and remained in the index — this mechanically flattens or inverts the winner-minus-loser spread and depresses long-short returns.
  • Only 647/872 (74.2%) of current S&P 500 names have usable yfinance history — incomplete cross-section.
  • Long-only winner portfolio can still show high cumulative returns because it holds high-beta recent outperformers in a rising market; that is not the same as a positive momentum factor premium.

Hypothesis testing (3/5 supported)

3 of 5 hypotheses supported at conventional thresholds. See diagnostics for data-quality caveats (survivorship, universe).

IDTestResultSupported?
H1Cross-sectional momentum remains profitable (winner-minus-loser > 0)-2.67% ann., p=0.404No
H2Momentum alpha decays gradually (1m spread >= 12m spread)supportedYes
H3Momentum crashes cluster in recovery (L/S recovery < L/S bull)fail_to_rejectNo
H4Volatility-managed momentum reduces crash risk / improves risk-adjusted returnssupportedYes
H5ML models forecast momentum crash probability better than chanceROC-AUC 0.93Yes

Key findings

  • Inverted decile pattern: Q1 (losers) outperforms Q10 (winners) by 0.210%/month — opposite of classical momentum.
  • Average Spearman IC (momentum vs next-month return) = -0.0009. Near zero — no cross-sectional predictability.
  • Winner leg: 10.7% ann.; Loser leg: 13.4% ann. Long-short ≈ -2.7% ann. because the short leg earns positive returns (short loses money).
  • All used tickers are CURRENT S&P 500 members. Historical losers that left the index (bankruptcies, acquisitions, demotions) are absent. Past 'loser' portfolios therefore contain stocks that eventually recovered and remained in the index — this mechanically flattens or inverts the winner-minus-loser spread and depresses long-short returns.
  • Only 647/872 (74.2%) of current S&P 500 names have usable yfinance history — incomplete cross-section.
  • Long-only winner portfolio can still show high cumulative returns because it holds high-beta recent outperformers in a rising market; that is not the same as a positive momentum factor premium.
  • 3 of 5 hypotheses supported at conventional thresholds. See diagnostics for data-quality caveats (survivorship, universe).
  • H1 test: L/S mean -2.7% ann. (NW t=-0.8345, p=0.403994) — NOT SUPPORTED.
  • H2 persistence: 1m spread -0.190% vs 12m -2.500% — SUPPORTED.
  • H3 recovery crash: recovery avg -1.546%/mo vs bull 0.280%/mo — NOT SUPPORTED.
  • H4 vol-managed: Sharpe -0.1714 → -0.0361, max DD -0.812 → -0.6921 — SUPPORTED.
  • H5 ML crash forecast: best lightgbm ROC-AUC 0.927 — SUPPORTED.
  • Decile pattern: inverted_momentum (Q1=1.120%/mo, Q10=0.910%/mo, spread=-0.210%/mo).
  • Momentum IC: mean=-0.0009, IR=-0.006, hit rate=51%.
  • Sub-period L/S returns — 2000-2009: -0.515%/mo, 2010-2019: -0.083%/mo, 2020-present: -0.032%/mo.
  • Carhart alpha (ann.) -5.02% (not significant; t=-1.4834); MOM beta loading=0.058.
L/S Cumulative
-63.00%
L/S Sharpe
-0.30
Winner leg CAGR
9.50%
Loser leg CAGR
11.30%
Long-only winners CAGR
9.50%
Momentum IC
-0.0010
Decile spread/mo
-0.200%
Max DD
-81.20%

Stock universe — 647 of 872 S&P 500 names (74.2% coverage)

Unknown: 165Industrials: 77Financials: 73Information Technology: 68Health Care: 56Consumer Discretionary: 48Consumer Staples: 35Utilities: 31Real Estate: 28Materials: 25Communication Services: 22Energy: 19

Excluded (sample): AAP, ABK, ABMD, ACAS, ACE, ADS, AGN, AKS, ALTR, ALXN, AMG, ANDV, ANF, ANR, ANSS, APC, APOL, ARG, ARNC, ATVI, AV, AVP, AYE, BCR, BHI, BIG, BJS, BRCM, BS, BXLT, CCR, CDAY, CELG, CEPH, CERN, CFN, CHK, CMA, CMCSK, COG 225 current S&P 500 names missing from yfinance panel (download failures, insufficient history since 2000, or delisted tickers). Full list truncated to 40 in JSON; see cache for complete panel.

Equity curves — enhanced vs baseline vs Ken French UMD

Indexed to 100 at start (growth of $1). Long-short portfolios only — not comparable to long-only SPY.

Decile portfolio returns (avg monthly)

D10 − D1 spread: -0.200%/mo

Performance by regime

Alpha persistence (winner − loser forward spread)

HorizonMean spreadHit rateN
1m-0.200%51%304
3m-0.600%50%302
6m-1.500%51%299
12m-2.500%51%293

Factor decomposition (long-short)

Modelα (ann.)t(α)
capm-4.90%-1.470.00
ff3-4.60%-1.440.01
carhart-5.00%-1.480.01
ff5-4.50%-1.220.01

Volatility-managed vs static momentum

MetricStaticVol-managed
Sharpe-0.17-0.04
Max drawdown-0.81-0.69
Crash frequency0.010.01

Target vol: 12%

ML crash prediction

Latest crash probability: 0.9%

ModelROC-AUCF1
logistic regression0.750.00
random forest0.440.00
xgboost0.500.00
lightgbm0.930.00

Drawdown — long-short momentum

Crash analysis

Frequency: 1.0%
Count: 3
Avg depth: -21.0%
Skewness: -0.96

Weighting scheme Sharpe comparison

equal weight sharpe-0.30
market cap sharpe-0.20
inverse vol sharpe-0.30
QuantifiedTrader logoQuantifiedTrader

Independent quantitative research on trading methods, backtesting, and market analytics.

Research disclaimer

QuantifiedTrader is operated by an independent quantitative research group. We study, document, and compare different methods of trading, portfolio construction, risk management, and investment analysis. Our work is exploratory and academic in nature—we build tools, run backtests, and publish findings to advance understanding, not to promote any particular strategy or product.

Not investment advice. Nothing on this website constitutes investment, trading, financial, tax, legal, or other professional advice. We do not recommend, endorse, or solicit the purchase or sale of any security, derivative, or financial instrument, nor do we suggest that any strategy, model, or result presented here is suitable for any individual or institution. Any examples, simulations, or performance figures are illustrative research outputs only.

No client or advisory relationship. We do not provide investment advisory, brokerage, portfolio-management, custody, or asset-management services to any person or entity. Browsing this site, using our tools, or contacting us does not create a client, fiduciary, or advisory relationship. We do not manage money on behalf of third parties and do not act as agents for any financial institution.

Research & education only. Content, datasets, backtests, charts, code, and software made available here are for informational and educational research. Materials may be incomplete, simulated, hypothetical, or derived from third-party sources that we do not control. Past performance, backtested results, and historical analyses are not indicative of future results. Market conditions change; models may fail; assumptions may be wrong. You are solely responsible for evaluating any information and for all decisions you make.

No responsibility or liability. To the fullest extent permitted by applicable law, QuantifiedTrader and its contributors disclaim all responsibility and liability for any loss, damage, cost, or expense—direct or indirect—arising from access to, use of, or reliance on this website, its content, or its tools. All materials are provided “as is” and “as available,” without warranties of any kind, whether express or implied, including but not limited to accuracy, completeness, fitness for a particular purpose, or non-infringement.

Non-commercial research sharing. This site does not aim to profit from the knowledge, tools, or datasets published here. Materials are shared for non-commercial research and learning, subject to applicable open-source or site terms where noted. We are a research collective, not a commercial product or service provider.

Contact. For questions about this notice, the site, or published research materials, contact support@quantedx.com. Correspondence is for administrative and research purposes only and does not constitute advice or create any professional obligation on our part.

© 2026 QuantifiedTrader. All rights reserved.