Market Blog

Energy Backtests Split in Two: Trend Held Up, the Calm-Trade Did Not

No headlines crossed the desk today, so the research slate gets to do all the talking — and it is talking almost exclusively about energy. Six published findings land on the same corner of the market, and they divide cleanly into two camps that behaved nothing alike.

Two camps, one clear winner

The XOP setup — buying at the close when the ETF prints a 20-day high and Brent closes strongly — returned +118.44% on $100,000 across 24 closed trades, with a 79% win rate. SPY buy-and-hold over the same window returned +85.28%, so the strategy finished 33.17 points ahead of the benchmark. The shape of that record matters more than the headline number: best single trade +11.70%, worst -1.84%. When the worst outcome is barely a rounding error and four in five trades work, that is not a forecasting edge so much as a trend that kept paying while it ran.

Now the other side of the ledger, and it is ugly. Buying XLE when Brent's 20-day realized volatility sits in a particular quintile returned +1.71% across 16 closed trades, a 56% win rate, trailing SPY's +76.34% by 74.63 points. Buying EQT when its 10-day average true range sits in the bottom quintile returned -4.27% across seven trades, a 29% win rate, worst trade -3.56%, trailing by 80.61 points. Buying ET when its daily news sentiment sits in the bottom quintile returned +28.61% across 94 trades with a 59% win rate — a positive number, but still 47.72 points behind the benchmark, with a worst trade of -10.43%.

The pattern is hard to miss. Strategies leaning into movement did the work. Strategies built on the premise that a quiet tape or a hated headline is itself the setup kept bleeding relative to simply holding the index. The mean-reversion instinct that feels so reasonable in energy — buy the calm, buy the sentiment washout — is exactly where these backtests keep falling short.

The macro transmission is not transmitting

The HAL study is the most interesting one precisely because it refuses to confirm a story. At the 16 episode starts where the 10-year yield rose at least 20 basis points over 20 sessions and Brent was up, HAL's 20-day beta to Brent averaged 0.32, versus 0.45 over the prior 20 sessions — a drop of about 0.14, with 56% of those episodes showing beta falling. Directionally, yes: rising rates do seem to dull an integrated major's sensitivity to crude. But the research's own verdict is that the numbers do not back it strongly enough to call it a real effect, and widening the lens to all 75 condition days did not rescue the case. A lean with no spine is still just a lean.

Three episodes is a lean, not a pattern

The WMB-versus-XLE study makes the same point from the other direction. WMB beat XLE in every one of the three event starts after Brent weakness paired with a positive estimate revision, with mean outperformance of 2.96%, a median of 3.46%, and the widest case at 3.96 percentage points. A perfect record sounds decisive until you count the sample: three distinct episodes, set against a 690-day baseline the study used as its reference. The platform flags it as a lean rather than a proven pattern, and that is the honest reading. Three-for-three on a setup this specific is the kind of result that looks like signal and behaves like noise the moment the fourth case arrives.

The through-line across all six findings is a warning about what small samples flatter. The XOP momentum trade has the sample size — 24 trades — and the clean distribution to suggest something durable. The EQT volatility-compression trade has seven trades and a 29% hit rate; the WMB pair has three episodes. Conviction should scale with the trade count, and today the trade counts are mostly small.

What the slate does say with some confidence is narrower and more useful: in energy, the tape rewarded participation in directional moves and punished bets on calm. With no news flow to argue the other side, the data gets the last word — and its last word is that this is one sector, over one window, measured backwards.