VLO vs XOM after hot-CPI and weak-Brent release anchors
Four times in three years. That is how often a top-quintile CPI print landed while Brent's 20-day return was negative — 4 of the 31 CPI releases evaluated — and on those anchors VLO beat XOM by an average of 4.48 percentage points over the next 20 sessions, against 1.91 points on every other release.
The catch is underneath that average. Two episodes carry it, the other two were a near-tie and a loss, and the qualifying win rate is exactly 50 percent. With only four observations, the 2.57-point gap over non-qualifying anchors is indistinguishable from noise (p = 0.625).
The mechanism is plausible and the direction points the refiner's way, but this data cannot confirm it. The full breakdown follows.
Over the past ~3 years, when the month-over-month US CPI print is in the top quintile of its own distribution while Brent crude's 20-day return is negative, does VLO outperform XOM over the next 20 trading sessions? I expect strong realized inflation to support refined-product cracks even when crude is soft, so the refiner holds a relative bid against the integrated major.
How this was measured
Monthly CPI month-over-month prints were computed from cpi_df, and each print's approximate release date was mapped to the first trading day on or after the first day of the following month plus 12 days. Brent crude's 20-day return was measured on T+1-lagged daily data to avoid same-day look-ahead. A release anchor is classified as qualifying when its CPI MoM print sits in the top quintile of the available monthly CPI MoM distribution AND Brent's 20-day return is negative at the anchor. Forward performance is measured over the next 20 trading sessions for VLO and XOM separately; the primary outcome is VLO's forward return minus XOM's forward return. Qualifying anchors are compared against all other CPI release anchors using mean, median, win rate, and a Welch two-sample t-test.
The key numbers
Reading the numbers
Only 4 of the 31 CPI release dates fit your setup, and on those VLO beat XOM by about 4.5 percentage points on average over the following 20 sessions versus about 1.9 points on all the other dates. But it only worked half the time and the p-value of 0.63 says a gap that size is easily explained by chance, so read the direction as a hint, not a result.
The charts
This box plot compares the VLO-minus-XOM 20-session return in your qualifying setup against every other CPI release date. The qualifying box sits higher on average (+4.48% versus +1.91%), which is the whole basis of the claim, but look at how wide it is: the four qualifying outcomes run from -5.51% to +15.69%, and the other-anchor group spans -9.65% to +17.06%. The two ranges sit almost on top of each other, so this is a difference in the middle of the distribution built on four observations, not a clean separation between the groups.
These bars split the average 20-session return into VLO, XOM, and the gap between them for each category. In the qualifying bars VLO reads +8.01% against XOM's +3.53%, a gap of +4.48 points; on the other anchors the same gap is only +1.91 points, which is where your +2.57 point edge comes from. Worth noting the whole qualifying cluster is lifted — both refiners do better after these prints — so the setup looks at least as much like a broad energy bounce as a refining-specific advantage.
Each dot is one of the 31 CPI releases, plotted by how hot the month-over-month print was against the VLO-minus-XOM return over the next 20 sessions. The qualifying dates are necessarily the dots on the right edge, where CPI MoM is at or above +0.52%, and the whole cloud is loose — returns run from -9.65% to +17.06% with a mean of +2.24%, while CPI prints cluster between -0.35% and +1.05%. There is no visible upward slope carrying the hot-inflation dots systematically to the top, which is the graphical version of why the +4.48 point average lands inside the noise.
Conditional vs other release anchors summary
| group | n | mean_rel | median_rel | win_rate | mean_vlo | mean_xom |
|---|---|---|---|---|---|---|
| Qualifying CPI+Brent | 4 | 0.0448 | 0.0386 | 0.5 | 0.0801 | 0.0353 |
| Other release anchors | 27 | 0.0191 | 0.028 | 0.6296 | 0.0358 | 0.0167 |
Qualifying CPI+Brent release anchors
| release_date | anchor_date | cpi_mom | brent_ret20 | vlo_fwd | xom_fwd | rel_fwd |
|---|---|---|---|---|---|---|
| 2024-03-13 | 2024-03-13 | 0.0062 | -0.0026 | 0.1109 | 0.1123 | -0.0014 |
| 2025-02-13 | 2025-02-13 | 0.0065 | -0.0851 | -0.0228 | 0.0323 | -0.0551 |
| 2026-05-13 | 2026-05-13 | 0.0085 | -0.0617 | 0.0554 | -0.0232 | 0.0786 |
| 2026-06-13 | 2026-06-15 | 0.0063 | -0.2008 | 0.1769 | 0.02 | 0.1569 |
The takeaway
On the surface the answer is yes — VLO beat XOM by an average of 4.48 percentage points over the next 20 sessions on the four occasions that fit your setup — but you should treat that as a hint, not a signal. Two of those four episodes carry it: VLO returned +17.7% in one case and +5.5% in another against XOM's +2.0% and -2.3%, while the other two were a near-tie and a clear loss. Split the wins and losses and it's a 50/50 coin flip on the qualifying anchors, and the 2.57-point edge over the 27 non-qualifying CPI releases is nowhere near statistically distinguishable (p = 0.625 — roughly a 38-in-100 chance of seeing a gap this size from noise alone). The sample of just 4 cases is the real problem; with that few observations, one or two unlucky months could flip the whole result. So the honest read is: the mechanism you described is plausible and the direction points your way, but this data can't confirm it. If you want to act on it, it should be as a small tilt alongside a genuine crack-spread thesis, not as a standalone trade rule.
The fine print
- Only 4 qualifying anchors — far too few to draw a durable conclusion, and the Welch test treats them as independent when monthly anchors can overlap within the same 20-session window.
- The top-quintile CPI threshold uses the full history, so early anchors are classified with hindsight the market didn't have at the time.
- CPI release dates are approximated (first of month + 12 days); actual BLS timing can shift the anchor and forward window by several days.
- Relative return is a raw long-short difference with no costs, financing, or dividends, and no control for refiner-specific events like turnarounds or outages.