XOM vs XLE 20-session forward spread under hot-CPI and falling-Brent conditions
Hot CPI and a falling crude tape should be a supermajor's moment, not a high-beta oil equity's. That's the thesis: when inflation sits in the top quintile of its trailing three-year range while Brent's 20-day return is negative, XOM's cash-flow stability should hold up better than XLE's broader, more volatile basket.
The data mostly agrees, with a caveat. Across 97 qualifying days, XOM outgained XLE by an average of just 0.43% over the next 20 sessions, winning the matchup about 57% of the time — a real lean in the thesis's direction, but a thin one.
More to the point, most of that edge appears to be XOM's ordinary tendency to out-gain XLE in any regime, not something the hot-CPI, falling-crude setup creates. The full breakdown, the unconditional baseline, and the small non-overlapping sample are in the analysis below.
Over the past ~3 years, when CPI inflation is in the top quintile of its 36-month history while Brent crude's 20-day return is negative, does XOM outperform XLE over the next 20 trading sessions? I expect hot CPI to favor supermajor cash-flow stability over high-beta oil equities when crude slides, so XOM leads the sector.
How this was measured
Resampled XOM and XLE minute bars to daily closes and aligned them to common US trading days. For each day, the condition was: (1) current CPI year-over-year inflation lies in the top quintile of a rolling trailing 36-month CPI history (80th-percentile rank, with CPI delayed 15 days for publication lag), and (2) Brent's 20-day return is negative. For each condition day, the next 20 trading sessions were measured using close[t+20]/close[t]-1 for both tickers; the outcome is the XOM minus XLE forward spread. Conditional means and hit rates were compared with a zero-spread null and against an unconditional all-day baseline. A non-overlapping subset separated by at least 20 sessions is also reported.
The key numbers
Reading the numbers
On the 97 days when CPI was running hot and Brent had fallen over the prior month, XOM beat XLE by about 0.43 percentage points on average over the following 20 sessions (+2.36% vs +1.93%), and XOM won 57% of the time. The p-value of 0.038 says a gap that size would be uncommon if there were truly no edge, though the overlapping windows make it a descriptive rather than exact reading.
The charts
This histogram shows how the XOM-minus-XLE 20-session return gap was distributed across all 97 condition days. The mass sits just to the right of zero, matching the +0.43% average spread, but the shape is not tidy: the worst outcomes reach about -4.1% while the best stretch to roughly +5.8%, so the left tail is meaningful. That is the key detail for the question — the average favors XOM, but on a fair number of occasions XOM lagged the sector badly, meaning the edge is a modest tilt rather than a reliable shield if you only get one draw.
This bar chart puts the conditional spread next to the unconditional one: about +0.43% on hot-CPI, Brent-down days versus roughly +0.10% across all days. Visually the conditional bar is several times taller, which is the eye-catching part, but both bars are small in absolute terms. The Welch test against that baseline comes in at p=0.14, so the condition looks directionally better than the everyday average without being cleanly distinguishable from it.
Condition-day forward returns (first 50 shown)
| date | XOM_fwd20 | XLE_fwd20 | spread_fwd20 |
|---|---|---|---|
| 2025-08-18 | 0.0723 | 0.0544 | 0.0179 |
| 2025-08-19 | 0.0755 | 0.0587 | 0.0168 |
| 2025-08-20 | 0.0531 | 0.0445 | 0.0086 |
| 2025-08-21 | 0.0337 | 0.0261 | 0.0076 |
| 2025-08-22 | 0.007 | 0.0042 | 0.0028 |
| 2025-08-26 | 0.0283 | 0.033 | -0.0046 |
| 2025-08-27 | 0.026 | 0.0325 | -0.0065 |
| 2025-08-28 | 0.0361 | 0.0339 | 0.0021 |
| 2025-08-29 | -0.0013 | 0.0087 | -0.01 |
| 2025-09-02 | -0.0113 | -0.0051 | -0.0063 |
| 2025-09-03 | 0.0027 | 0.0197 | -0.017 |
| 2025-09-04 | -0.0079 | 0.0028 | -0.0107 |
| 2025-09-05 | 0.0356 | 0.0271 | 0.0085 |
| 2025-09-08 | 0.0351 | 0.0332 | 0.0019 |
| 2025-09-11 | 0.0071 | -0.0054 | 0.0125 |
| 2025-09-15 | -0.0036 | -0.0125 | 0.0088 |
| 2025-09-18 | -0.0321 | -0.0448 | 0.0127 |
| 2025-09-19 | -0.0062 | -0.02 | 0.0138 |
| 2025-10-01 | 0.0379 | -0.0155 | 0.0534 |
| 2025-10-02 | 0.0247 | -0.0151 | 0.0398 |
| 2025-10-07 | -0.0013 | -0.0257 | 0.0244 |
| 2025-10-08 | 0.0023 | -0.0141 | 0.0163 |
| 2025-10-09 | 0.0124 | 0.0079 | 0.0045 |
| 2025-10-10 | 0.0595 | 0.0492 | 0.0104 |
| 2025-10-13 | 0.055 | 0.0465 | 0.0085 |
| 2025-10-14 | 0.0653 | 0.0601 | 0.0052 |
| 2025-10-15 | 0.0579 | 0.0459 | 0.012 |
| 2025-10-16 | 0.0775 | 0.0671 | 0.0105 |
| 2025-10-17 | 0.0715 | 0.0671 | 0.0044 |
| 2025-10-20 | 0.053 | 0.0364 | 0.0167 |
| 2025-10-21 | 0.0671 | 0.0537 | 0.0134 |
| 2025-10-22 | 0.0271 | 0.0178 | 0.0093 |
| 2025-10-23 | 0.0177 | 0.0002 | 0.0175 |
| 2025-10-24 | 0.0235 | 0.0168 | 0.0067 |
| 2025-10-27 | 0.0092 | 0.008 | 0.0011 |
| 2025-10-28 | 0.0046 | 0.014 | -0.0094 |
| 2025-10-29 | -0.0055 | 0.0142 | -0.0197 |
| 2025-10-30 | 0.0229 | 0.0367 | -0.0137 |
| 2025-10-31 | 0.0242 | 0.0362 | -0.012 |
| 2025-11-03 | 0.0234 | 0.0245 | -0.0011 |
| 2025-11-04 | 0.042 | 0.0535 | -0.0116 |
| 2025-11-05 | 0.0334 | 0.0515 | -0.018 |
| 2025-11-06 | 0.0299 | 0.0422 | -0.0123 |
| 2025-11-07 | -0.0016 | 0.0136 | -0.0152 |
| 2025-11-10 | 0.0116 | 0.0099 | 0.0017 |
| 2025-11-12 | 0.0224 | 0.0186 | 0.0038 |
| 2026-04-15 | 0.015 | 0.0325 | -0.0175 |
| 2026-04-17 | 0.0859 | 0.0809 | 0.0049 |
| 2026-04-20 | 0.0933 | 0.0982 | -0.0049 |
| 2026-04-21 | 0.1027 | 0.0927 | 0.0099 |
The takeaway
Directionally yes — when CPI runs hot and crude is sliding, XOM does tend to edge out XLE over the following month, but the edge is small enough that you shouldn't bank on it. Across 97 such days, XOM averaged +2.36% versus XLE's +1.93%, a spread of just +0.43% in XOM's favor, and XOM won the matchup 57% of the time. The raw stat vs. zero looks respectable (t = 2.10, p = 0.038, roughly a 4-in-100 chance of pure luck), but the real test is whether that beat normal conditions — and there it stalls: the average day with no conditions at all already gives XOM a +0.10% edge with a 57.4% hit rate, and the difference from that baseline isn't statistically distinguishable (p = 0.14). So the honest read is that hot CPI plus falling crude nudges the spread up by a fraction of a percent, but most of what you're seeing is XOM's ordinary, mild tendency to out-gain XLE regardless of regime. Cutting the data down to genuinely separate episodes — only 7 of them — still shows +0.50% and a 57% win rate, consistent in direction but far too thin to lean on. Practical takeaway: the thesis isn't wrong, but the cushion is roughly half a percentage point over a month, which is well inside normal noise and not a meaningful trading edge on its own.
The fine print
- The 97 'events' come from 103 condition days in a ~3-year span with 20-session forward windows that overlap heavily — in practice this is a handful of distinct episodes counted many times, so the p-value is flattering.
- Only 7 truly non-overlapping events exist, which is too few to confirm anything; the +0.50% there is a consistency check, not evidence.
- XOM already outperforms XLE slightly in ordinary conditions (+0.10% mean, 57.4% hit rate), so the conditional edge is mostly regime-independent and the baseline comparison fails to clear significance.
- Results cover one pair in one ~36-month market regime; nothing here says the pattern would hold for other supermajors, other sectors, or a different inflation cycle.