Backtested research example
🗓 Backtest period: 2020-01-01..2026-07-15
Spec ID: spec-sector-momentum-rotation-etf-top50-1767027941_v12 · Generated: 2026-07-09 22:58 UTC
Cluster: Momentum · Sub Cluster: Sector Etf Relative Strength Rotation
Monthly rotation strategy that buys the top 3 sector ETFs with the strongest composite relative strength versus SPY over 3, 6, and 12 months. Positions are equal-weighted, traded at the next open after a 1-day signal lag, and constrained by liquidity and per-position caps.
Sector leadership tends to persist over intermediate horizons due to slow-moving macro, earnings, flows, and institutional allocation cycles. Ranking sectors by performance relative to SPY attempts to capture cross-sectional momentum while staying invested in broad, liquid US equity industry exposures.
Using multiple lookbacks reduces dependence on a single horizon and favors sectors with consistent strength across quarterly, semiannual, and annual windows. ETF implementation lowers idiosyncratic single-stock risk and makes the strategy operationally simple, though it remains exposed to equity-market beta and momentum reversal risk.
[code omitted from public view]
| Param | Value | Notes |
|---|---|---|
| Rule type | SECTOR_MOMENTUM |
Sector relative-strength rotation |
| Lookbacks | 63, 126, 252 trading days | Approx. 3/6/12 months |
| Relative strength | ETF total return / SPY total return | Computed separately per lookback |
| Composite score | Mean z-score across lookbacks | Cross-sectional ranking signal |
| Selection count | 3 ETFs | Top-ranked candidates |
| Position sizing | Equal weight | Gross leverage 1.0 |
| Max weight per position | 40% | Risk override; selection count implies ~33.3% target |
| Minimum positions | 3 | cash_if_fewer_candidates=false |
| Rebalance | Monthly, first trading day | Signals refreshed monthly |
| Execution | Next open, 1-day signal lag | Avoids same-day close/open look-ahead |
| Universe | Top 50 ETFs by capitalization | Then filtered to sector ETFs via metadata/name rules |
| Liquidity filter | 63-day ADV >= 250,000 shares | Share-volume based |
| Missing data | Drop if missing any lookback | Require 252 days of history |
| Benchmark | SPY | Used for relative-strength denominator |
| Costs | 10 bps transaction cost + proportional-to-spread slippage proxy | Spread proxy window: 20 days |
| Backtest window | 2020-01-01 to 2026-07-15 specified | Available data context shows 2018-01-01 to 2023-01-01 |
| # | Concern | Status |
|---|---|---|
| 1 | Signal uses future prices | Mitigated: lookbacks use historical returns and execution applies a 1-day signal lag at next open |
| 2 | Universe survivorship / ETF availability | Needs review: top-50 ETF universe and sector classification should be point-in-time by year |
| 3 | Missing history bias | Mitigated but restrictive: candidates require full 252-day history and complete lookbacks |
| 4 | Benchmark alignment | Check required: SPY prices must be available on the same trading calendar as candidate ETFs |
| 5 | Transaction cost timing | Partially addressed: explicit 10 bps cost plus spread-based slippage proxy |
| 6 | Data-period consistency | Needs review: requested backtest extends beyond the stated available data end in the supplied context |
The backtest shows strong absolute performance with total return of 161.24%, Sharpe of 1.21, Sortino of 1.50, and an 85.71% win rate across 56 trades. Risk is still meaningful: annualized volatility is 20.50% and max drawdown is -23.83%, consistent with a concentrated long-only equity sector rotation strategy. The very high profit factor should be interpreted cautiously given the modest trade count and limited effective sample.
| Metric | Value |
|---|---|
| Total Return | 161.24% |
| Sharpe | 1.21 |
| Sortino | 1.50 |
| Calmar | 0.67 |
| Max Drawdown | -23.83% |
| Volatility | 20.50% |
| Win Rate | 85.71% |
| Profit Factor | 27.17 |
| Total Trades | 56 |
| Symbols | 50 (AGG, BIL, BIV, BND, BNDX, BSV, DIA, EFA, GLD, IEFA, +40 more) |
Backtests are historical simulations for research purposes only. They are not investment advice and do not guarantee future performance.