← Sector Rotation Screen home
Mid-cycle
INDPRO YoY +1.1% between 0.0% and 4.0% with curve +0.43: steady expansion.
Sector Scores & Signals
| ETF |
Name |
Last |
% From 52W High |
Seasonality |
n yrs |
Cycle Fit |
Rel Strength |
RS 3m |
Composite |
Signal |
| XLK |
Technology |
$187.28 |
-5.40% |
51.1 |
21 |
100.0 |
66.9 |
-0.70% |
76.2 |
Buy |
| XLC |
Communications |
$112.03 |
-6.16% |
32.0 ⚠ |
9 |
100.0 |
43.6 |
-4.11% |
63.3 |
Watch |
| XLE |
Energy |
$64.06 |
-1.60% |
45.7 |
21 |
50.0 |
81.4 |
7.19% |
59.9 |
Hold |
| XLV |
Healthcare |
$171.45 |
-2.41% |
48.5 |
21 |
35.0 |
75.2 |
7.85% |
52.4 |
Hold |
| XLF |
Financials |
$58.10 |
-0.79% |
43.7 |
21 |
50.0 |
51.3 |
6.78% |
48.9 |
Hold |
| XLU |
Utilities |
$43.08 |
-8.53% |
50.6 |
21 |
35.0 |
49.2 |
-6.94% |
43.9 |
Hold |
| XLB |
Materials |
$52.44 |
-2.29% |
34.4 |
21 |
50.0 |
39.4 |
-0.73% |
42.4 |
Hold |
| XLY |
Consumer Discretionary |
$114.91 |
-7.35% |
51.9 |
21 |
50.0 |
25.1 |
-4.45% |
41.8 |
Hold |
| XLP |
Consumer Staples |
$84.58 |
-4.85% |
46.0 |
21 |
35.0 |
42.3 |
-2.62% |
40.3 |
Hold |
| XLI |
Industrials |
$175.27 |
-6.03% |
54.7 |
21 |
50.0 |
18.8 |
-3.82% |
40.3 |
Hold |
| XLRE |
Real Estate |
$43.93 |
-4.52% |
19.3 |
11 |
50.0 |
31.6 |
-5.56% |
35.9 |
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
+662.70%
SPY: +654.00%
Strategy CAGR
+14.25%
SPY: +14.16%
Strategy Sharpe
0.89
SPY: 0.99
Max drawdown
-18.78%
SPY: -22.93%
Equity curves start at 1.00. Trading cost 1 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.9% |
+2.9% |
+1.0% |
-0.2% |
+1.8% |
+2.0% |
+0.8% |
| XLF |
-0.2% |
-0.5% |
+0.2% |
+2.6% |
+0.1% |
-1.0% |
+2.9% |
+0.3% |
-0.5% |
+1.1% |
+2.3% |
+1.0% |
| XLE |
+1.3% |
+1.6% |
+1.3% |
+3.4% |
-0.2% |
-0.1% |
+1.1% |
-0.9% |
-0.7% |
+1.6% |
+2.3% |
-0.1% |
| XLV |
+0.9% |
-0.2% |
+0.8% |
+1.0% |
+0.7% |
+1.2% |
+2.1% |
+0.7% |
-0.2% |
+0.6% |
+2.7% |
+0.9% |
| XLI |
+0.5% |
+1.0% |
+0.8% |
+2.2% |
+0.5% |
-0.1% |
+2.6% |
-0.2% |
-0.0% |
+0.9% |
+3.5% |
+0.6% |
| XLY |
+0.8% |
-0.0% |
+0.8% |
+3.1% |
+0.3% |
+0.1% |
+3.0% |
+0.6% |
+0.3% |
+0.5% |
+2.7% |
+0.5% |
| XLP |
-0.2% |
+0.6% |
+1.6% |
+1.5% |
+0.0% |
+0.0% |
+2.2% |
+0.3% |
-0.3% |
+0.8% |
+2.2% |
+0.7% |
| XLU |
+0.2% |
-0.7% |
+2.6% |
+2.0% |
+0.3% |
+0.0% |
+1.9% |
-0.2% |
-0.4% |
+1.7% |
+0.9% |
+0.7% |
| XLB |
-0.0% |
+1.5% |
+1.3% |
+2.6% |
+0.4% |
-0.7% |
+2.3% |
-0.1% |
-1.4% |
+0.8% |
+2.9% |
+0.6% |
| XLRE |
+0.5% |
-0.3% |
+0.9% |
+1.0% |
+0.4% |
+1.8% |
+3.2% |
+0.4% |
-2.7% |
-0.9% |
+3.1% |
+0.5% |
| XLC |
+4.2% |
-0.9% |
-0.8% |
+2.0% |
+2.6% |
+0.8% |
+2.2% |
+1.7% |
-1.8% |
-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
Drill-Down: XLK (Technology)
BUY
Sub-Sector ETFs (ranked by composite)
| ETF | Theme | Composite | Signal |
RSI | vs 20d | vs 50d |
Vol | Entry Timing |
| SKYY |
Cloud Computing |
58.0 |
Hold |
56 |
-0.4% |
+8.8% |
1.2x |
Reasonable |
| SMH |
Semiconductors |
56.9 |
Hold |
51 |
+0.3% |
-1.2% |
0.9x |
Reasonable |
| IGV |
Software |
41.1 |
Hold |
54 |
-0.0% |
+6.8% |
1.0x |
Reasonable |
| FDN |
Internet |
39.5 |
Avoid |
56 |
+0.5% |
+4.3% |
0.6x |
Reasonable |
| CIBR |
Cybersecurity |
35.3 |
Avoid |
48 |
-2.5% |
+0.8% |
1.0x |
Good entry |
| BOTZ |
AI & Robotics |
20.8 |
Avoid |
49 |
-1.2% |
-0.4% |
1.1x |
Good entry |
RSI(14): <30 oversold, >70 overbought. vs 20d/50d: distance from moving average. Vol: 5-day avg volume ÷ 20-day avg (>1 = rising interest).
Top Holdings in SKYY
(Cloud Computing)
| Ticker | Name | Weight |
Composite | Signal |
RSI | vs 20d | vs 50d |
Vol | Entry Timing |
| DDOG |
Datadog |
3.0% |
60.8 |
Hold |
39 |
-9.5% |
-14.6% |
1.0x |
Oversold |
| SNOW |
Snowflake |
3.5% |
53.6 |
Hold |
57 |
+2.7% |
+13.4% |
1.9x |
Reasonable |
| WDAY |
Workday |
2.5% |
48.5 |
Hold |
56 |
+0.3% |
+18.1% |
0.7x |
Reasonable |
| PLTR |
Palantir |
2.5% |
43.9 |
Hold |
54 |
-1.5% |
+16.3% |
0.9x |
Reasonable |
| NET |
Cloudflare |
2.5% |
37.6 |
Avoid |
47 |
-5.9% |
-0.5% |
0.8x |
Oversold |
| MDB |
MongoDB |
3.0% |
36.9 |
Avoid |
42 |
-13.3% |
-1.3% |
1.8x |
Oversold |
| MSFT |
Microsoft |
5.0% |
31.7 |
Avoid |
60 |
+0.9% |
+12.7% |
0.9x |
Reasonable |
| GOOGL |
Alphabet |
4.5% |
18.1 |
Avoid |
45 |
-1.4% |
-2.8% |
1.1x |
Good entry |
| AMZN |
Amazon |
5.0% |
15.8 |
Avoid |
50 |
-1.4% |
+1.8% |
1.0x |
Good entry |
RSI(14): <30 oversold, >70 overbought. vs 20d/50d: distance from moving average. Vol: 5-day avg volume ÷ 20-day avg (>1 = rising interest).
Drill-Down: XLC (Communications)
WATCH
Sub-Sector ETFs (ranked by composite)
| ETF | Theme | Composite | Signal |
RSI | vs 20d | vs 50d |
Vol | Entry Timing |
| NERD |
Gaming & Esports |
60.0 |
Hold |
59 |
+0.4% |
+5.3% |
0.5x |
Reasonable |
| SOCL |
Social Media |
36.1 |
Avoid |
49 |
-0.2% |
-0.9% |
0.3x |
Good entry |
RSI(14): <30 oversold, >70 overbought. vs 20d/50d: distance from moving average. Vol: 5-day avg volume ÷ 20-day avg (>1 = rising interest).
Top Holdings in NERD
(Gaming & Esports)
| Ticker | Name | Weight |
Composite | Signal |
RSI | vs 20d | vs 50d |
Vol | Entry Timing |
| EA |
Electronic Arts |
7.7% |
nan |
Hold |
— |
— |
— |
— |
— |
| NEXOY |
Nexon |
4.5% |
85.9 |
Buy |
65 |
+5.2% |
+23.3% |
0.4x |
Extended |
| NCBDY |
Bandai Namco |
4.0% |
61.3 |
Hold |
70 |
+2.8% |
+20.3% |
0.9x |
Reasonable |
| CCOEY |
Capcom |
3.4% |
60.5 |
Hold |
71 |
+6.7% |
+19.9% |
0.9x |
Extended |
| RBLX |
Roblox |
8.3% |
60.4 |
Hold |
58 |
+11.6% |
-4.4% |
0.9x |
Extended |
| U |
Unity Software |
4.3% |
51.9 |
Hold |
52 |
-6.0% |
+14.0% |
0.9x |
Oversold |
| KONMY |
Konami |
4.4% |
40.0 |
Avoid |
74 |
+3.1% |
+12.2% |
0.0x |
Extended |
| NTDOY |
Nintendo |
10.8% |
39.0 |
Avoid |
65 |
+2.5% |
+15.2% |
0.7x |
Reasonable |
| TTWO |
Take-Two Interactive |
7.4% |
30.4 |
Avoid |
31 |
-8.4% |
-10.4% |
1.3x |
Oversold |
| NTES |
NetEase |
10.8% |
14.7 |
Avoid |
44 |
-3.3% |
-5.6% |
0.7x |
Good entry |
RSI(14): <30 oversold, >70 overbought. vs 20d/50d: distance from moving average. Vol: 5-day avg volume ÷ 20-day avg (>1 = rising interest).
Drill-Down: XLE (Energy)
WATCH
Sub-Sector ETFs (ranked by composite)
| ETF | Theme | Composite | Signal |
RSI | vs 20d | vs 50d |
Vol | Entry Timing |
| XOP |
Oil & Gas E&P |
70.5 |
Buy |
64 |
+2.9% |
+9.9% |
0.8x |
Reasonable |
| URA |
Uranium / Nuclear |
48.4 |
Hold |
55 |
+1.2% |
+7.0% |
0.9x |
Reasonable |
| OIH |
Oil Services |
44.9 |
Hold |
60 |
+2.1% |
+8.4% |
1.1x |
Reasonable |
| AMLP |
MLPs / Midstream |
34.3 |
Avoid |
62 |
+1.2% |
+3.8% |
0.9x |
Reasonable |
RSI(14): <30 oversold, >70 overbought. vs 20d/50d: distance from moving average. Vol: 5-day avg volume ÷ 20-day avg (>1 = rising interest).
Top Holdings in XOP
(Oil & Gas E&P)
| Ticker | Name | Weight |
Composite | Signal |
RSI | vs 20d | vs 50d |
Vol | Entry Timing |
| SM |
SM Energy |
2.9% |
90.3 |
Buy |
59 |
+2.7% |
+14.3% |
0.9x |
Reasonable |
| APA |
APA Corp |
2.9% |
80.2 |
Buy |
58 |
+1.0% |
+13.3% |
0.8x |
Reasonable |
| CHRD |
Chord Energy |
2.8% |
51.8 |
Hold |
58 |
+2.1% |
+10.3% |
0.9x |
Reasonable |
| MUR |
Murphy Oil |
2.9% |
50.3 |
Hold |
51 |
+1.4% |
+2.5% |
0.9x |
Reasonable |
| CVX |
Chevron |
2.8% |
43.6 |
Hold |
65 |
+2.9% |
+9.8% |
1.0x |
Reasonable |
| VG |
Venture Global |
3.2% |
36.5 |
Avoid |
54 |
+1.6% |
+8.1% |
0.9x |
Reasonable |
| TPL |
Texas Pacific Land |
2.7% |
35.4 |
Avoid |
44 |
-0.7% |
-6.4% |
0.8x |
Good entry |
| FANG |
Diamondback Energy |
2.8% |
33.9 |
Avoid |
49 |
-1.9% |
+2.4% |
1.3x |
Good entry |
| XOM |
Exxon Mobil |
2.8% |
19.5 |
Avoid |
52 |
-1.1% |
+4.7% |
1.0x |
Reasonable |
RSI(14): <30 oversold, >70 overbought. vs 20d/50d: distance from moving average. Vol: 5-day avg volume ÷ 20-day avg (>1 = rising interest).