Backtested research example
🗓 Backtest period: 2018-01-01..2023-01-01
Spec ID: spec-corrbreakdown-momcrash-us-stocks-1771868534 · Generated: 2026-06-23 07:05 UTC
Cluster: Momentum · Sub Cluster: Momentum Crash Defensive Rotation
Buys recent large-cap US equity momentum winners in normal regimes, but rotates into low-volatility, quality, and cash exposure when crowding/correlation-breakdown crash signals appear. Signals are computed at the close and traded at the next open with weekly rebalancing.
Cross-sectional momentum can earn a premium from underreaction, slow information diffusion, and institutional benchmarking, but the trade is prone to sharp reversals when winners become crowded and their correlations/betas rise together. This strategy attempts to preserve the upside of long-only momentum while reducing exposure during likely momentum-crash regimes.
The defensive trigger is structural rather than purely price-based: it watches whether the winner basket becomes unusually internally correlated, whether winner correlations exceed loser correlations, whether winner beta shifts higher, whether the momentum factor suffers a material drawdown, or whether the broad market trend turns risk-off. In those states, the portfolio rotates toward stocks with lower realized volatility and quality proxies, plus a cash sleeve.
[code omitted from public view]
| Param | Value | Notes |
|---|---|---|
| Universe | Top 200 US stocks by capitalization | Daily bars; provided symbol set includes large-cap US equities and some listed non-US/ADR-like names. |
| Backtest window | 2018-01-01 to 2023-01-01 | One contiguous historical test period. |
| Rebalance frequency | Weekly | Signals at close; trades at next open. |
| Momentum lookback | 252 trading days | Cross-sectional rank signal. |
| Skip period | 20 trading days | Avoids short-term reversal / look-ahead around most recent returns. |
| Winners / losers fraction | 20% / 20% | Winners are held in risk-on; losers are used for diagnostics. |
| Correlation window | 60 trading days | Used for winner/loser internal correlation estimates. |
| Correlation z-score lookback | 252 trading days | Used to normalize crowding/correlation signals. |
| Winner internal corr z threshold | 1.5 | Crash signal when winner crowding is unusually high. |
| Corr spread z threshold | 1.0 | Crash signal when winners are more correlated than losers unusually. |
| Beta shift lookback | 60 trading days | Measures change in winner basket market sensitivity. |
| Beta shift z threshold | 1.0 | Crash signal when winner beta rises unusually. |
| Momentum drawdown trigger | -12% | Crash signal from recent momentum-factor drawdown. |
| Market trend filter | 50-day MA vs 200-day MA | Risk-off when fast MA is below slow MA on largest ETF proxy. |
| Crash regime rule | Enter if >=2 signals; exit if <1 signal | 2-week smoothing applied to signals. |
| Risk-on allocation | 100% long momentum winners | Equal weight with caps. |
| Risk-off allocation | 50% low-vol, 30% quality, 20% cash | Defensive rotation sleeve. |
| Position sizing | Equal weight with 10% cap | Max 40 positions. |
| Risk limits | Max leverage 4.0; sector cap 35%; stop loss 12% | Portfolio and position-level controls. |
| Costs | Not specified | Backtest appears to use no explicit transaction-cost/slippage assumption. |
| # | Concern | Status |
|---|---|---|
| 1 | Signal/execution timing | Signals use close(t) information and execute at next open, reducing same-bar look-ahead risk. |
| 2 | Momentum formation | Uses 252-day lookback with 20-day skip; avoids using the most recent month in ranking. |
| 3 | Rolling z-scores | Correlation and beta z-scores should be computed only from historical windows ending at or before signal close. |
| 4 | Universe construction | Top-200-by-cap universe may embed survivorship or point-in-time membership risk unless constituents/caps are point-in-time. |
| 5 | Fundamental quality proxy | Quality metrics over 8 quarters require reporting-lag handling; must not use restated or future filings. |
| 6 | ETF market proxy | Largest ETF proxy selection should be fixed or point-in-time to avoid future capitalization knowledge. |
From 2018-01-01 to 2023-01-01, the backtest produced a 53.05% total return with 13.56% volatility and a Sharpe ratio of 0.78. Drawdown control was moderate rather than exceptional, with a -21.74% maximum drawdown and Calmar of 0.41. The 76.37% win rate and 1.73 profit factor are encouraging, but the large trade count and absence of explicit costs mean implementation frictions could materially reduce realized performance.
| Metric | Value |
|---|---|
| Total Return | 53.05% |
| Sharpe | 0.78 |
| Sortino | 0.92 |
| Calmar | 0.41 |
| Max Drawdown | -21.74% |
| Volatility | 13.56% |
| Win Rate | 76.37% |
| Profit Factor | 1.73 |
| Total Trades | 10249 |
| Symbols | 200 (AAPL, ABBV, ABNB, ABT, ACN, ACON, ADBE, ADI, ADM, ADP, +190 more) |
Backtests are historical simulations for research purposes only. They are not investment advice and do not guarantee future performance.