AI Research VLOXLEVLO_newsXLE_newsmacro:brent_daily

VLO vs XLE next-20d excess return after geopolitical oil-headline spike with positive Brent momentum

60
Qualifying sessions

The refining-compression story doesn't survive the data. After geopolitical oil-headline spikes, with Brent already in an uptrend, VLO didn't lag XLE — it beat it by an average of 2.50% over the following 20 sessions, and underperformed in only 25% of the 60 qualifying cases. That's the opposite of the input-cost squeeze the hypothesis predicted.

The more revealing number is the baseline. VLO was already beating XLE by 2.92% on any eligible day, so the headline condition didn't add an edge — it subtracted about 0.42 points. A p-value of 0.0002 only says the +2.50% isn't zero, not that headlines caused anything.

The full breakdown, including why overlapping 20-day windows shrink the effective sample well below 60, is below.

The research question

Over the past ~3 years, when the 5-day average of Iran/Hormuz/sanctions/OPEC headline mentions is in the top quintile of its trailing 252-session distribution while Brent crude's trailing 20-day return is positive, does VLO underperform XLE over the next 20 trading sessions? I expect a geopolitical supply-shock tape to lift crude through input-cost pressure that compresses refining cracks, so VLO should lag the oil-beta sector until the risk premium fades.

How this was measured

Daily closes for VLO and XLE are built from minute bars and joined into a session panel. A geopolitical-oil headline count is constructed by scanning VLO and XLE news titles, summaries, and topics for Iran, Hormuz, sanctions, and OPEC; the daily count is averaged over five sessions. The current 5-day average is compared with the 80th percentile of its trailing 252-session distribution, shifted one session to avoid lookahead. Brent momentum is measured as the 20-session percent change of Brent daily prices forward-filled onto the equity calendar. A signal day requires the 5-day mention average to exceed that trailing 80th percentile, be strictly positive, and have a positive Brent 20-session return. For each signal day, the forward 20-session VLO minus XLE excess return is computed from close[t+20]/close[t]-1. The conditional sample is compared with an eligible baseline after the 252-session mention history becomes available and tested against zero with a one-sample t-test.

The key numbers

Qualifying sessions
60
Top-quintile mentions + Brent 20d positive + valid forward window
Conditional mean VLO minus XLE next 20d
2.5033%
Negative = VLO underperforms XLE; N=60
Conditional median
3.1196%
Robust to outliers
Fraction of events VLO underperforms
25.00%
Share with VLO 20d return below XLE
Eligible-baseline mean VLO minus XLE next 20d
2.9239%
Post-warmup valid sessions, N=442
Conditional edge vs baseline
-0.4206%
Conditional minus baseline
One-sample t vs zero
3.912
Positive favors VLO outperformance
One-sample p-value
0.0002
p=0.0002 < 0.05 -> conditional mean separates from zero

Reading the numbers

The key number is +2.50%: on average VLO beat XLE by that much over the next 20 sessions after these signal days, with a +3.12% median and VLO lagging only 25% of the time. The p=0.0002 says that positive average is unlikely to be random noise, and it runs opposite your underperformance thesis.

The charts

Conditional next-20-session VLO minus XLE return
What this chart says

This histogram shows the 60 signal-day outcomes for VLO's 20-session return minus XLE's, with the mass mostly to the right of zero. The average is +2.50%, and outcomes range from -9.03% to +13.75%, so while there is a left tail where VLO lags, the typical result is positive. Only 25% of these events had VLO underperform XLE, which directly cuts against the refining-margin-compression thesis.

Mean next-20-session VLO minus XLE return
What this chart says

This bar chart compares the average excess return on the 60 signal days, +2.50%, with the eligible-baseline average, +2.92%. The baseline bar is slightly taller, meaning VLO did not do worse after the geopolitical signal than it did in the broader set of valid sessions; in fact it did a touch better in both cases. The implicit conditional edge versus baseline is -0.42 percentage points, so the signal itself adds no extra VLO underperformance relative to XLE.

Signal-day detail (last 20 of 60 shown)

datemention_5droll_q80brent_20d_retvlo_fwd20xle_fwd20vlo_minus_xle_fwd20
2026-03-270.60.20.7032-0.0628-0.09390.031
2026-03-300.80.20.5779-0.0379-0.06920.0314
2026-03-310.60.20.52130.0251-0.03030.0554
2026-04-010.80.20.46590.05580.01820.0376
2026-04-020.60.20.44050.0095-0.00720.0167
2026-04-070.60.20.46490.02890.0349-0.0059
2026-04-080.40.360.3592-0.0158-0.02010.0043
2026-04-100.80.40.1630.0092-0.02280.032
2026-04-130.60.40.19420.0220.00190.0201
2026-04-140.60.40.17470.06350.0310.0325
2026-04-150.60.40.06030.03820.03250.0057
2026-04-210.60.40.02260.12560.09270.0328
2026-04-220.80.40.04630.08250.05550.0269
2026-04-230.60.40.03770.03660.03670
2026-04-300.60.40.0391-0.0291-0.05570.0267
2026-07-1710.60.05830.10640.07150.0349
2026-07-2010.60.09630.10950.07990.0296
2026-07-211.20.60.2270.11190.08580.0261
2026-07-221.40.60.24350.11530.06880.0465
2026-07-231.20.60.4610.11950.07280.0467

The takeaway

Your hypothesis got flipped: after geopolitical-oil headline spikes with crude already rising, VLO didn't lag XLE — it beat it. Across 60 qualifying sessions, VLO outperformed XLE by an average of +2.50% over the following 20 sessions, with a median of +3.12%, and VLO underperformed in only 25% of cases. So the direction is the opposite of the refining-compression story you expected. That said, the signal itself is doing almost nothing: the unconditional average excess return across the 442 eligible sessions was +2.92%, meaning the headline condition actually left VLO 0.42 percentage points worse off than just showing up on any random day. The p=0.0002 looks impressive, but it only tells you the +2.50% isn't zero — not that the headlines caused anything, since VLO was already beating XLE with no headlines at all. Between the overlapping 20-day windows (which shrink the truly independent sample well below 60) and the negative edge versus baseline, treat this as no real signal: the headline setup is not a VLO-underperformance trigger, and in this sample it's closer to a non-event. Practically, the takeaway is that the input-cost squeeze you were looking for didn't show up in relative performance — if anything, VLO held up better than the sector when oil was already running.

The fine print