Sector ETFs month by month: in six months, all nine land on the same side of holding
Nine sector funds and twelve months, each cell a fixed rule against the fund's own ordinary exposure. A description, not a list of signals.
In January, June, August and September, all nine original sector ETFs trailed an ordinary hold of the same length on average; in March and April, all nine were ahead. November was ahead on eight of nine and passed every check on seven, more than any other month. Across the grid, 55 of 108 sector-months beat holding on average and 24 pass every check, 15 of them narrowly. With 108 rules read at once, some may have passed by chance. In six calendar months all nine funds' average excess had the same sign; the grid describes 1999–2025, gross, and ranks nothing.
Nine sector funds, fixed before any result was read
The grid uses the nine original Select Sector SPDR ETFs, the funds that split the S&P 500 into sectors when they launched in December 1998: XLK technology; XLF financials; XLE energy; XLV health care; XLI industrials; XLP consumer staples; XLY consumer discretionary; XLU utilities; XLB materials. They were chosen before evaluation because they have the longest shared history. The two later sector funds, real estate (2015) and communication services (2018), are left out: too few years to read beside the others.
The price history here begins in November 1999, so November and December start in 1999 and the other months in 2000. Each December belongs to the year it starts in, so December's history ends in 2024. In every month the nine funds cover exactly the same years, so they can be read side by side without matching. Each trade is compared with an ordinary hold of the same fund for the same number of sessions.
These are today's funds. Their contents have changed: real estate companies left the financial fund in 2016, and several large technology and consumer companies moved to the communication services fund in 2018. A sector's history here is the fund's history, not one fixed group of companies.
The grid: each fund's month against its own ordinary hold
Each cell is one rule: one fund, one month, averaged over every year it was observed, minus an ordinary hold of the same fund for the same number of sessions. Blue cells beat holding on average, orange cells trailed it.
Whole columns share a colour more often than whole rows.
The grid as a table
| Fund | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| XLK | −0.70 pp | −1.25 pp | +0.18 pp | +0.52 pp | +0.51 pp | −0.35 pp | +1.01 pp | −0.64 pp | −2.62 pp | +1.95 pp | +1.98 pp | −0.40 pp |
| XLF | −1.23 pp | −1.60 pp | +0.24 pp | +1.62 pp | +0.08 pp | −1.85 pp | +1.66 pp | −0.65 pp | −1.57 pp | +0.57 pp | +1.64 pp | +0.61 pp |
| XLE | −0.23 pp | +0.70 pp | +0.35 pp | +1.82 pp | +0.22 pp | −0.76 pp | −1.14 pp | −1.74 pp | −1.06 pp | +0.14 pp | +1.32 pp | +0.21 pp |
| XLV | −0.01 pp | −1.08 pp | +0.21 pp | +0.57 pp | −0.15 pp | −0.29 pp | +0.64 pp | −0.68 pp | −1.68 pp | −0.43 pp | +1.86 pp | +0.89 pp |
| XLI | −1.67 pp | −0.49 pp | +0.28 pp | +1.16 pp | +0.13 pp | −1.61 pp | +0.99 pp | −0.83 pp | −1.84 pp | +0.42 pp | +2.83 pp | +0.32 pp |
| XLP | −1.33 pp | −0.71 pp | +0.86 pp | +0.92 pp | −0.08 pp | −0.95 pp | +0.83 pp | −0.39 pp | −1.06 pp | +0.76 pp | +1.16 pp | −0.09 pp |
| XLY | −1.02 pp | −0.97 pp | +0.38 pp | +1.51 pp | −0.78 pp | −1.05 pp | +1.24 pp | −1.04 pp | −1.36 pp | +0.29 pp | +2.17 pp | +0.17 pp |
| XLU | −1.17 pp | −1.98 pp | +1.79 pp | +1.47 pp | +0.05 pp | −0.74 pp | +0.28 pp | −0.31 pp | −0.69 pp | +0.43 pp | −0.01 pp | +0.60 pp |
| XLB | −1.98 pp | −0.11 pp | +0.97 pp | +1.07 pp | −0.12 pp | −1.57 pp | +0.89 pp | −1.35 pp | −2.84 pp | +0.88 pp | +3.09 pp | +0.82 pp |
Six months look alike across all nine funds
In six of the twelve months every fund's average excess had the same sign. This compares averages over all the years observed; it does not say the funds moved together in any single year. January, June, August and September trailed in all nine; March and April were ahead in all nine. February was close to the first group, with energy the one fund ahead, and November close to the second, with utilities the one fund behind, by −0.011 pp: a tie with holding, in practice.
| Month | Years | Ahead on average | Every check | Lowest | Highest |
|---|---|---|---|---|---|
| January | 26 | 0 / 9 | 0 / 9 | −1.98 pp | −0.01 pp |
| February | 26 | 1 / 9 | 0 / 9 | −1.98 pp | +0.70 pp |
| March | 26 | 9 / 9 | 2 / 9 | +0.18 pp | +1.79 pp |
| April | 26 | 9 / 9 | 3 / 9 | +0.52 pp | +1.82 pp |
| May | 26 | 5 / 9 | 1 / 9 | −0.78 pp | +0.51 pp |
| June | 26 | 0 / 9 | 0 / 9 | −1.85 pp | −0.29 pp |
| July | 26 | 8 / 9 | 5 / 9 | −1.14 pp | +1.66 pp |
| August | 26 | 0 / 9 | 0 / 9 | −1.74 pp | −0.31 pp |
| September | 26 | 0 / 9 | 0 / 9 | −2.84 pp | −0.69 pp |
| October | 26 | 8 / 9 | 2 / 9 | −0.43 pp | +1.95 pp |
| November | 27 | 8 / 9 | 7 / 9 | −0.01 pp | +3.09 pp |
| December | 26 | 7 / 9 | 4 / 9 | −0.40 pp | +0.89 pp |
November stands out on the stricter reading: seven of nine funds pass every check, against at most five in any other month. The broad-market fund shows the same month: November on SPY passes the same checks. The nine sector cells may largely restate one market month seen through nine funds; they are not nine separate findings.
September is the other end. Every fund trailed holding there, and every fund but utilities lost money on an average September trade.
No fund was ahead in every month, and none behind in all
Read the other way, by fund, the grid is less tidy. Every fund was ahead of holding in five to seven months and passed every check in at most four. Energy is the clearest case of averages that do not survive the checks: it was ahead in seven months, more than most, and passed every check in none.
| Fund | Sector | Months ahead | Every check | Months losing money |
|---|---|---|---|---|
| XLK | Technology | 6 / 12 | 4 / 12 | Feb, Sep |
| XLF | Financials | 7 / 12 | 3 / 12 | Jan, Feb, Jun, Sep |
| XLE | Energy | 7 / 12 | 0 / 12 | Jul, Aug, Sep |
| XLV | Health care | 5 / 12 | 3 / 12 | Feb, Sep |
| XLI | Industrials | 7 / 12 | 1 / 12 | Jan, Jun, Sep |
| XLP | Consumer staples | 5 / 12 | 4 / 12 | Jan, Feb, Jun, Sep |
| XLY | Consumer discretionary | 6 / 12 | 3 / 12 | Jan, Feb, Jun, Aug, Sep |
| XLU | Utilities | 6 / 12 | 4 / 12 | Jan, Feb |
| XLB | Materials | 6 / 12 | 2 / 12 | Jan, Jun, Aug, Sep |
Within March and April, the two months every fund was ahead, utilities beat holding in more years than any other fund: 20 and 19 of 26, by +1.79 pp and +1.47 pp on average. They are still two cells of 108, picked here after reading the grid.
The largest cell was picked after the fact
The largest average in the grid is materials in November, +3.09 pp a year, ahead in 22 of 27 years. Choosing it after reading 108 results is a selection: the top of many results tends to look better than a rule picked in advance would, even if no month mattered at all. No significance test, and no adjustment for the number of rules read, is supplied with this evidence.
So the grid is descriptive. The 24 cells that pass every check describe the past; they are not a list of signals, and the top cell is not a recommendation. A pattern shared by several funds is not a set of independent confirmations either: the funds hold overlapping parts of the same market, so their results are correlated.
Sharper questions worth testing on their own
A grid suggests questions; it does not answer them. Three that this one raises, each a separate, fixed rule to test on its own evidence:
- Is November stronger in any sector than in the broad market, or is it the same market month seen nine times?
- Do utilities' March and April hold up on another utilities fund, or in years before these funds existed?
- Is energy's weak late summer specific to the fund, or does it appear in the commodity itself?
Each answer would need its own evidence. A question chosen after reading this grid is one more comparison, not a confirmation.
Every sector-month, open to inspection
The average excess of every cell is in the grid above. Below, the years each cell beat holding. The download holds every one of the 2,817 monthly trades behind the grid, with dates, gross returns and each trade's matched hold.
Years beating holding, by fund and month
| Fund | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| XLK | 12 / 26 | 12 / 26 | 16 / 26 | 14 / 26 | 16 / 26 | 11 / 26 | 18 / 26 | 12 / 26 | 12 / 26 | 16 / 26 | 18 / 27 | 16 / 26 |
| XLF | 10 / 26 | 12 / 26 | 13 / 26 | 14 / 26 | 16 / 26 | 7 / 26 | 17 / 26 | 13 / 26 | 11 / 26 | 15 / 26 | 17 / 27 | 17 / 26 |
| XLE | 12 / 26 | 15 / 26 | 16 / 26 | 13 / 26 | 13 / 26 | 12 / 26 | 14 / 26 | 11 / 26 | 13 / 26 | 13 / 26 | 14 / 27 | 15 / 26 |
| XLV | 14 / 26 | 12 / 26 | 14 / 26 | 15 / 26 | 16 / 26 | 11 / 26 | 16 / 26 | 13 / 26 | 10 / 26 | 12 / 26 | 19 / 27 | 16 / 26 |
| XLI | 9 / 26 | 15 / 26 | 14 / 26 | 14 / 26 | 16 / 26 | 8 / 26 | 14 / 26 | 10 / 26 | 13 / 26 | 16 / 26 | 21 / 27 | 15 / 26 |
| XLP | 8 / 26 | 14 / 26 | 17 / 26 | 16 / 26 | 15 / 26 | 9 / 26 | 17 / 26 | 11 / 26 | 11 / 26 | 15 / 26 | 18 / 27 | 14 / 26 |
| XLY | 12 / 26 | 11 / 26 | 11 / 26 | 16 / 26 | 11 / 26 | 11 / 26 | 16 / 26 | 11 / 26 | 11 / 26 | 14 / 26 | 19 / 27 | 17 / 26 |
| XLU | 12 / 26 | 12 / 26 | 20 / 26 | 19 / 26 | 12 / 26 | 12 / 26 | 16 / 26 | 14 / 26 | 13 / 26 | 17 / 26 | 14 / 27 | 16 / 26 |
| XLB | 10 / 26 | 14 / 26 | 15 / 26 | 13 / 26 | 15 / 26 | 9 / 26 | 13 / 26 | 9 / 26 | 10 / 26 | 13 / 26 | 22 / 27 | 16 / 26 |
What this page cannot tell you
Each cell has 26 or 27 observations, and the grid has 108 of them. The excess is measured against an average of each fund's historical holds, so it is not a risk-adjusted return, and a cell that beat its own fund's hold did not necessarily beat another fund or the market. All figures are gross of costs.
Path risk is not measured. Open-to-open returns over a month do not show how far a month fell along the way. The cause of any pattern is not identified here: sector rotation, earnings seasons and commodity cycles are explanations people offer, and nothing here tests them. The results describe these nine funds as they have been run, not a fixed set of companies.
Open a sector month in Check
Check runs any cell of this grid with every trade. Pick a fund and a month; you can change the side there.
XLK in Check: Jan · Feb · Mar · Apr · May · Jun · Jul · Aug · Sep · Oct · Nov · Dec
XLF in Check: Jan · Feb · Mar · Apr · May · Jun · Jul · Aug · Sep · Oct · Nov · Dec
XLE in Check: Jan · Feb · Mar · Apr · May · Jun · Jul · Aug · Sep · Oct · Nov · Dec
XLV in Check: Jan · Feb · Mar · Apr · May · Jun · Jul · Aug · Sep · Oct · Nov · Dec
XLI in Check: Jan · Feb · Mar · Apr · May · Jun · Jul · Aug · Sep · Oct · Nov · Dec
XLP in Check: Jan · Feb · Mar · Apr · May · Jun · Jul · Aug · Sep · Oct · Nov · Dec
XLY in Check: Jan · Feb · Mar · Apr · May · Jun · Jul · Aug · Sep · Oct · Nov · Dec
XLU in Check: Jan · Feb · Mar · Apr · May · Jun · Jul · Aug · Sep · Oct · Nov · Dec
XLB in Check: Jan · Feb · Mar · Apr · May · Jun · Jul · Aug · Sep · Oct · Nov · Dec
Needs a SeasonalEdge account; signing in returns you to this rule.
Every month on IWM · Why matching history matters in ETF comparisons · Get new research by email
Sources and research notes
- Evidence: SeasonalEdge MCP
check_rule, retrieved 2026-10-20: the twelve monthly rules (MOY, long) on XLK, XLF, XLE, XLV, XLI, XLP, XLY, XLU, XLB, 108 answers saved unchanged. - Run: evaluator run
scan_20261004T193904Z; research cutoff 31 December 2025; prices through 16 October 2026. Rule IDs are in the page's data. - Derived figures: the counts of funds and months and the lowest and highest averages are tallies of the evaluator's fields; every cell's average excess and years beating holding are evaluator fields.
- Definitions: How SeasonalEdge research is computed and the glossary. All research.
The nine funds and twelve months were fixed before evaluation; every cell is shown.
Join our newsletter
We share our research, product news and upcoming seasonalities. Free, and you can unsubscribe at any time.