← Sector Rotation Screen home
⚠ Strategy did NOT beat SPY net of 10 bps trading cost in the backtest since May 2011. Cumulative: strategy +257.75% vs SPY +639.48%.
Mid-cycle
INDPRO YoY +1.4% between 0.0% and 4.0% with curve +0.46: steady expansion.
Sector Scores & Signals
| ETF |
Name |
Last |
% From 52W High |
Seasonality |
n yrs |
Cycle Fit |
Rel Strength |
RS 3m |
Composite |
Signal |
| XLK |
Technology |
$191.02 |
0.00% |
82.0 |
20 |
100.0 |
98.0 |
27.26% |
93.8 |
Buy |
| XLC |
Communications |
$115.69 |
-3.35% |
80.9 ⚠ |
8 |
100.0 |
12.6 |
-12.26% |
59.3 |
Hold |
| XLB |
Materials |
$51.15 |
-4.18% |
59.7 |
20 |
50.0 |
33.4 |
-14.38% |
46.3 |
Hold |
| XLE |
Energy |
$56.29 |
-10.02% |
47.7 |
20 |
50.0 |
41.6 |
-9.26% |
46.0 |
Hold |
| XLI |
Industrials |
$173.13 |
-2.95% |
58.9 |
20 |
50.0 |
31.2 |
-12.57% |
45.1 |
Hold |
| XLRE |
Real Estate |
$43.99 |
-1.68% |
63.4 |
11 |
50.0 |
21.8 |
-9.56% |
42.7 |
Hold |
| XLY |
Consumer Discretionary |
$120.87 |
-2.74% |
59.0 |
20 |
50.0 |
22.2 |
-6.94% |
41.6 |
Hold |
| XLF |
Financials |
$51.58 |
-8.08% |
53.3 |
20 |
50.0 |
12.1 |
-9.77% |
35.8 |
Avoid |
| XLV |
Healthcare |
$149.47 |
-6.31% |
67.0 |
20 |
35.0 |
12.7 |
-16.89% |
35.7 |
Avoid |
| XLP |
Consumer Staples |
$82.91 |
-7.37% |
54.0 |
20 |
35.0 |
15.9 |
-17.95% |
33.1 |
Avoid |
| XLU |
Utilities |
$44.42 |
-6.28% |
57.5 |
20 |
35.0 |
8.2 |
-16.86% |
31.0 |
Avoid |
Click any column header to sort. ⚠ flags sectors with under 10 years of history. Composite weights and signal thresholds tunable in config.py.
Backtest since May 2011
Strategy cum return
+257.75%
SPY: +639.48%
Strategy CAGR
+8.87%
SPY: +14.27%
Strategy Sharpe
0.64
SPY: 0.99
Max drawdown
-29.12%
SPY: -22.93%
Equity curves start at 1.00. Trading cost 10 bps applied to turnover at each rebalance. Cash held when no sectors clear MIN_SCORE_TO_HOLD=50.
Seasonality Heatmap (avg monthly return by sector)
| Sector |
Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec |
| XLK |
+0.1% |
+0.7% |
+1.5% |
+2.8% |
+3.3% |
+0.8% |
+3.2% |
+1.0% |
-0.2% |
+1.8% |
+2.0% |
+0.8% |
| XLF |
-0.2% |
-0.5% |
+0.2% |
+2.6% |
+0.1% |
-1.2% |
+2.7% |
+0.3% |
-0.6% |
+1.1% |
+2.3% |
+1.0% |
| XLE |
+1.3% |
+1.6% |
+1.3% |
+3.4% |
-0.2% |
+0.3% |
+0.6% |
-1.5% |
-0.8% |
+1.6% |
+2.3% |
-0.1% |
| XLV |
+0.9% |
-0.2% |
+0.8% |
+1.0% |
+0.7% |
+0.9% |
+2.2% |
+0.6% |
-0.3% |
+0.6% |
+2.7% |
+0.9% |
| XLI |
+0.5% |
+1.0% |
+0.8% |
+2.2% |
+0.5% |
-0.4% |
+2.4% |
-0.0% |
-0.0% |
+0.9% |
+3.5% |
+0.6% |
| XLY |
+0.8% |
-0.0% |
+0.8% |
+3.1% |
+0.3% |
+0.2% |
+2.9% |
+0.7% |
+0.4% |
+0.5% |
+2.7% |
+0.5% |
| XLP |
-0.2% |
+0.6% |
+1.6% |
+1.5% |
+0.0% |
+0.1% |
+2.1% |
+0.5% |
-0.3% |
+0.8% |
+2.2% |
+0.7% |
| XLU |
+0.2% |
-0.7% |
+2.6% |
+2.0% |
+0.3% |
+0.0% |
+2.3% |
+0.2% |
-0.5% |
+1.7% |
+0.9% |
+0.7% |
| XLB |
-0.0% |
+1.5% |
+1.3% |
+2.6% |
+0.4% |
-0.7% |
+2.1% |
-0.1% |
-1.4% |
+0.8% |
+2.9% |
+0.6% |
| XLRE |
+0.5% |
-0.3% |
+0.9% |
+1.0% |
+0.4% |
+1.9% |
+3.3% |
+0.7% |
-2.9% |
-0.9% |
+3.1% |
+0.5% |
| XLC |
+4.2% |
-0.9% |
-0.8% |
+2.0% |
+2.6% |
+1.9% |
+2.4% |
+1.5% |
-2.0% |
-0.7% |
+3.5% |
-0.0% |
Green > 0%, red < 0%. Cells require ≥5 years of history for that month.
3-Month Relative Strength vs SPY