Geopolitical Risk
Geopolitical Risk
Data as-of the 2026-07-24 settled close (Friday's close; this is a Saturday EOW read). Numbers read directly from geopolitical — no prose math. Prior scan: 2026-07-17-geopolitical-risk (2026-07-17).
Two things confirmed hard this week that hadn't confirmed together before: oil and defense. Every upstream oil producer is now strong-up, with XOM and CVX both pushing into near-overbought RSI territory (72.3 and 71.6), and the defense complex — which the prior scan flagged as showing "no war premium" — reversed sharply, with LMT, RTX, and GD all crossing RSI 70 (full detail in the companion 2026-07-25-defense-contractors.md). What still hasn't confirmed is the classic haven trade: TLT is the weakest name in this entire scan (RSI 33, strong-down, death-crossed), and GLD/SLV/GDX only staged a shallow bounce, still tagged strong-down/collapse. Services also flipped internally — SLB rocketed (RSI 65.5, a single-day +11.0% move) while HAL rolled the opposite way (RSI 38.7).
Quick Snapshot
| Signal | Reading |
|---|---|
| Overall | 🟠 Oil and defense both confirm into near-overbought territory this week; the classic haven trade (TLT, GLD/SLV/GDX) still hasn't caught a durable bid |
| Biggest confirmation | Upstream oil (XOM RSI 72.3, CVX 71.6, COP 66.6) all `strong-up`, plus the defense complex flipping to strength alongside it |
| Counterintuitive tell | TLT is the single weakest name in the scan (RSI 33, `strong-down`) despite the widened backdrop; GLD/SLV/GDX only bounced shallowly, still death-crossed |
| Services flip | SLB rocketed to RSI 65.5 (single-day +11.0%, relative volume 2.3x) while HAL rolled over to RSI 38.7 — the exact reverse of the prior scan's split |
Oil Producers
Upstream
| Stock | Price | RSI | 7D | 30D | vs SMA20 | Trend | 52wkHi |
|---|---|---|---|---|---|---|---|
| XOM | $156.94 | 72.3 | +6.5% | +14.6% | +9.2% | strong-up | -11.1% |
| CVX | $194.79 | 71.6 | +4.0% | +13.6% | +8.6% | strong-up | -9.5% |
| OXY | $57.30 | 63.2 | +4.5% | +12.2% | +8.2% | strong-up | -14.6% |
| COP | $120.26 | 66.6 | +4.8% | +12.5% | +8.4% | strong-up | -12.6% |
| DVN | $45.04 | 58.8 | +2.8% | +5.4% | +5.2% | strong-up | -14.1% |
| EOG | $146.39 | 68.3 | +4.7% | +9.7% | +7.5% | strong-up | -4.2% |
All six upstream names are now strong-up, RSI 58.8-72.3 — up from a 54-64 band in the prior scan. XOM and CVX have both pushed into the 70-80 near-overbought zone, the first names in this whole scan to do so on the oil side.
Services
| Stock | Price | RSI | 7D | 30D | vs SMA20 | Trend | 52wkHi |
|---|---|---|---|---|---|---|---|
| SLB | $52.42 | 65.5 | +11.6% | +12.5% | +11.4% | strong-up | -19.7% |
| HAL | $33.36 | 38.7 | -5.3% | -1.6% | -2.2% | weak-down | -25.0% |
The services split flipped direction entirely from the prior scan. Two scans ago SLB rolled into weak-down (RSI 39.0) while HAL kept improving (RSI 47.3); this week SLB jumped to strong-up (RSI 65.5) on a single-day move of +11.0% (relative volume 2.3x average), while HAL rolled the other way into weak-down (RSI 38.7, -5.3% 7D).
Refiners
| Stock | Price | RSI | 7D | 30D | vs SMA20 | Trend | 52wkHi |
|---|---|---|---|---|---|---|---|
| VLO | $302.50 | 63.2 | -2.3% | +24.8% | +5.2% | strong-up | -4.7% |
| PSX | $206.77 | 67.5 | 0.0% | +22.6% | +7.7% | strong-up | -4.2% |
Both refiners are running the largest 30-day gains of any names in this scan (+24.8% and +22.6%), each strong-up and within 5% of their 52-week highs — the downstream side of the oil complex is confirming just as strongly as upstream this week.
Energy ETFs
| Stock | Price | RSI | 7D | 30D | vs SMA20 | Trend | 52wkHi |
|---|---|---|---|---|---|---|---|
| XLE | $59.62 | 69.8 | +3.4% | +11.3% | +6.5% | strong-up | -6.4% |
| OIH | $391.66 | 53.4 | +3.3% | +5.5% | +4.1% | weak-down | -16.6% |
| XOP | $174.05 | 65.6 | +2.3% | +13.7% | +6.6% | strong-up | -7.7% |
| USO | $136.69 | 67.2 | +10.3% | +28.6% | +17.1% | strong-up | -9.5% |
XLE, XOP, and USO are all strong-up, with USO's 30-day change now the single largest in the whole scan at +28.6%. OIH — the services-heavy energy ETF — is the one laggard here, still weak-down, consistent with HAL's rollover in the services table above.
Safe Havens
| Stock | Price | RSI | 7D | 30D | vs SMA20 | Trend | 52wkHi |
|---|---|---|---|---|---|---|---|
| TLT | $83.25 | 33.0 | -1.5% | -4.4% | -1.7% | strong-down | -9.8% |
| GLD | $371.90 | 44.7 | +1.0% | +1.6% | -0.3% | strong-down | -27.1% |
| SLV | $52.59 | 43.0 | +3.6% | +1.6% | -0.9% | strong-down (`collapse` regime) | -52.6% |
| GDX | $75.23 | 47.3 | +5.5% | +0.9% | +0.5% | strong-down (`collapse` regime) | -36.0% |
| UUP | $28.58 | 64.3 | +0.9% | +0.2% | +0.6% | strong-up | -0.1% |
This remains the clearest counterintuitive read in the scan. TLT is now the single weakest name in this entire summary — RSI 33.0, still deteriorating on both 7-day and 30-day windows, death-crossed. Gold, silver, and the miners all ticked their RSI up off deep-oversold levels but stayed death-crossed and, for SLV/GDX, still tagged collapse — a shallow bounce, not a haven bid. The dollar (UUP) firmed hard this week (RSI 64.3, up from 54.4 in the prior scan), which per regime-signals.json's gld_uup_inverse gauge reads as gold_breakdown_dollar_firm (risk-on band): GLD sits under its flagged $410 hard-breakdown level while UUP sits above its $27.10 firmness invalidator. The gauge's own fired flag is still false, so this is a state read, not a confirmed trigger — but it's the same direction the raw prices already show.
Defense Quick Look
| Stock | Price | RSI | 7D | 30D | Trend | 52wkHi |
|---|---|---|---|---|---|---|
| LMT | $582.60 | 72.1 | +14.5% | +18.5% | up | -17.8% |
| RTX | $212.79 | 74.4 | +10.0% | +15.0% | strong-up | -2.5% |
| NOC | $542.24 | 55.5 | +4.0% | +7.8% | weak-up | -31.1% |
| GD | $386.75 | 70.9 | +4.9% | +12.8% | strong-up | -1.5% |
| LHX | $300.21 | 56.6 | +6.5% | +4.5% | weak-up | -21.0% |
| BA | $209.52 | 41.1 | -2.1% | -4.9% | down | -17.7% |
| ITA | $240.14 | 57.0 | +4.1% | +1.7% | strong-up | -5.3% |
| PPA | $175.26 | 55.8 | +4.0% | +2.5% | strong-up | -6.5% |
| DFEN | $76.41 | 55.3 | +12.3% | +3.4% | strong-up | -30.1% |
The whole defense complex reversed this week rather than continuing to weaken — see 2026-07-25-defense-contractors.md for the full breakdown, including NOC's regime flip out of collapse and BA's continued non-participation.
Crisis Losers
The names that logically should be catching a durable flight-to-quality bid on this week's confirmed escalation in both oil and defense, and instead did not: TLT (the single weakest name in the scan, RSI 33.0, still deteriorating), GLD/SLV/GDX (only a shallow bounce, still death-crossed or collapse), and HAL (rolled into weak-down the same week SLB rocketed +11.0% in a session). BA is the odd one out on the defense side — still down while every peer in the complex reversed higher. None of these confirm a portfolio-wide crisis premium; the move this week is concentrated in oil and defense equities, not in the classic havens.
Crisis Playbook
- Treat oil as confirmed, not just recovering — all six upstream producers plus XLE/XOP/USO are
strong-up, with XOM and CVX now in the 70-80 near-overbought band. Refiners (VLO, PSX) are running the largest 30-day gains in the whole scan. - Defense flipped from the prior scan's "no war premium" verdict into a complex-wide bid this week — LMT/RTX/GD all crossed RSI 70. Full detail in the dedicated defense-contractors scan.
- Havens still aren't confirming a durable flight-to-quality trade: TLT is this scan's single weakest name, and GLD/SLV/GDX only bounced shallowly without clearing their death crosses.
- The services split flipped entirely — SLB (RSI 65.5) now leads on a single-day +11.0% move while HAL (RSI 38.7) rolled over; treat these as two separate stories, not one recovering pair.
- The regime engine's
gld_uup_inversegauge state (gold_breakdown_dollar_firm, risk-on) lines up with the raw GLD/UUP prices this week, even though the gauge itself hasn't tripped itsfiredflag.
What to Watch
- Whether TLT/GLD/SLV/GDX ever confirm a durable crisis premium — still the clearest signal that would flip this from an energy-and-defense-supply story into a portfolio-wide risk event. This week's data still says no.
- SLB's single-day +11.0% move on 2.3x relative volume — worth confirming whether this holds or reverts, especially given HAL moved the opposite direction in the same week.
- The defense complex's reversal — check the dedicated
2026-07-25-defense-contractors.mdscan for whether the RSI 70+ readings in LMT/RTX/GD are sustainable after one sharp week, or already extended. - BA's continued non-participation — the one name in the defense complex still tagged
downwhile every peer reversed higher. - The tension between this week's cyclical leadership (energy, defense) and
regime-signals.json's actively-firingsector_rs_rotationgauge (defensives_bidding, risk-off band) — worth reconciling in the next scan.
How To Read The Board
| Column | Meaning |
|---|---|
| RSI | 🟢 <30 oversold · 🟡 30-50 neutral/pullback · 🟠 70-80 near overbought · 🔴 >80 overbought/breakdown |
| Trend | Engine-tagged regime (`strong-up`, `pullback`, `collapse`, etc.) read from the summary file, not prose math |
| 52wkHi | Distance from the 52-week high — the closer to 0%, the closer to new highs |
Action Matrix
| Action | Names | Why |
|---|---|---|
| 🔥 Catalyst confirmed | XOM, CVX, OXY, COP, DVN, EOG, VLO, PSX, XLE, XOP, USO | Entire upstream-to-downstream oil complex `strong-up`, several near-overbought |
| 🟠 Getting extended | XOM (72.3), CVX (71.6), LMT (72.1), RTX (74.4), GD (70.9) | RSI 70+, near-overbought after this week's rip in both oil and defense |
| 🔍 Watch, no floor yet | TLT, SLV, GDX | `strong-down`/`collapse` regimes, still well off 52-week highs despite a shallow bounce |
| ⚠️ Diverging from peer group | HAL (vs. SLB), BA (vs. rest of defense) | Rolled over the same week their peer group confirmed the move |
| 🔒 Holding up / confirming | NOC, LHX, ITA, PPA, DFEN | Participating in the defense reversal without being extended (RSI 53-57) |
What Changed Since Prior Scan (2026-07-17)
| Category | Then | Now | Signal |
|---|---|---|---|
| Upstream oil (XOM-EOG) | RSI 54-64, `strong-up` | RSI 58.8-72.3, `strong-up` | Confirmed re-rate extended further; XOM/CVX now near-overbought |
| SLB | RSI 39.0, `weak-down` | RSI 65.5, `strong-up`, +11.0% single day | Services split reversed direction entirely |
| HAL | RSI 47.3, improving | RSI 38.7, `weak-down` | Rolled over the same week SLB rocketed |
| XLE / XOP / USO | RSI 62.3 / 65.1 / 58.9 | RSI 69.8 / 65.6 / 67.2 | All three energy ETFs extended further, XLE near-overbought |
| TLT | RSI 43.5, 30D -2.2% | RSI 33.0, 30D -4.4% | Continued weakening — no haven confirmation, now the scan's weakest name |
| GLD / SLV / GDX | RSI 40.0 / 34.4 / 36.9 | RSI 44.7 / 43.0 / 47.3 | Shallow bounce off deep-oversold levels, but all remain death-crossed |
| Defense complex (LMT-BA) | RSI 32-59, weakening | RSI 41.1-74.4, reversing | Complex-wide reversal — full detail in dedicated defense-contractors scan |
| BA | RSI 42.8, -3.9% 30D | RSI 41.1, -4.9% 30D | Only defense name to continue weakening while peers reversed |
Related
10 eventsNo direct external sources are attached to this read.