# The double supply shock — US-Iran fighting threatening tankers near Iran's main oil island, and Ukrainian strikes knocking out Russian refining capacity — has created what reporters are calling a diesel crisis heading into peak demand season. Refiners lik

_AI-generated trading idea · BULLISH · DINO, MPC, VLO_

> Canonical page: https://commonquant.ai/research/for-you/the-double-supply-shock-us-iran-fighting-threatening-tankers--607918be-d307-538a-b12e-88c2a84f460f

The double supply shock — US-Iran fighting threatening tankers near Iran's main oil island, and Ukrainian strikes knocking out Russian refining capacity — has created what reporters are calling a diesel crisis heading into peak demand season. Refiners like Valero and Marathon Petroleum earn the spread between crude they buy and diesel they sell, so a diesel shortage fattens their margins even if crude prices get choppy. These supply disruptions are also inflationary right as next week's CPI report decides whether the Fed hikes, meaning energy could keep working as a hedge if inflation prints hot. This is a margin story, not just an oil-price story, which is why refiners are the cleaner expression than drillers.

## Idea

The double supply shock — US-Iran fighting threatening tankers near Iran's main oil island, and Ukrainian strikes knocking out Russian refining capacity — has created what reporters are calling a diesel crisis heading into peak demand season. Refiners like Valero and Marathon Petroleum earn the spread between crude they buy and diesel they sell, so a diesel shortage fattens their margins even if crude prices get choppy. These supply disruptions are also inflationary right as next week's CPI report decides whether the Fed hikes, meaning energy could keep working as a hedge if inflation prints hot. This is a margin story, not just an oil-price story, which is why refiners are the cleaner expression than drillers.

## Advanced Analysis

### Verdict: A diesel-margin story the numbers confirm — but a trade the tape says to wait on

