AI Research XLESPYmacro:brent_daily

XLE volatility-spread compression plus rising crude: forward 20-session relative performance vs SPY

17
Signal events

The setup looked like quiet accumulation: XLE's 20-day realized volatility in the bottom quintile of its spread to SPY while Brent's 20-day return was positive. Over this sample, the forward result was the mirror image. Across 17 qualifying days, XLE lagged SPY by an average of 3.39% over the next 20 sessions and beat SPY in only 29% of cases. Non-signal days were mildly positive for XLE, leaving a gap of roughly 3.8 percentage points in the wrong direction.

The conditional mean is unlikely to be zero at conventional levels (p = 0.019), though 17 overlapping events demand caution. Compressed relative volatility during a rising crude tape looked more like the move was already priced than like quiet accumulation. The full breakdown, tests, and caveats are below.

The research question

Over the past ~3 years, when XLE's 20-day realized volatility is in the bottom quintile of its spread to SPY's 20-day realized volatility while Brent crude's 20-day return is positive, does XLE outperform SPY over the next 20 trading sessions? I expect compressed sector volatility relative to the broad market during a rising crude tape to signal accumulation rather than peak positioning, so energy equities lead SPY as the move extends.

How this was measured

Daily closes were resampled from XLE and SPY minute bars. XLE and SPY 20-day realized volatility were computed as the rolling standard deviation of close-to-close daily returns. The spread is XLE 20-day RV minus SPY 20-day RV. A signal day requires the spread to be in the bottom quintile of its trailing 252-session distribution (current day excluded) AND the prior-session Brent 20-session return to be positive, using Brent ffill plus a one-session lag for daily publication. For qualifying days, the outcome is XLE forward 20-session return minus SPY forward 20-session return. Conditional outcomes are compared against non-signal days with Welch two-sample and one-sample t-tests.

The key numbers

Signal events
17
usable window 2024-10-30 to 2026-08-03; 426 total days
Signal mean 20d XLE-SPY
-3.3862%
N=17 signal days
Signal median 20d XLE-SPY
-1.2567%
Robust to outliers
Signal fraction positive
29.41%
Share of signal days with XLE > SPY over next 20 sessions
Non-signal mean 20d XLE-SPY
0.4408%
N=409 non-signal days
Edge vs non-signal
-3.8270%
Positive = signal days outperform non-signal days
One-sample t-stat
-2.620
Tests signal mean vs zero
One-sample p-value
0.0186
One-sample test vs zero; p=0.0186 < 0.05 -> conditional mean differs from zero
Welch t-stat
-2.853
Signal vs non-signal unequal variance
Welch p-value
0.0103
Welch signal vs non-signal; p=0.0103 < 0.05 -> group means differ

Reading the numbers

On the 17 days the signal fired, XLE lagged SPY by 3.39% on average over the following 20 sessions, and only 29% of those cases were positive, versus a small +0.44% average on all other days. The p-values of 0.019 and 0.010 put the odds of that gap being pure chance at roughly one to two in a hundred.

The charts

Mean 20-session XLE-minus-SPY forward return: signal vs non-signal
What this chart says

This bar chart puts the two group averages side by side: the signal bar sits below zero at -3.39% while the non-signal bar sits just above zero at +0.44%. The striking detail is that both the level and the sign run opposite to the thesis — the days meeting the compressed-volatility, rising-crude condition are the ones where XLE fell behind SPY, not the ones where it led. The gap between the bars, about 3.8 percentage points, is the entire claimed edge, and it points the wrong way. One caveat the picture can't show is sample size: the signal bar rests on just 17 days against 409 non-signal days, so the height of that left bar is far less settled than the right one.

Recent qualifying signal days

datexle_minus_spy_rv20_spreadq20_spreadbrent_20d_retxle_fwd20spy_fwd20outperform
2026-03-31-0.00010.00190.5779-0.01750.1037-0.1212
2025-11-200.00150.00170.0241-0.00550.0444-0.0499
2025-11-140.00160.00170.0174-0.01770.0091-0.0268
2025-06-030.00170.00190.08090.04820.0518-0.0036
2025-05-300.00120.0020.01940.05980.05320.0065
2025-05-290.0010.0020.02620.04090.0535-0.0126
2025-04-02-0.00190.00120.0756-0.11070.04-0.1508
2025-04-01-0.00060.00120.0601-0.1411-0.0083-0.1328
2025-01-280.00110.00110.05170.0017-0.03180.0335
2025-01-270.00090.00110.0914-0.0127-0.0092-0.0036
2025-01-240.00070.00120.0742-0.0163-0.01890.0026
2025-01-2300.00120.0847-0.0119-0.01820.0062
2025-01-22-0.00050.00120.0805-0.0078-0.00920.0013
2025-01-21-0.00180.00120.1348-0.00460.01-0.0146
2025-01-17-0.00040.00130.1089-0.02040.0245-0.0449

The takeaway

The signal fails, and it fails in the opposite direction from the thesis: when XLE's 20-day realized volatility sat in the bottom quintile of its spread to SPY while Brent's 20-day return was positive, XLE went on to lag SPY over the following 20 sessions. Across the 17 qualifying days, XLE minus SPY averaged -3.39% and the median was -1.26%, with XLE ahead in only 29% of cases — roughly one in three, versus the coin-flip you'd expect if the setup were meaningless. Non-signal days were mildly positive for XLE at +0.44%, so the gap between the two groups runs about -3.8 percentage points in the wrong direction. The two tests agree: the -3.39% conditional mean is unlikely to be zero (p = 0.019, about a 2-in-100 fluke), and signal days differ from non-signal days (p = 0.010, roughly 1-in-100). That's a real signal, not noise — but it rests on just 17 events with overlapping 20-day windows, so the honest read is a solid lean against the accumulation story rather than a bulletproof base rate. Practically: compressed relative volatility during a rising crude tape looked more like the energy move was already priced than like quiet accumulation, and treating it as a buy signal would have cost you relative performance. If you want to trade this, the evidence supports the reverse framing far more than the original one.

The fine print