Backtested research example
🗓 Backtest period: 2020-01-01..2026-07-01
Spec ID: spec-sector-momentum-rotation-etf-top50-1767027941_v15 · Generated: 2026-07-10 10:42 UTC
Cluster: Momentum · Sub Cluster: Sector Etf Relative Strength Rotation
Monthly rotates into the three most attractive U.S. sector ETFs based on composite 3-, 6-, and 12-month relative strength versus SPY. Positions are equal-weighted, long-only, and traded at the next open after a one-day signal lag.
Sector leadership tends to persist over intermediate horizons because macro shocks, earnings revisions, policy regimes, and investor flows affect industries unevenly. Ranking sectors relative to SPY attempts to isolate cross-sectional leadership from the broad equity-market beta component.
Using multiple lookbacks reduces dependence on a single momentum horizon: 3-month strength captures faster rotation, while 6- and 12-month strength emphasize more durable trends. ETF implementation keeps the trade liquid and diversified within each sector, but the edge remains exposed to momentum crashes and regime reversals.
[code omitted from public view]
| Param | Value | Notes |
|---|---|---|
| Universe | Top 50 U.S. ETFs by capitalization | Sector ETF filter applied using metadata/name keywords such as Select Sector, Sector, SPDR, XL |
| Benchmark | SPY | Relative strength denominator |
| Lookbacks | 63, 126, 252 trading days | Approx. 3/6/12 months |
| Score | Mean z-score across lookbacks | Cross-sectional normalization by horizon |
| Selection count | 3 ETFs | Top-ranked sector ETFs only |
| Position sizing | Equal weight | Long-only, gross leverage 1.0 |
| Max weight per position | 40% | Risk override; effectively non-binding for 3 equal weights unless fewer names |
| Min positions | 3 | Strategy expects at least 3 candidates |
| Rebalance | Monthly, first trading day | Signals lagged by 1 trading day |
| Execution | Next open | Uses prior signal to reduce look-ahead risk |
| Liquidity filter | 63-day ADV >= 250,000 shares | Share-volume based liquidity screen |
| Missing data | Drop if missing any lookback | Requires 252 trading days of history |
| Costs | 10 bps transaction cost + proportional spread slippage | Spread proxy uses 20 days |
| Stop loss | None | No explicit downside stop |
| Volatility targeting | False | Full exposure maintained when invested |
| Backtest window | 2020-01-01 to 2026-07-01 specified | Provided data period is 2018-01-01 to 2023-01-01; verify effective test coverage |
| # | Concern | Status |
|---|---|---|
| 1 | Signal uses prices unavailable at rebalance execution | Mitigated by 1-trading-day signal lag and next-open execution |
| 2 | ETF universe membership may use future metadata or current top-50 list | Needs verification; annual point-in-time screening is indicated but survivorship risk remains possible |
| 3 | Relative strength calculations may include same-day close before next-open trade | Acceptable if signal date precedes execution date after lag |
| 4 | Missing data and liquidity filters could accidentally use forward information | Should be computed only from trailing history as specified |
| 5 | Corporate actions / total return adjustment | Requires adjusted total-return series or dividend-adjusted ETF prices |
| 6 | Backtest date coverage inconsistency | Backtest interval and available data period should be reconciled before relying on live expectations |
The backtest shows strong absolute performance for a simple monthly sector-rotation rule, with total return of 159.28%, Sharpe of 1.21, Sortino of 1.49, and Calmar of 0.66. Risk is material: volatility is 20.39% and max drawdown reaches -23.83%, consistent with concentrated long-only equity-sector exposure. The high win rate of 85.71% and profit factor of 26.94 over 56 trades are encouraging but should be interpreted cautiously given the short effective sample and the need to validate point-in-time universe construction.
| Metric | Value |
|---|---|
| Total Return | 159.28% |
| Sharpe | 1.21 |
| Sortino | 1.49 |
| Calmar | 0.66 |
| Max Drawdown | -23.83% |
| Volatility | 20.39% |
| Win Rate | 85.71% |
| Profit Factor | 26.94 |
| 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.