This is a thesis the numbers already endorse, but a trade the tape says not to touch today. The fundamentals leg is the strongest point for: in the June 2026 quarter MPC's net income jumped from $511M to $5.14B and VLO's rose 194% to $3.72B, exactly the crack-spread signature the idea predicts from the diesel supply squeeze (per the idea's thesis, echoed by the Bloomberg and Reuters items on Iran and Ukraine). The strongest point against is timing: all three names press their range highs with 14-day RSI above 70 (DINO 76.0, MPC 83.7, VLO 81.1), so the strategy's own overbought exit condition is already lit and the entry — a close below the lower Bollinger band near $96 DINO, $363 MPC, or $347 VLO plus a stochastic crossover — requires a 6% to 9% flush that hasn't come. Filed disclosures add caution: net open-market insider selling at MPC (about $4.0M) and VLO (about $5.7M). No robust parameter setup was established for the rules, and the entry never fired across 1,236 daily bars, so this is a watch-list, not a signal. What would flip the verdict: a hot CPI print reinforcing the energy-hedge leg, or a sharp pullback closing below a lower band with the stochastic crossover — either would move this from waiting to actionable.

#### Conviction score breakdown

Composite score computed by the server from the applicable evidence-tier dimensions.

| Measure | Value |
| --- | ---: |
| Thesis support | 80/100 |
| Trade readiness | 25/100 |
| Risk quality | 45/100 |
| Trigger proximity | 10/100 |
| Fundamentals trend | 85/100 |
| Score | 49/100 |
| Composite Score | 49/100 |
| Evidence Tier | rules\_not\_triggered |

#### Decision scenarios

Bull, base, and bear cases synthesized from the cited evidence tier. Likelihoods are rounded evidence-weighted judgments, not statistically calibrated forecasts.

| Measure | Value |
| --- | ---: |
| Evidence Tier | rules\_not\_triggered |

### Trade now: waiting for the pullback, not chasing strength

Do nothing today. This is a dip-buying strategy, and all three names are at the opposite extreme. DINO closed at $105.41, about 9.2% above its lower Bollinger band ($96.22); MPC at $388.90, about 6.7% above its band ($362.86); and VLO at $370.72, about 6.3% above its band ($347.27). The entry requires a close below the lower band alongside a stochastic crossover off a stretched condition, and none of that is close to being in range — each name is pressing its range high rather than testing the lower band. Note that no robust parameter setup was established for tuning these thresholds, so the rules stand as written.

What "wait" means concretely: watch for a sharp single-session or multi-session drop that pushes a close below the band levels above — roughly $96 on DINO, $363 on MPC, or $347 on VLO — paired with the fast stochastic line crossing back above its signal line. Only then does the setup arm. Position sizing is fixed-risk at 2.24% of the account per trade, capped at 25% per position, so there is no reason to pre-position ahead of the trigger.

If an entry does fire, the exit rules are already defined: a hard stop at a 2.2% loss (plus a structure stop at the rank-2 support level), a take-profit at a 4.5% gain or the first resistance level, and an overbought exit when the 14-day RSI moves above 70. That gives roughly 2:1 effective reward-to-risk on the fixed brackets. Notably, the RSI-overbought exit condition is already met on all three names (DINO at 76.0, MPC at 83.7, VLO at 81.1) — the mirror image of the entry state. That confirms the setup is in its waiting phase, not a trust problem: the rules describe a dip-buy, and there has been no dip.

#### DINO price and trigger map

Uses the idea timeframe and keeps price levels on the price axis.

| Measure | Value |
| --- | ---: |
| Ticker | DINO |
| Timeframe | 1d |

#### MPC price and trigger map

Uses the idea timeframe and keeps price levels on the price axis.

| Measure | Value |
| --- | ---: |
| Ticker | MPC |
| Timeframe | 1d |

#### VLO price and trigger map

Uses the idea timeframe and keeps price levels on the price axis.

| Measure | Value |
| --- | ---: |
| Ticker | VLO |
| Timeframe | 1d |

### The diesel margin shock is already in the P&L

The macro thesis is not hypothetical anymore — it is already showing up in the reported numbers. In the quarter ended June 30, 2026, Marathon Petroleum's net income jumped from $511M to $5.14B, operating cash flow from $1.12B to $10.33B, and free cash flow from $208M to $9.14B, while gross margin nearly doubled to 17.2%. Valero delivered the same pattern the same quarter: net income up 194% to $3.72B, operating margin rising from 5.3% to 11.7%, and revenue up 37% to $44.5B. If a diesel crisis were fattening crack spreads, this is precisely what the income statements would look like, and it validates the idea's core claim that this is a margin story, not just an oil-price story.

#### MPC Free cash flow

Free cash flow trend from CommonQuant fundamentals/XBRL data; +486.2% from first to latest point.

| Measure | Value |
| --- | ---: |
| 2009-12-31 | $-436000000 |
| 2010-06-30 | $-339000000 |
| 2010-09-30 | $-631000000 |
| 2010-09-30 | $-292000000 |
| 2010-12-31 | $1000000000 |
| 2011-03-31 | $672000000 |
| 2011-06-30 | $435000000 |
| 2011-06-30 | $-237000000 |
| 2011-09-30 | $1827000000 |
| 2011-09-30 | $1392000000 |
| 2011-09-30 | $1684000000 |
| Latest Value | $1684000000 |
| Change Pct | $486.23853211009174 |
| Ticker | MPC |
| Timeframe | reported periods |

#### VLO Gross margin

Gross margin trend from CommonQuant fundamentals/XBRL data; +410.1% from first to latest point.

| Measure | Value |
| --- | ---: |
| 2016-12-31 | \0.011115663701608531% |
| 2017-03-31 | \0.033621164798824175% |
| 2017-06-30 | \0.023826829600690495% |
| 2017-06-30 | \0.04713759324166442% |
| 2017-09-30 | \0.0238799786944428% |
| 2017-09-30 | \0.06850012732365673% |
| 2017-12-31 | \0.011811023622047246% |
| 2017-12-31 | \-0.08657926644437709% |
| 2018-03-31 | \0.04016793373425621% |
| 2018-03-31 | \0.05669639602420472% |
| Latest Value | \0.05669639602420472% |
| Change Pct | \410.05857631335374% |
| Ticker | VLO |
| Timeframe | reported periods |

#### MPC sector percentile check

Ranks MPC against 96 companies in its sector using CommonQuant fundamentals.

| Measure | Value |
| --- | ---: |
| Free cash flow | \94.79166666666666th percentile |
| Operating margin | \67.11409395973155th percentile |
| Gross margin | \33.33333333333333th percentile |
| Ticker | MPC |
| Sector | Energy |
| Peer Count | 96 |

### Great thesis, no trigger, and insiders are selling

The bear case starts with what is not in the file: the entry conditions for this idea have not occurred in the evaluated window. The rules were run on real daily bars across three windows — 1236 bars over 60 months, plus 24- and 12-month cuts — and produced zero entries, so this is a watch-list setup, not an active signal. The research author did request an expanded bounded optimization after zero triggers, but no robust parameter setup was established;…

#### Rule trigger diagnostic

The rule set was evaluated against real market bars but did not open an entry; use the watch triggers as the actionable read.

| Measure | Value |
| --- | ---: |
| Bars evaluated | 1236 count |
| Entries | 0 count |

#### MPC Debt to equity

Debt to equity trend from CommonQuant fundamentals/XBRL data; +793.0% from first to latest point.

| Measure | Value |
| --- | ---: |
| 2010-12-31 | \0.03250849102377487 ratio |
| 2011-06-30 | \0.3633730644981619 ratio |
| 2011-09-30 | \0.3268981988257538 ratio |
| 2011-12-31 | \0.3463440294581799 ratio |
| 2012-03-31 | \0.3585069444444444 ratio |
| 2012-06-30 | \0.3211311253147395 ratio |
| 2012-09-30 | \0.29031132815906513 ratio |
| Latest Value | \0.29031132815906513 ratio |
| Change Pct | \793.0323094564675 ratio |
| Ticker | MPC |
| Timeframe | reported periods |

### Scores

- **Conviction score breakdown:** 49
- **Thesis support:** 80
- **Trade readiness:** 25
- **Risk quality:** 45
- **Trigger proximity:** 10
- **Fundamentals trend:** 85

### Watch items

- **DINO — Close vs lower Bollinger band (20)**
- **MPC — Close vs lower Bollinger band (20)**
- **VLO — Close vs lower Bollinger band (20)**
- **DINO — Stochastic (14) vs Stochastic (3)**
- **MPC — Stochastic (14) vs Stochastic (3)**
- **VLO — Stochastic (14) vs Stochastic (3)**
- **DINO — RSI (14)**
- **MPC — Insider open-market activity**
- **VLO — Insider open-market activity**
- **VLO — Next quarterly XBRL update (September quarter)**

## Key details

- Symbols: DINO, MPC, VLO
- Timeframes: 1d
- Tags: \#canonical-demand, \#cluster-version:1, \#direction:bullish, \#entity-kind:instrument, \#entity:DINO, \#entity:MPC, \#entity:VLO, \#horizon:unspecified, \#intent:research, \#symbol:DINO, \#symbol:MPC, \#symbol:VLO

## Community

- Upvotes: 0
- Views: 0
- Copies: 0
- Cosigns: 0

## News sources

- [Energy Markets Strained by Iran, Ukraine Wars](https://www.bloomberg.com/news/videos/2026-09-05/energy-markets-strained-by-iran-ukraine-wars-video) — Bloomberg
- [Iranian tanker hit by US attack near Iran's Kharg Island, Tasnim says - reuters.com](https://news.google.com/rss/articles/CBMiyAFBVV95cUxQc1hXR2o4Smo3UnZmTTJmM2V4bldFYkpPekNpM2NhUGozMnVKcWZWOHNyUDdmSm5YR2dWT3FRd0FHWnM1Nlc2c3pxSk1XNVdlM1VNb0VyOVRpRG9vMnMyenFVbFVNdERKVEpyeVAtQ0poemwzNTdkYkF4VENfUzhVd1pkQ2djaldJdUZFVThZVktLdXd3anlpZlBCVWpuMi1lTUw1TFA1anU1YWVEeEhIdTI1Q05zOVJqcUNnZkRTc1JxdU82RVRUSw?oc=5) — Reuters
- [Investors zero in on August inflation data in the week ahead after yields spike to levels not seen in years](https://www.cnbc.com/2026/09/04/august-inflation-data-takes-center-stage-in-the-week-ahead.html) — CNBC

## Related

- [DINO trade ideas](https://commonquant.ai/markets/dino)
- [MPC trade ideas](https://commonquant.ai/markets/mpc)
- [VLO trade ideas](https://commonquant.ai/markets/vlo)
- [Latest market news](https://commonquant.ai/news)

## About CommonQuant Research

Ideas and Advanced Analysis are generated with fresh, LLM-selected news headlines and grounded in SEC XBRL fundamentals and peer percentiles. Strategies built from these ideas are automatically backtested (over a timeframe-dependent historical window with walk-forward tuning) and stress-tested before they can go live, then monitored against the news hourly while they run.
