XLE vs SPY 20-day forward returns after rising 10-year yields with Brent above its 50-day SMA
The setup looked like a textbook inflation-hedge signal: a 20-session spike in the 10-year Treasury yield with Brent crude holding above its 50-day moving average should draw flows into energy equities. Over the past three years, that logic flipped hard.
On the 13 days that met both conditions, XLE averaged roughly -5% over the next 20 sessions, while SPY averaged around +7.5%. The mean spread was about -12.5 percentage points, and XLE lagged in every single case. The direction is striking, but the sample is thin and the windows overlap, so the exact magnitude deserves skepticism.
What follows is the full breakdown: trigger history, statistical tests, and the scatter behind each event. Read it as a documented anomaly, not a rule.
Over the past ~3 years, when the 10-year Treasury yield rises more than 20 bps over a rolling 20-session window while Brent crude closes above its 50-day simple moving average, does XLE outperform SPY over the next 20 trading days? I expect rising long-end yields with firm crude to signal demand-led inflation, so the energy complex should attract inflation-hedge flows and beat the broad market.
How this was measured
Daily closes for XLE and SPY were built from minute bars and aligned on common trading days. The 10-year Treasury yield from treasury_10y_df and Brent crude from brent_daily_df were reindexed onto those trading days with forward-fill. The yield-change condition was tsy[t] - tsy[t-20] > 0.20 percentage points, and the Brent condition was close > 50-session simple moving average. For each day meeting both conditions, forward 20-session returns were computed close-to-close for XLE and SPY, and outperformance was measured as the arithmetic difference XLE minus SPY. The trigger-day spread was tested against zero with a one-sample t-test and against all non-trigger forward windows with a Welch t-test. Overlapping 20-day windows are a known limitation and are called out below.
The key numbers
Reading the numbers
On trigger days, XLE averaged about -5.0% over the next 20 sessions while SPY gained 7.5%, a -12.5% gap. With only 13 triggers, the gap was still statistically significant (p<0.05), so energy lagged, not led.
The charts
This box plot compares the 20-day XLE-minus-SPY spread on trigger days versus all other days. The trigger-day box sits entirely below zero, with every observed spread negative and a mean of -12.52%, while the baseline group straddles zero with a mean near -0.38%. That's the key visual: the condition you're asking about has been followed by energy underperforming the market, not outperforming it.
The bars show the source of the underperformance: on trigger days, SPY averaged +7.53% over the next 20 sessions while XLE averaged -4.99%. On ordinary days the two were nearly even, with XLE at +1.16% and SPY at +1.54%, so the trigger condition flips energy from roughly market-neutral to sharply behind.
Each dot is a trigger day, plotting how much the 10-year yield rose over 20 sessions against the subsequent XLE-minus-SPY spread. The yield increases ranged from about 22 to 47 basis points, but every dot lands below zero on the vertical axis, so no trigger-day yield move was followed by XLE beating SPY. The whole cloud being under the zero line is the detail to notice: the negative outcome holds across the range of yield jumps.
20-day forward return summary
| Group | N | Mean XLE | Mean SPY | Mean spread | Median spread | % positive |
|---|---|---|---|---|---|---|
| Trigger days | 13 | -0.0499 | 0.0753 | -0.1252 | -0.1366 | 0 |
| All other days | 698 | 0.0116 | 0.0154 | -0.0038 | -0.012 | 0.437 |
Most recent trigger days
| Date | Yield chg (bps) | Brent vs SMA | XLE fwd20 | SPY fwd20 | Spread |
|---|---|---|---|---|---|
| 2024-11-05 | 22 | 0.0223 | 0.0196 | 0.0479 | -0.0283 |
| 2024-11-06 | 36 | 0.0176 | -0.0104 | 0.0268 | -0.0371 |
| 2024-11-07 | 22 | 0.0082 | -0.0243 | 0.0195 | -0.0438 |
| 2024-11-21 | 22 | 0.0025 | -0.1317 | 0.0019 | -0.1336 |
| 2026-03-20 | 31 | 0.5203 | -0.0635 | 0.086 | -0.1495 |
| 2026-03-23 | 31 | 0.3188 | -0.0601 | 0.0765 | -0.1366 |
| 2026-03-24 | 35 | 0.3626 | -0.0662 | 0.0804 | -0.1466 |
| 2026-03-25 | 28 | 0.3567 | -0.0602 | 0.0826 | -0.1428 |
| 2026-03-26 | 40 | 0.3937 | -0.0766 | 0.1021 | -0.1787 |
| 2026-03-27 | 47 | 0.4739 | -0.0939 | 0.1316 | -0.2254 |
| 2026-03-30 | 30 | 0.4592 | -0.0692 | 0.1299 | -0.1991 |
| 2026-03-31 | 24 | 0.4954 | -0.0303 | 0.0943 | -0.1245 |
| 2026-04-01 | 24 | 0.3941 | 0.0182 | 0.0995 | -0.0812 |
The takeaway
No — the setup actually flipped the expected direction. On the 13 trigger days, XLE averaged about -5% over the next 20 sessions while SPY averaged around +7.5%, an average spread of roughly -12.5 percentage points, and XLE lagged SPY in all 13 cases. That is not a coin flip: statistical tests put the chance of this being luck at about 1 in 100,000, both against zero and against the 698-day baseline spread of about -0.4pp. The main caveat is honesty: 13 events, several clustered around the same period and with overlapping forward windows, make the exact magnitude shaky even if the direction looks convincing. Practical takeaway: rising long-end yields with Brent above its 50-day SMA has not been an energy-outperformance signal in this three-year window — if anything, it has been a broad-market-over-energy signal. Treat this as a striking in-sample pattern worth monitoring, not a standalone rule to size positions on.
The fine print
- Only 13 trigger days and they cluster (e.g., Nov 2024), so the independent evidence is thinner than the headline n suggests.
- The 20-day forward windows overlap, so the t-test p-values overstate how many independent events back the result.
- The ~3-year window may be a single macro/rate regime; the relationship could flip outside it.
- XLE/SPY returns exclude dividends; XLE's higher yield could narrow the underperformance on a total-return basis.