US · Recap
US Market Recap | 2026-09-01 (ET) Tuesday
Machine-translated from the Chinese original. In case of any discrepancy, the Chinese version prevails.
Single-name entries
This is a reconciliation report — it carries no single-name score table. Recaps are structured around hit-rate reconciliation, theme verification and next-day outlook.
Coverage window: 2026-09-01 09:30–16:00 ET regular session + 16:00–17:15 ET after-hours. The reconciliation target is the same-day pre-market list
reports/us/2026-09-01.md.Data conventions (source and read timestamp stated item by item)
- Single-stock / ETF closing prices and volumes: stockanalysis.com quote endpoint, 16:00 ET regular-session close basis; percentage changes are all reverse-computed in this report as
(close − prior close) ÷ prior closeand only cited when they match the endpoint's owncpfield item by item (all 60+ names matched this time).- After-hours prices: same source,
ep/ecp/eufields, read at 17:04–17:12 ET, each entry timestamped. ⚠️ After-hours volume and price accumulate from 16:00 onward and are not final values — this report took two reads each for DELL/MDB/PANW and gives both; differences are in §4.- Three major indices / VIX / dollar / crude futures: CNBC restQuote, read at 16:45–17:02 ET.
- Treasury yields: the US Treasury's official Daily Treasury Yield Curve CSV (primary source), cross-checked against CNBC (10Y 4.79 vs 4.80, 30Y 5.27 vs 5.275, 2Y 4.39 vs 4.404, all within quote-timing tolerance). The curve-shape conclusions in this report are based on the Treasury data.
- Market breadth is computed in-house: closing prices pulled name by name for S&P 500 constituents, effective sample 482/503, not the full sample; see the §1 footnote for conventions.
0. One-Line Recap
The pre-market list got the direction right, but its reason was wrong — and it was the single most important reason of the day that was wrong. The pre-market brief identified the day's main line as an "offshore long-end term-premium shock" and explicitly ruled out "Fed path repricing," on the basis of the 08:00 ET curve shape (2Y only +0.8bp, while 10Y +3.4bp and 30Y +3.5bp — a bear steepening). By the close, that shape had flipped entirely: 2Y +5bp, 3Y/5Y +6bp, 10Y +4bp, 30Y only +2bp — a textbook bear flattening, with the move decaying monotonically from the front end toward the long end. In other words, the very evidence used pre-market to rule out the Fed path was, by the close, pointing straight at the Fed path itself.
Put the two pieces together and you get the day's real story: the Hormuz supply shock did not stop at the crude leg — it transmitted into short-end rates through inflation expectations. WTI +5.74% and Brent +5.16%, after Iran's Revolutionary Guard claimed a supertanker had struck a mine and caught fire — this is the first physical shipping damage of this cycle, no longer just threats. On the same day ISM Manufacturing came in at 54.6 (consensus 55.6), below expectations, but the prices-paid subindex still ran at 71.1. Growth data softening, inflation inputs spiking, front-end rates being sold — this is a stagflationary repricing, and the mapping written in pre-market §8 ("ISM misses → rate-hike expectations recede → growth stocks de-compress → bearish for energy on the demand side") ran the wrong way on all three legs.
Risk appetite was clearly risk-off: S&P −0.71%, Nasdaq −1.03%, Russell −1.23%; in-house breadth showed only 154 of 482 names up (32.0%), VIX 16.34 (+9.52%). The damage concentrated where duration is longest: the information technology sector median was −2.11% (only 10/70 up), and IGV −3.46% was materially worse than SMH −2.05% — software fell harder than semis, and that software/hardware fork positively supports the "rate attribution" (rather than falsifying it, as it does on some days). On the other side were energy +1.31% (16/20 up) and utilities +0.42%.
Execution on the pre-market list was good: of the 7 "watch closely" names, 6 beat the S&P, averaging +6.89% on the close, and still averaging +2.13% even if bought at the pre-market price; the top name FRVO +28.41% (still +14.03% bought at the pre-market price). But three failures must be booked: ① the main-line attribution was wrong (see above); ② the day's single most concentrated up-cluster was missed — fertilizer/agriculture (CF +4.28%, BG +4.16%, ADM +4.01%, CTVA +3.88%, MOS +2.74%, NTR +2.86%), which is precisely the counterexample to the pre-market assertion that "the war pricing has not spilled over"; ③ the S&P's largest weight, AAPL +2.61%, and its same-day event (Ternus formally taking over as CEO effective 9/1) were missed entirely.
Tone into the next day: after-hours, DELL rewrote everything. DELL fell −6.80% in the regular session alongside the hardware selloff; after the close it reported EPS $7.04 (consensus $4.95), revenue +58%, and raised full-year guidance by $25 billion in one step to $192 billion, trading +8.57% after hours and dragging HPE +4.09% and SMCI +1.88% with it. Software was the exact opposite: MDB beat handily and raised guidance, yet still fell −11.56% after hours; PANW beat and guided above consensus, yet only hovered ±0.4% after hours. Tomorrow brings AVGO earnings + ADP + the Beige Book, the next test of this "hardware bought, software sold" fork.
1. Market Overview
1.1 Indices and Turnover
| Index | Close | Chg | Chg% | Prior close |
|---|---|---|---|---|
| S&P 500 (.SPX) | 7,631.47 | −54.67 | −0.71% | 7,686.14 |
| Dow Jones (.DJI) | 52,766.88 | −419.02 | −0.79% | 53,185.90 |
| Nasdaq Composite (.IXIC) | 26,099.77 | −271.12 | −1.03% | 26,370.89 |
| Russell 2000 (.RUT) | 2,920.13 | −36.32 | −1.23% | 2,956.45 |
ETF cross-check (with volume): SPY 761.78 (−0.69%) / 40.11 million shares, QQQ 707.64 (−1.27%) / 34.36 million shares, DIA 527.75 (−0.72%), IWM 290.57 (−1.14%). Each index matches its ETF's percentage change item by item, with no convention conflict.
Small caps fell most (Russell −1.23%), the Nasdaq next, the Dow least — the classic "rates up + risk appetite contracting" combination, not simply a tech-stock event.
1.2 Market Breadth (computed in-house)
| Item | Value |
|---|---|
| Advancing | 154 |
| Declining | 324 |
| Unchanged | 4 |
| Advance share | 32.0% |
| Effective sample | 482 / 503 |
⚠️ The sample convention must be stated: this table is computed in-house after pulling closing prices name by name for S&P 500 constituents, not exchange-wide advance/decline counts (NYSE/Nasdaq market diary was not obtained this time; see the end of the document). 21 names are missing because the data source did not return them (BRK-B, TJX, TMUS, SO, TT, TEL, TPR, TTD, TPL, STT, SYF, TROW, SPG, SBAC, SNDK, HOOD, ROP, ROL, SOLV, LUV, BF-B). The gaps cluster in the S–T alphabetical band and do not constitute a systematic sector bias, so the directional read on "32.0%" is barely affected; but it is S&P 500 breadth, not whole-market breadth — small caps and off-index names are not included. SNDK and HOOD were obtained separately in §2 and are not counted in this table.
A 32% advance share paired with a −0.71% index decline says the index was held up by a few heavyweights — AAPL (+2.61%) and META (+1.08%) were the main cushions, while the median stock fell far more than the index did.
1.3 Sector Performance (S&P 500 eleven sectors, median basis, computed in-house)
| Sector | Up/Total | Median chg% |
|---|---|---|
| Energy | 16/20 | +1.31 |
| Utilities | 25/30 | +0.42 |
| Consumer Staples | 17/33 | +0.01 |
| Real Estate | 12/28 | −0.10 |
| Health Care | 26/58 | −0.20 |
| Materials | 7/25 | −0.64 |
| Financials | 21/71 | −0.73 |
| Communication Services | 3/22 | −1.10 |
| Consumer Discretionary | 7/45 | −1.36 |
| Industrials | 10/80 | −1.55 |
| Information Technology | 10/70 | −2.11 |
Only 10 of the 70 information technology names rose, the one sector with a full breadth collapse. Energy and utilities were the only two sectors with a positive median.
Sector ETF basis (mutually corroborating with the table above):
| ETF | Close | Chg% | ETF | Close | Chg% | |
|---|---|---|---|---|---|---|
| XLE Energy | 64.77 | +1.27 | XLC Communication | 110.88 | −0.52 | |
| XLU Utilities | 42.56 | +0.78 | XLF Financials | 57.20 | −0.88 | |
| XLV Health Care | 171.67 | +0.66 | XLB Materials | 52.07 | −1.18 | |
| XLP Consumer Staples | 85.25 | +0.32 | XLI Industrials | 172.73 | −1.37 | |
| XLRE Real Estate | 44.04 | −0.16 | XLK Technology | 183.64 | −1.53 | |
| — | XLY Consumer Discretionary | 114.59 | −1.72 | |||
| SMH Semiconductors | 545.22 | −2.05 | IGV Software | 106.18 | −3.46 |
⚠️ The XLU +0.78% cell needs its own explanation: it is not a utilities rally driven by falling rates (rates rose today), but the result of a single-day surge in California utilities after SB 492 was shelved — EIX +8.93%, PCG +5.95%, SRE +3.13%. Reading XLU's gain as "defensive rotation" would be a misread; it was a regulatory-event-driven burst inside the sector. The real defensive-rotation evidence is in XLP (+0.32%) and XLV (+0.66%).
1.4 Rates, Volatility and the Dollar
Treasury yields (US Treasury official Daily Yield Curve, primary source)
| Tenor | 08/31 | 09/01 | Change |
|---|---|---|---|
| 3-month | 3.91 | 3.92 | +1bp |
| 1-year | 4.16 | 4.18 | +2bp |
| 2-year | 4.34 | 4.39 | +5bp |
| 3-year | 4.40 | 4.46 | +6bp |
| 5-year | 4.49 | 4.55 | +6bp |
| 7-year | 4.62 | 4.66 | +4bp |
| 10-year | 4.75 | 4.79 | +4bp |
| 20-year | 5.24 | 5.27 | +3bp |
| 30-year | 5.25 | 5.27 | +2bp |
🚨 This is the most important table in the entire report today, because it directly overturns the pre-market list's central thesis.
The pre-market (08:00 ET) shape was a bear steepening: 2Y +0.8bp, 10Y +3.4bp, 30Y +3.5bp. On that basis the pre-market list wrote: "If the market were newly pricing a September rate hike today, the 2Y is what should move most — and the 2Y has barely moved… the day's marginal driver is offshore long-end term premium, not the Fed path."
The closing shape is a bear flattening, and a monotonic one: the move peaks at 3Y/5Y (+6bp) and decays toward both ends, with 30Y only +2bp. The 2s30s spread narrowed 3bp on the day. By the pre-market list's own stated criterion, this is exactly the shape of "the market newly pricing the Fed path."
Conclusion: the pre-market observation was accurate at 08:00, but it treated a shape that changes intraday as the day's settled verdict. The real marginal driver of the day was the front end and the belly, not the long end. The long end (20Y/30Y) was in fact the most resilient segment of the whole curve today — the offshore-term-premium thread had clearly receded to secondary importance by the US close.
Other risk indicators
| Indicator | Close | Chg | Chg% |
|---|---|---|---|
| VIX | 16.34 | +1.42 | +9.52% |
| Dollar index DXY | 99.667 | +0.239 | +0.24% |
| WTI front month (@CL.1) | $90.68 | +4.92 | +5.74% |
| Brent front month (@LCO.1) | $95.16 | +4.67 | +5.16% |
VIX rose from 14.92 to 16.34, a further move up from the pre-market 15.88, but still below 17. The pre-market judgment ("the market is not pricing tail risk; protection is cheap") still holds today — on a session with only 32% breadth and crude up +5.7% in a day, a VIX of just 16.34 says this is still being traded as sector rotation, not systemic risk.
Sentiment call: risk-off, but "rotational risk-off" rather than "panic risk-off." Three pieces of evidence: ① money did not leave, it moved from duration assets into energy and defensives (energy 16/20 up); ② VIX only 16.34; ③ stocks fell and bonds fell too (yields up) — the pre-market list had noted that "if stocks fall and bonds rally, the narrative has switched to recession/haven, at which point the energy-long logic immediately fails," and that switch did not happen today, so the logical basis for energy longs remained intact on the day. This forward-looking criterion was well written, and it was right today.
2. Pre-Market List Reconciliation
⚠️ The key to this table is column 5, "vs pre-market price," not column 4, "close chg%." Column 4 is "prior close → today's close," which includes the pre-open gap — but the list went out at 08:00 ET, and the earliest price a reader could get is the pre-market price, not the prior close. Using column 4 for hit rate systematically overstates performance. Column 5 = (close − pre-market price) ÷ pre-market price, where the pre-market price is reconstructed in this report as "prior close × (1 + pre-market gap%)" and checked one by one against the quotes explicitly given in the body of the pre-market list (FRVO $17.32, SLB $60.75, VLO $363.00, MPC $378.12, XLE $64.72, GPRO $1.535, EIX $54.25, PCG $13.35 all matched).
2.1 "Watch Closely" Group (7 names)
| Ticker | Pre-market call | Pre-mkt gap% | Close chg% | vs pre-mkt price% | Open→Close% | Delivered? | Comment |
|---|---|---|---|---|---|---|---|
| FRVO | watch closely | +12.61 | +28.41 | +14.03 | +19.91 | ✅ Delivered strongly | Best of the day. Opened $16.47 → closed $19.75, strengthening through the session rather than spiking and fading — which is the affirmative answer to the verification point set pre-market ("can turnover after the open materially exceed the pre-market $34.4M?"): full-day volume of 35.13 million shares ≈ $650 million, far above the pre-market cumulative. This is position building, not a news pulse. |
| DUOL | watch closely · do not chase at the pre-market price | +6.50 | +7.02 | +0.49 | −0.15 | ✅ Delivered (gap only) | The pre-market reminder "do not chase at the pre-market price" was precise: essentially all of the day's gain came from the gap; buying at the pre-market price added only 0.49%, and open→close was still −0.15%. |
| NVS | watch closely | +5.49 | +6.04 | +0.52 | −0.56 | ✅ Delivered (same as above) | Same type as DUOL: the gap held, but there was no follow-through intraday. IBB +0.85% and XBI +0.55% followed only marginally, making this a single-stock event rather than a biotech sector launch, consistent with the verification point set pre-market. |
| USO | watch closely · pure β expression | +2.21 | +5.46 | +3.18 | +2.78 | ✅ Delivered strongly | The most underrated call of the day. The pre-market listed USO as a "pure β expression," and it came in at +5.46%, beating every energy single stock (the strongest, COP, managed only +2.79%). In a pure supply shock, "buying the barrel" really does beat "buying the company." |
| XLE | watch closely · sector expression | +1.19 | +1.27 | +0.08 | −0.15 | ✅ Direction delivered | The verification point set pre-market was "can it close above the 52-week high of $64.70" — it closed at $64.77, barely holding, so the answer is yes. But note open→close of −0.15%: the breakout was made by the gap, with no intraday acceleration. |
| OXY | watch closely (the top single-stock thesis of the whole brief) | +1.53 | +1.28 | −0.25 | −0.25 | ❌ Core thesis not delivered | This is the entry that most needs to be owned in this report; see the dedicated section below. |
| HOOD | watch closely (with COIN as a synchronous check) | +1.98 | −1.24 | −3.16 | −1.74 | ❌ Not delivered | But the pre-market spelled out the failure path and it played out exactly: "if COIN keeps weakening after the open and HOOD follows it down, treat the rating premium as fully digested." COIN closed −6.01% and HOOD fell back as expected. The call was wrong, but the risk warning was right and came with an actionable indicator to watch. |
Summary: 6 of 7 beat the S&P (−0.71%), average close +6.89%, average vs pre-market price +2.13%, 5/7 above the pre-market price.
🚩 One item that must be owned separately: the OXY relative-value thesis was falsified.
The pre-market spent considerable space arguing that "which one you buy matters more than whether you buy": the oil-price elasticity of the five integrated oil and gas names differed by 2.9x (OXY 3.37% vs XOM 1.17%), yet their two-day gains were all crammed into a 1pp band, making OXY the "highest elasticity yet smallest gain" mispricing, and it explicitly set "can OXY beat XOM" as the verification point.
Today's answer is: no, and in fact the reverse.
Oil-price elasticity (pre-market basis) Today's close Rank COP 1.90% +2.79% 1 MPC (refiner) not verified +2.59% 2 CVX 1.44% +2.38% 3 XOM 1.17% (lowest) +2.24% 4 PSX (refiner) not verified +2.21% 5 DVN 1.99% +1.11% 6 OXY 3.37% (highest) +1.28% 7 (second from bottom) On a day when Brent rose +5.16%, the highest-elasticity name, OXY, finished second from the bottom, and the lowest-elasticity name, XOM, gained nearly twice as much. The "mispricing convergence" expected pre-market not only failed to happen, it widened further.
Where the error lies (this matters more than the conclusion): the pre-market diagnosed "2.9x difference in elasticity but only 1pp difference in returns" as a pricing error and assumed it would converge. The more likely explanation is that the mismatch is not an error — the market is discounting "elasticity" itself. OXY's high elasticity is levered high elasticity (Berkshire's $8.287 billion 8% preferred sits on the balance sheet, adjusted leverage of 1.37x is the highest of the five, and a breakeven oil price of ~$67 is also the highest), and in a geopolitical premium that "could vanish at any moment on a single agreement," the market is unwilling to pay for levered elasticity. The pre-market itself wrote down this symmetry risk ("elasticity is symmetric — it falls hardest too"), yet still ranked it first — that is, it treated an "attribute" as a "discount."
The generalizable lesson: when a cross-sectional mismatch has persisted for two days in a consistent direction, the default assumption should be "the market is pricing something I haven't modeled," not "the market is wrong." To overturn that default you need a catalyst that explains why the mismatch would converge, and the pre-market offered no catalyst at all — only the mismatch itself.
2.2 "Watch Only" Group (21 names)
| Ticker | Pre-mkt gap% | Close% | vs pre-mkt price% | Comment |
|---|---|---|---|---|
| BE | −2.52 | +3.55 | +6.23 | ❌ Biggest missed move. The pre-market put BE on the "watch only" and even the avoid list, reasoning that "it is in the same theme as FRVO yet falling, which shows the market is buying the Google contract, not the AI-power theme." Today proved that inference wrong — the entire geothermal/AI-power chain rose together; see §3. |
| COP | +1.53 | +2.79 | +1.24 | ❌ Missed. The pre-market downgraded it to watch only on "$90 is already in the price"; today it was the strongest of the five. |
| MPC | +1.29 | +2.59 | +1.29 | ❌ Slightly missed (the refiner chain was underrated). |
| CVX | +1.15 | +2.38 | +1.22 | ❌ Slightly missed. |
| XOM | +1.53 | +2.24 | +0.70 | ❌ Missed. The pre-market cut it from top pick to watch only; today it beat OXY. |
| PSX | +1.31 | +2.21 | +0.88 | ❌ Slightly missed. |
| VLO | +1.14 | +0.86 | −0.28 | ✅ Right call (differentiation within refiners; VLO clearly weaker than MPC/PSX). |
| LLY | +0.80 | +0.28 | −0.51 | ✅ Right call. Open→close −2.36%, a rare gap-up-fade among defensives. |
| HAL | +1.14 | −0.14 | −1.26 | ✅ Right call (oil services did not follow crude). |
| MRVL | −3.53 | −0.60 | +3.04 | ✅ Right call, and elegantly so. Open→close +2.57%; the gap-fill happened as expected, see §3. |
| INTC | −2.95 | −0.60 | +2.42 | ✅ Same as above, open→close +2.45%. |
| HUT | +1.41 | −1.36 | −2.73 | ✅ Right call (volume below threshold; the $35 billion agreement did not hold it up). |
| NVDA | −1.58 | −1.51 | +0.07 | ✅ Right call, essentially flat. |
| SMCI | −2.71 | −1.53 | +1.21 | ✅ Right call. |
| SNDK | −2.79 | −1.90 | +0.91 | ✅ Right call. |
| AKAM | +1.26 | −1.99 | −3.21 | ✅ Right call and high value. The pre-market noted its pre-market notional was only $0.5M, "far below the threshold and not usable as evidence" — the result was the most textbook rating-gap giveback of the day. |
| AMD | −2.12 | −2.36 | −0.25 | ✅ Right call. |
| MU | −2.15 | −2.64 | −0.50 | ✅ Right call. |
| NOW | −2.52 | −3.44 | −0.94 | ✅ Right call. |
| SLB | +1.08 | −4.91 | −5.92 | ✅✅ The most valuable downgrade of the day. The pre-market cut SLB from "watch closely" to "watch only," reasoning that its pre-market notional of only $1.2M failed the threshold and could not serve as evidence. The result: it fell −4.91% against the tide on a day when energy rose across the board, the 17th-largest decliner in the S&P 500. Bought at the pre-market price, that is a 5.92% single-day loss. |
| PANW | −1.12 | −5.24 | −4.17 | ✅✅ Right call. The pre-market wrote that "holding overnight is betting on a quarter whose bar has already been raised" — and it did not even take the earnings: the regular session fell 5.24% first, see §4. |
Summary: the 21 names averaged −0.54% on the close and −0.03% vs the pre-market price (essentially flat). That is exactly what "watch only" should look like — no gains, but no losses either. Within it, the two downgrades SLB (−5.92%) and PANW (−4.17%) avoided real losses; the cost was missing about 1pp per name across 6 energy names, plus missing 6.23% on BE.
2.3 "Avoid / Short Watch" Group (9 names)
| Ticker | Pre-mkt gap% | Close% | vs pre-mkt price% | Delivered? | Comment |
|---|---|---|---|---|---|
| MSTR | −3.32 | −6.06 | −2.84 | ✅ | Right call; the crypto-leverage proxy was the weakest. |
| COIN | −2.66 | −6.01 | −3.44 | ✅ | Right call, and it was the leading indicator for HOOD. |
| OKLO | −1.90 | −5.03 | −3.19 | ✅ | Right call. |
| GDX | −2.90 | −3.90 | −1.03 | ✅ | Right call, and the reasoning is worth keeping. The pre-market proactively downgraded the evidence "gold fell on a day of war escalation" to "not independent of the rates main line," but kept the conclusion "do not buy gold on the war." Today GLD −2.86%, GDX −3.90%, SLV −3.68% — precious metals were the worst-performing asset class of the day. |
| GPRO | +75.19 | +40.38 | −19.87 | ✅ (execution basis) | The single best illustration in this report of "why you must look at column 5." On the close basis it was +40.38%, which looks like a severe miss; but measured against the pre-market price of $1.535, today's close of $1.23 is −19.87% — anyone who bought at the pre-market moment lost a fifth on the day, and it fell further to $1.20 after hours (17:04 ET). Open→close −8.89%; the high of the entire day was at the open. The pre-market's two-sided warning — "avoid, and absolutely do not enter short mid-squeeze" — was right on both sides. |
| DVN | +1.59 | +1.11 | −0.47 | ✅ (relative) | Right call: one of the two weakest energy names, confirming the analysis that "only 37% is crude post-merger + hedges cap the upside." |
| SMR | −2.16 | −0.65 | +1.55 | ⚠️ Partly wrong | The decline narrowed, open→close +3.48%, following the AI-power rebound. |
| EIX | +0.50 | +8.93 | +8.39 | ❌ Wrong | The biggest failure in this group; see §3 and the dedicated section below. |
| PCG | +0.60 | +5.95 | +5.32 | ❌ Wrong | Same as above. |
Summary: 6 of 9 delivered. On the close basis this group averaged +3.86% (which looks terrible), but on the vs-pre-market-price basis it was −1.73% — the two bases differ by 5.6pp, almost entirely because of GPRO alone. This again shows: the performance of an avoid list must be measured at executable prices, or one gap-up-fade squeeze name will distort the whole thing.
🚩 EIX / PCG: a failure where "the risk framework was entirely correct, but the conclusion was still wrong."
The pre-market call on these two was "avoid, binary event, two-sided risk," and it wrote explicitly: "−23% has already priced in 'the text is bad'; if today's vote outcome or the final amendment comes in weaker than the market expects, the short covering will be violent."
Today's actual outcome was exactly that branch: on the morning of 9/1, after more than an hour of closed-door consultations among California legislative leaders, Speaker Robert Rivas shelved SB 492 outright and no vote was held. The legislative risk hanging overhead vanished in one stroke; EIX +8.93% (nearly a one-way session, open→close +8.87%), PCG +5.95%, SRE +3.13%, dragging XLU into positive territory on its own.
So the problem is not that this branch was unforeseen — the pre-market spelled it out verbatim. The problem is that an event for which two branches had already been laid out, with the upside branch explicitly flagged as having greater elasticity, was handled as "avoid." "Avoid" here amounts to abstaining on a known probability distribution. The more honest treatment is a conditional execution plan (e.g., vote shelved or bill materially weakened → flip long; bill passes as written → keep avoiding), rather than using one word to exclude both branches at once.
One more thing that must be booked: the pre-market took the leginfo primary page at face value — "the last action stands at 08/30 Ordered to third reading" — and judged that "the vote has not yet happened and will land during today's session." That primary-source verification was correct, and so was the direction (it did indeed land today). But among the three possible outcomes of "landing today," the pre-market only worked through two — "passes" and "text weakened" — and missed the one that actually happened: no vote at all. Branch enumeration for a binary event must include the "does not happen" branch.
2.4 Same-Day Hit Rate Summary
| Group | Count | Beat S&P | Avg close% | Avg vs pre-mkt price% | Verdict |
|---|---|---|---|---|---|
| Watch closely | 7 | 6 / 7 | +6.89 | +2.13 | Excellent |
| Watch only | 21 | 11 / 21 | −0.54 | −0.03 | Acceptable (avoided SLB/PANW, missed energy and BE) |
| Avoid / short watch | 9 | 5 / 9 | +3.86 | −1.73 | Acceptable (EIX/PCG wrong) |
| Total | 37 | 22 / 37 | — | — | — |
Overall hit rate: 6/7 (85.7%) on the long side is the best day this week; 6/9 (66.7%) on the avoid side; no systematic loss anywhere on the list measured at executable prices.
A One-Line Self-Critique
Today's list was very good at "picking stocks" and wrong at "explaining the world" — and the harm from the latter is lagged.
6/7 on the long side and FRVO +28.41% are real results. But the central proposition holding up the entire list ("the day's driver is offshore long-end term premium, not the Fed path") was overturned at the close by its own criterion: the pre-market said "if this were Fed path repricing, the 2Y should move most," and at the close the 2Y was +5bp while the 30Y was only +2bp. Right direction, wrong reason — you don't lose money today, but you will tomorrow: because the main-line attribution determines "what should continue tomorrow." Keep positioning for "long-end term premium" and you will be watching JGBs and UK gilts; position for "oil pushing up front-end inflation expectations" and you should be watching crude, ADP and the Beige Book — two paths pointing to completely different next-day scripts.
The second self-critique is insufficient breadth. The pre-market spent enormous space on depth (the primary-source SEC breakdown of FRVO, the reverse-computed elasticities of five oil and gas names — both solidly done), but not one of the day's most concentrated up-cluster, the fertilizer/agriculture line (CF/BG/ADM/CTVA/MOS/NTR, 6 names all between +2.7% and +4.3%), appeared anywhere in the 28-name list — and it is precisely the direct counterexample to the pre-market assertion that "the war pricing has not spilled beyond crude." This is the classic cost of "conclusion first, evidence second": having already written down "it only walked the crude leg," it stopped looking for the second leg. The same problem hit AAPL — the S&P's largest weight rose +2.61% on the day with a clear company event (the CEO transition taking effect), and it was not on the list.
3. Same-Day Theme Verification
| # | Theme | Pre-mkt strength | Today's actual | Leaders/laggards | Stage | Conclusion |
|---|---|---|---|---|---|---|
| 1 | Hormuz supply shock → crude | S (long) | ✅ Delivered strongly, beyond the pre-market expectation | WTI +5.74%, Brent +5.16%, USO +5.46%, XLE +1.27%, energy sector median +1.31% (16/20); COP +2.79% led, SLB −4.91% badly lagged | Acceleration phase (first physical damage) | Continue, but change the expression |
| 2 | Global rates shock | S (short growth) | ⚠️ Right direction, wrong mechanism | The curve flipped from bear steepening to bear flattening: 2Y +5bp / 3Y·5Y +6bp / 30Y +2bp. IT median −2.11%, IGV −3.46% > SMH −2.05% | Ongoing, the driver has switched tracks | Keep the main line, rewrite the attribution |
| 3 | California wildfire SB 492 | A+ (short) | ❌ Direction wrong | The bill was shelved by the Speaker and never voted; EIX +8.93%, PCG +5.95%, SRE +3.13% | Event concluded | Risk cleared, no longer a short theme |
| 4 | AI power / geothermal | A− (long, but "a lone name") | ✅ Delivered, with far more breadth than the pre-market judged | FRVO +28.41%, ORA +5.19%, BE +3.55%, CEG +2.02%, VST +0.52%, NEE +0.72% | Diffusion phase | Upgrade: from single-stock event to sector move |
| 5 | Semiconductor de-leveraging (gap-fill test) | A (short, but "do not chase the short") | ✅ Right call | MRVL open→close +2.57%, INTC +2.45%, SMCI +0.77%, SNDK +0.71% | Repairing | "A positioning phenomenon, not fundamental deterioration" holds |
| 6 | Cybersecurity / software earnings | A (neutral to bearish) | ✅ Right call, and harsher than expected | CRWD −6.90%, S −6.65%, ZS −5.32%, FTNT −5.31%, PANW −5.24% | Multiple compression underway | Continue |
| 7 | Sell-side rating day | B+ (long) | ⚠️ Roughly 30/70 | DUOL +7.02% ✅, HOOD −1.24% ❌, AKAM −1.99% ❌; on the short side IBKR −7.01% ✅ | Single-day effect | Same-day giveback of rating gaps is the norm |
| 8 | 🆕 Fertilizer / agriculture (missed pre-market) | Not covered | ❌ Missed entirely | CF +4.28%, BG +4.16%, ADM +4.01%, CTVA +3.88%, NTR +2.86%, MOS +2.74%, DE +3.23%; MOO +1.69% | Launch/diffusion phase | Must go on tomorrow's list |
| 9 | 🆕 AAPL company event (missed pre-market) | Not covered | ❌ Missed | AAPL +2.61% (largest S&P weight), META +1.08% | Event-driven | The 9/9 product event is the next node |
① Did the pre-market call the strongest theme? — It got "which one" right and "why" wrong
The pre-market placed "crude" and "rates" side by side as two S-grade main lines, and that choice was correct: today's best performer was energy (median +1.31%) and the worst was long-duration tech (IT median −2.11%) — exactly the two ends of those two lines.
But the "mechanism" of both lines needs revision, and the revision runs the same way — they are in fact one line.
- The pre-market model was: crude (geopolitics) and rates (offshore term premium) are two independent drivers, with the assertion that the war "only walked the crude leg, with no spillover."
- What today's data says is: they are one causal chain. Brent +5.16% in a day (a physical mine-strike-and-fire event) → near-term inflation expectations up → front end and belly yields led (2Y +5bp, 3Y/5Y +6bp), while the long end was only +2bp. If the driver really were "offshore long-end term premium," the move should have concentrated in the 30Y; the reality was exactly the opposite.
- ISM is corroborating evidence for this chain, not counter-evidence: the headline at 54.6 was below the 55.6 consensus (growth softening), while prices paid at 71.1 stayed elevated. Weakening growth + non-falling prices + surging oil = stagflationary pricing, which simultaneously explains "the front end rising" and "the long end not moving" (the long end prices growth and the terminal rate, and today's growth data was weak).
This item also shows: the mapping in that set of open criteria in pre-market §8 was written backwards. The original mapping read "ISM misses → rate-hike expectations recede → de-compression for growth stocks, demand-side bearish for energy." In reality: ISM missed, yet front-end yields rose, growth stocks fell hard, and energy rallied — all three ran the wrong way.
The cause of the error is that the criteria set defaulted to "ISM is a single variable," i.e., the headline decides everything. But the pre-market itself wrote the correct approach in the very same paragraph: "what needs watching most is the prices-paid subindex, not the headline." The criterion was right, but the mapping table was never rewritten to follow it — and when the headline and the prices-paid subindex point in opposite directions, today it was the prices dimension that won.
② Were there surprise themes the pre-market missed? — Two, and the first one especially matters
🚩 First: fertilizer / agriculture. This is not just "a sector missed"; it is a direct falsification of the pre-market's central proposition.
The pre-market's central sentence was: "the war pricing only walked the crude leg and has not spilled over into any traditional haven asset," supported by three cross-sectional pieces of evidence — "gold is falling, defense stocks are flat, tankers are not moving."
Today there was a second leg, and it sat just outside the pre-market's search radius:
| Ticker | Name | Close chg% |
|---|---|---|
| CF | CF Industries (nitrogen fertilizer) | +4.28% |
| BG | Bunge (agricultural processing) | +4.16% |
| ADM | Archer-Daniels-Midland | +4.01% |
| CTVA | Corteva (seeds / crop protection) | +3.88% |
| DE | Deere (agricultural machinery) | +3.23% |
| NTR | Nutrien (fertilizer) | +2.86% |
| MOS | Mosaic (phosphate fertilizer) | +2.74% |
| MOO | agriculture ETF | +1.69% |
The transmission mechanism is clear, and it is precisely Hormuz: Gulf states supply roughly 24.8% of global nitrogen fertilizer exports and 11.4% of phosphate fertilizer exports, and a blocked Hormuz can affect up to 15% of global fertilizer trade. In other words, this leg and crude are two outlets of the same supply shock.
One convention check that must be spelled out (to avoid mistaking sector β for the main line): agriculture equities rose +2.7% to +4.3%, while the agricultural commodity ETF DBA rose only +0.58%. The divergence says this is not a "grain prices are rising" trade but a "fertilizer supply constrained → fertilizer producers gain pricing power" trade — the beneficiaries are the fertilizer producers, not the agricultural commodities themselves. That CF/NTR/MOS outgained ADM/BG corroborates this ordering. Buying CORN/WEAT on a "grain prices are rising" read would be the wrong direction.
The reason it was missed is worth booking: the pre-market wrote down the conclusion "no spillover" first, and all subsequent searching was used only to confirm that conclusion (checking gold, defense and tankers — the three "expected spillover channels"), without ever turning the question around and asking "which industries had the most concentrated gains today." All three preset channels failed to react, and that was taken as proof of "no spillover"; but the real spillover happened through a fourth channel that was never preset. The correct procedure is to run a prior-free market-wide gainers scan first and explain afterward, not to explain first and then verify.
🆕 Second: AAPL +2.61%. John Ternus formally became CEO on 9/1 (Tim Cook moving to executive chairman), Apple's first CEO change in 15 years, stacked on top of the 9/9 product event (the market expects the iPhone 18 line and a first foldable). As the S&P's largest weight, rising +2.61% against the tide on a −0.71% session, it was one of the main forces holding the index decline down — without it, the S&P's decline would have been much closer to the Nasdaq's. None of the 28 names on the pre-market list covered it.
③ Semiconductor gap-fill: the verification point set pre-market was right
The pre-market wrote: "if more than half the decline is recovered within 30 minutes of the open, the 'crowding de-leveraging' read holds (rather than fundamental deterioration)."
| Ticker | Pre-mkt gap% | Open | Close | Open→Close% | Verdict |
|---|---|---|---|---|---|
| MRVL | −3.53 | 205.11 | 210.39 | +2.57% | ✅ Mostly recovered |
| INTC | −2.95 | 86.84 | 88.97 | +2.45% | ✅ Mostly recovered |
| SMCI | −2.71 | 36.43 | 36.71 | +0.77% | ✅ Partly recovered |
| SNDK | −2.79 | 1,526.01 | 1,536.87 | +0.71% | ✅ Partly recovered |
| NVDA | −1.58 | 216.75 | 217.44 | +0.32% | ✅ Essentially recovered |
All five rebounded from the open, with MRVL and INTC recovering nearly all of their 3% gaps. This supports the pre-market conclusion: the pre-market selloff in semis was a positioning/liquidity phenomenon, not fundamental deterioration, so "do not chase the short" was right.
But note the fork with software — this is the most informative comparison of the day:
Pre-mkt gap Close Open→Close SMH (semiconductors) −1.76% −2.05% — IGV (software) −1.15% −3.46% — Pre-market, semis fell more (−1.76% vs −1.15%); at the close, software fell more (−3.46% vs −2.05%), with the gap widening to 1.4pp. In other words: what kept getting sold after the open was software, not semiconductors.
This fork positively supports the "rate attribution": on a day of rising yields, software — longer duration, with cash flows further out — should fall more, while semis have current AI orders behind them. Today the relative performance of software versus hardware is consistent with the rate explanation — worth emphasizing, because it is not always so (on some days software falls less than hardware, and that shape falsifies the rate attribution). That falsifying shape did not appear today.
4. After-Hours Earnings Moves (next-day catalysts)
⚠️ Read conventions: after-hours prices are two reads at 17:04–17:12 ET, and after-hours trading is cumulative, values are still moving, so the following is not a settled close price. Wherever the two reads differ, both are listed.
1Dell TechnologiesDELLthe biggest one tonight · and the exact opposite direction of the regular session
| Item | Actual | Consensus | Verdict |
|---|---|---|---|
| F2027 Q2 revenue | $46.971 billion (+58% YoY) | $44.915 billion | ✅ Beat by 4.6% |
| Adjusted EPS | $7.04 | $4.95 | ✅ Beat by 42% |
| AI server orders | $60.9 billion (record) | — | — |
| AI server recognized revenue | $16.4 billion (record) | — | — |
| Backlog | $95 billion (record) | — | — |
| Full-year FY27 revenue guidance | raised by $25 billion → $192 billion (+69% YoY) | — | ✅ Major upward revision |
| Full-year AI server revenue guidance | $74 billion (previously $60 billion) | — | ✅ Raised by 23% |
| Q3 guidance | EPS $6.50 / revenue $49 billion (+81%) | — | ✅ |
- Regular session −6.80% ($425.00), after hours $461.41 (+8.57%, 17:12 ET read). It was sold intraday alongside the hardware/AI chain, then fully reversed after hours by the earnings.
- How to read it: this is the only sample tonight where the fundamental numbers are large enough to fight the rate move. A $25 billion single-step raise to full-year guidance is not a marginal adjustment; it is an order-of-magnitude adjustment.
- ⚠️ But one must also flag what these numbers do not answer: the market's core dispute over Dell has always been AI server gross margin (low-margin orders inflating revenue). In the public summary above, revenue/orders/backlog are all records, but gross margin and the AI server profitability structure were not obtained by this report — and that is precisely the content of the earnings call rather than the press release. Until margins are visible, it is unwise to extrapolate the +8.57% directly into a sector-wide positive.
2Palo Alto NetworksPANWbeat + guidance above consensus · but the stock gave no reward
| Item | Actual | Consensus | Verdict |
|---|---|---|---|
| F4Q adjusted EPS | $1.02 | $0.98 | ✅ Beat by 4.1% |
| F4Q revenue | $3.41 billion (+34% YoY) | $3.35 billion | ✅ Beat by 1.8% |
| GAAP net income | −$282 million (−$0.35/share) | year-ago +$254 million | ⚠️ Swung to a loss |
| F1Q revenue guidance | $3.30–3.31 billion | $3.22 billion | ✅ 2.5% above consensus |
| FY27 revenue guidance | $14.10–14.20 billion | — | — |
| FY27 adjusted EPS guidance | $4.16–4.19 | — | — |
- Regular session −5.24% ($362.09); two after-hours reads, $362.02 (−0.02%, 17:04) and $363.70 (+0.44%, 17:11) — essentially oscillating around the zero line.
- ⚠️ One inconsistency with media reporting, stated as found: a CNBC piece said PANW "fell about 2% after hours," while both of this report's independent reads show within ±0.5%. A possible explanation is that the media read came from the first tick at the moment of release (around 16:05), while this report's reads are after 17:04 and have digested the opening of the call. This report does not rely on a single point and gives two timestamped reads; the true after-hours pricing needs confirmation at tomorrow's open.
- How to read it: the pre-market's core judgment on PANW was confirmed — "the consensus is just the midpoint of the company's own guidance; the beat bar is a test the company set itself." The actual beat was 1.8%, which is "a beat, but not much of one against its own test," and stacked with the GAAP swing to a loss (acquisition integration costs), it was not enough to fight the day's sector multiple compression.
- The real information is in the guidance: F1Q revenue guidance is 2.5% above consensus, a bigger beat than the current quarter's — directionally supporting the verification point set pre-market ("what is the organic growth rate?"). But the stock had already fallen 5.24% in the regular session and did not rebound after hours, which says the market currently weights rates and valuation over growth when pricing software.
3MongoDBMDBthe most counterintuitive one tonight: big beat + raised guidance → after-hours collapse
| Item | Actual | Consensus | Verdict |
|---|---|---|---|
| F2027 Q2 revenue | $771.8 million | $733.7 million | ✅ Beat by 5.2% |
| Adjusted EPS | $1.91 | $1.61 | ✅ Beat by 18.6% |
| Atlas revenue growth | about +29% | — | — |
| Non-GAAP operating margin | 24% (15% a year ago) | — | ✅ Major improvement |
| Free cash flow | $137.6 million ($69.9 million a year ago) | — | ✅ Nearly doubled |
| Full-year FY27 revenue guidance | raised to $2.99–3.03 billion | — | ✅ Revised up |
-
Regular session −4.23% ($434.21); two after-hours reads, $379.77 (−12.54%, 17:04) and $384.00 (−11.56%, 17:12) — the decline is narrowing slightly, but the magnitude is unchanged.
-
How to read it: this is a textbook case of "sector repricing ahead of earnings." A quarter with a 5.2% revenue beat, an 18.6% EPS beat, operating margin lifted from 15% to 24%, free cash flow nearly doubled, and full-year guidance raised, fell 11%–12% after hours. There is no "the earnings were bad" explanation available — only a valuation-and-positioning explanation.
-
Placed next to DELL, tonight offers an exceptionally clean comparison:
Results Guidance Regular session After hours DELL (hardware) big beat big raise −6.80% +8.57% MDB (software) big beat raised −4.23% −11.56% PANW (software) beat above consensus −5.24% ≈ 0 The same "beat + raised guidance," and hardware is rewarded 8.6% while software is punished 11.6%. This is not a difference in results; it is a difference in which kind of cash flow the market is willing to pay for. In a rising-yield environment, "distant, high-multiple, subscription-based" gets discounted, while "near-term, deliverable, backlog-backed" gets bid up. This is the same thread running from the regular session (IGV −3.46% vs SMH −2.05%) into after hours, and it is the single structure most worth tracking tomorrow.
④ Other After-Hours Moves
| Ticker | Regular session | After hours (17:09–17:12 ET) | Note |
|---|---|---|---|
| HPE | −2.62% | +4.09% ($52.95) | HPE's earnings are after the close on 9/2, not today. This report could not confirm a direct cause for its after-hours gain; the most plausible explanation is peer spillover from DELL's earnings (a read on AI server demand), but this is an inference and is unverified. |
| SMCI | −1.53% | +1.88% ($37.40) | Same as above, the AI server chain following DELL. |
| SNOW | −3.51% | −0.38% | Earnings on 9/2. |
| NTAP | −1.15% | +0.46% | Earnings on 9/2. |
| AVGO | −0.18% | +0.40% | Earnings after the close on 9/2; essentially flat in today's regular session, clearly stronger than the semiconductor sector (SMH −2.05%). |
| FRVO | +28.41% | −0.76% ($19.60) | No giveback; essentially flat after hours. |
| GPRO | +40.38% | −2.44% ($1.20) | Continued to weaken, −21.8% cumulatively from the pre-market $1.535. |
| MRNA | +9.93% ($154.27) | −1.60% | Largest S&P gainer of the day. This report could not confirm an independent same-day catalyst for 9/1 — public information points to a continuation move from late-August intismeran (the personalized mRNA cancer vaccine partnered with Merck) phase III results and the FDA filing. Because no primary same-day catalyst was found, this report does not record it as a 9/1 event and logs only the price. |
5. Flows and Sentiment
5.1 Sector Rotation: a clean "duration for cash flow" swap
Leaders (the only two sectors with a positive median)
- Energy XLE +1.27% (16/20 constituents up, median +1.31%) — driven by a pure supply shock, and the commodity leg was stronger than the equity leg (USO +5.46% > the strongest single stock, COP +2.79%). This says the market is buying the certainty of the "barrel," not the earnings elasticity of the "company" — the flip side of the same coin as OXY's high elasticity lagging in §2.
- Utilities XLU +0.78% (25/30 up) — but as noted in §1.3, this was SB 492 event-driven (EIX +8.93%, PCG +5.95%, SRE +3.13%), not a rates-type defensive rotation. Strip out the three California names and the sector's strength has to be discounted.
Laggards
- Information technology −2.11% (only 10/70 up), within which software IGV −3.46% was materially worse than semiconductors SMH −2.05%.
- The worst subsegment was "high multiple + long duration": AXON −8.52%, CDNS −7.60%, CRWD −6.90%, NET −6.42%, CIEN −5.87%, SNPS −5.63%, DDOG −5.57%, FTNT −5.31%, PANW −5.24%, ORCL −5.23%. The EDA duo (CDNS/SNPS) both entering the top-ten decliners marks this multiple compression spreading beyond the single "cybersecurity" subsegment.
- Industrials −1.55% (only 10/80 up) is the overlooked piece: ODFL −6.48%, URI −4.61% — transport and equipment rental squeezed from both sides by oil costs and rates.
Precious metals were the weakest asset class of the day: GLD −2.86%, SLV −3.68%, GDX −3.90%. On a day of physical war escalation (a mined tanker) plus oil +5.7%, gold fell nearly 3%, the most direct rejection yet of "buying haven assets on a war narrative"; the pre-market's avoid call was reinforced rather than weakened today.
5.2 Rates and Volatility
- Curve bear flattening (2Y +5bp / 3Y·5Y +6bp / 10Y +4bp / 30Y +2bp), driven by the front end and the belly. See §1.4 and §3①.
- VIX 16.34 (+9.52%), up further from the pre-market 15.88, but still below 17. On a day with only 32% breadth and a single sector median of −2.11%, this volatility level is low, indicating the market has classified today as rotation rather than a risk event.
- The dollar, DXY 99.667 (+0.24%), firmed moderately, consistent with "front-end yields rising," and partly explains the weakness in precious metals.
5.3 Risk-On / Risk-Off Characterization
Conclusion: rotational risk-off.
| Evidence | Reading | Points to |
|---|---|---|
| Breadth | 154 up / 324 down (32.0%) | risk-off |
| Small caps vs large caps | Russell −1.23% vs S&P −0.71% | risk-off |
| VIX | 16.34, still < 17 | not panic |
| Stock-bond relationship | stocks down + bonds down (yields up) | inflation/rate-hike narrative, not recession narrative |
| Where money went | energy 16/20 up, utilities 25/30 up | did not leave, rotated |
| Credit / crypto | MSTR −6.06%, COIN −6.01%, IBIT −2.04% | high-β risk assets de-leveraging |
The most critical cell is "stocks down + bonds down." The pre-market wrote explicitly: "if stocks fall and bonds rally, the narrative has switched from 'inflation/rate hikes' to 'recession/haven,' at which point the energy-long logic immediately fails." That switch did not happen today — so the logical basis for energy longs remained intact on the day, and that is the only hard reason energy is retained in the next-day outlook. This forward-looking criterion was well designed and was right today; it should be carried into tomorrow.
6. Next-Day Outlook (2026-09-02, Wednesday)
① Theme Continuity
| Theme | Call | Basis and conditions |
|---|---|---|
| Hormuz / crude | Continue (but reduce size) | The first physical damage (a mined and burning tanker) gives the risk premium an "event anchor," no longer resting purely on threats. But the unhedgeable risk flagged pre-market still exists and has not gone away: the Iran–Oman talks are stuck on a single clause, the transit fee, and an agreement can be reached at any moment (including while markets are closed), with the premium disappearing in one gap. Brent is already at $95.16, another 3.5% above the pre-market $91.90, and the odds on chasing are deteriorating. |
| 🆕 Fertilizer / agriculture | New, track as priority | Same origin as crude (the Gulf accounts for 24.8% of global nitrogen fertilizer exports), but far less crowded than energy, and it only started today. Note it is "fertilizer producers," not "agricultural commodities" (DBA only +0.58%). |
| Software multiple compression | Continue | IGV −3.46%, and MDB beat big and still fell −11.6% after hours — in a phase where "even good results can't save you," the trend usually does not end in a day. |
| AI hardware / servers | Reversing upward | DELL raised full-year guidance by $25 billion with a $95 billion backlog, +8.57% after hours, already dragging HPE +4.09% and SMCI +1.88%. Tomorrow's AVGO is the amplifier for this line. |
| AI power / geothermal | Continue (already diffused from single stock to sector) | FRVO +28.41%, ORA +5.19%, BE +3.55%, CEG +2.02%. The pre-market worry about "a lone name rising" has been falsified. |
| California utilities | No longer a short theme | SB 492 was shelved and the legislative risk is cleared. But note: the governor may convene a special session to push a new version, which is a new binary risk of unknown direction, not "the negative has entirely disappeared." |
| Semiconductors | Neutral | The gap-fill is complete; direction depends on AVGO. |
| Precious metals / crypto | Keep avoiding | Front-end yields rising + a firmer dollar; both suppressants are still in place. |
② Tomorrow's Earnings and Macro Calendar (ET)
Macro
| Time | Event | Consensus / prior | Why it matters |
|---|---|---|---|
| 08:15 | ADP employment change (August) | consensus +48,000 / prior +44,000 | Today's +5bp at the front end is already pricing "the Fed still has to hike." If ADP beats materially, it reinforces that line and keeps pressure on software; if it misses badly, it is the week's only de-compression window for growth stocks. |
| 10:00 | July factory orders | — | Secondary |
| 10:30 | EIA crude inventories | — | With oil at $90, the marginal impact of inventory data is amplified |
| 14:00 | Fed Beige Book | — | Today's ISM showed "growth soft, prices firm." The Beige Book is the qualitative version of the same information; focus on district-level language about "tariff/energy cost pass-through." |
Earnings (all after the close)
| Ticker | What to watch |
|---|---|
| AVGO | The most important one tomorrow. The market expects Q3 EPS $3.24 (+91.5%) and revenue $29.4 billion (+84.1%). Focus: custom AI accelerator (XPU) and AI networking revenue, new orders, customer concentration, supply capacity. AVGO was −0.18% in today's regular session, clearly more resilient than SMH (−2.05%), suggesting money is positioning ahead. It sits on the same AI hardware line as tonight's DELL; if they move the same way, the "hardware vs software" fork gets materially amplified. |
| HPE | Company guidance is revenue $11.5–12.1 billion, non-GAAP EPS $0.88–0.93; consensus around $12.1 billion / $0.94. It is already +4.09% after hours on DELL spillover, which amounts to pre-spending part of the expectation. |
| SNOW | A software name, reporting after MDB's −11.6% after-hours move, making it the second sample of "does a software beat still work?" |
| NTAP | Storage, benefiting from AI but squeezed by memory costs. |
| FIVE | Discount retail, a read on consumer resilience. |
③ Priority Watch List (Ticker + falsifiable verification point)
| Ticker | Direction | Rationale | Verification point (falsifiable) |
|---|---|---|---|
| AVGO | Watch (no preset direction) | Earnings after tomorrow's close, the decisive vote on the AI hardware line; already resilient today | ① What is the "single-quarter" number for custom XPU revenue (not cumulative, not annualized); ② next-quarter guidance vs consensus; ③ whether customer concentration rises further. ⚠️ Beware of reading "cumulative orders/backlog" as single-quarter additions |
| DELL | Long (but one number is still needed) | Full-year guidance raised by $25 billion, backlog $95 billion, +8.57% after hours | AI server gross margin / operating margin — the one disputed point tonight's numbers did not answer, and it sits in the call transcript, not the press release. If margins keep falling year over year, the quality of "record revenue" has to be discounted |
| CF / NTR / MOS | Long (new main line) | A supply shock with the same origin as crude, low crowding, only started today | Whether it continues up on volume tomorrow (today was day one; a second candle is needed to confirm); and whether DBA follows — if DBA stays flat while fertilizer names keep rising, the "fertilizer pricing power" logic holds; if both rise together, it degenerates into an ordinary commodity-inflation trade |
| FRVO | Long (trim only, do not add) | +28.41% with no after-hours giveback; volume confirms position building | Can it hold $19.75; ⚠️ none of the three hard risks listed pre-market has gone away: cash exhausted within 2027, about 205 million shares unlocking in November (2.5x the current float), and the construction-cost learning curve. After a 28% gain, the relative weight of these risks goes up, not down |
| IGV / MDB / SNOW | Short watch | Software multiple compression is not over; MDB provides the "even a beat doesn't help" sample | Whether MDB can recover half of its after-hours decline at tomorrow's open — if not, it is position liquidation rather than sentiment overshoot, and the trend continues |
| EIX / PCG | Neutral (no longer bearish, but do not chase) | Legislative risk is cleared, but they are already +8.93% / +5.95% in a day | Whether any "special session" commentary emerges — a new source of binary risk with unknown direction |
| USO / Brent | Long (smaller size) | The physical-damage event anchor is established | Can Brent hold $95; ⚠️ any softening on the Iran–Oman transit-fee clause is gap risk that cannot be managed with intraday stops, only with position sizing |
④ What to Avoid
- Avoid chasing energy stocks with Brent at $95. Today re-validated the pre-market warning: the energy direction was entirely right, but XLE open→close was −0.15%, VLO −0.53%, OXY −0.25% — the gains still came mainly from the gap. And the pre-market analysis that "$90 is a step down from Q2's $102.63" still holds; $95 has only just returned to near the Q2 average.
- Avoid the "pick energy stocks by elasticity" approach. It was falsified once today: the highest-elasticity name, OXY, finished second from the bottom. On levered names, elasticity gets discounted by the market.
- Avoid precious metals and crypto-leverage proxies (GDX −3.90%, MSTR −6.06%, COIN −6.01%). The two suppressants, front-end rates and the dollar, are unchanged.
- Avoid the "a beat means it goes up" game on software earnings. MDB beat revenue by 5.2% and EPS by 18.6% and raised guidance → −11.6% after hours, the most expensive lesson of the week. SNOW faces the same environment after tomorrow's close.
- Avoid treating HPE's +4.09% after hours as a confirmed positive — its earnings are after tomorrow's close; today's gain is spillover expectation from DELL, which amounts to consuming the upside in advance.
- Do not short semiconductors: the gap-fill has proven this is a positioning phenomenon, and with AVGO's earnings imminent, the event risk of being short is asymmetric.
⑤ Input Notes for the Next Pre-Market List
- Fix the attribution first, then pick stocks. Rewrite the main line from "offshore long-end term premium" to "oil-driven front-end inflation repricing." The tracked variables change accordingly: no longer JGBs and UK gilts, but Brent, 2Y/5Y yields, ADP, and the price language in the Beige Book. If the pre-market still uses the old framework, it will watch the wrong indicators.
- Tomorrow must start with a prior-free market-wide gainers/losers scan before writing themes. The root cause of missing fertilizer/agriculture (6 names +2.7% to +4.3%) and AAPL (+2.61%, the largest weight) today was writing the conclusion first and finding evidence second. The scan must come before the conclusion.
- "Hardware vs software" is tomorrow's primary structure. DELL (+8.57% after hours) and MDB (−11.56% after hours) have already drawn the line, and AVGO is tomorrow's arbiter. The list should be organized around this fork, not around "will tech stocks go up or down."
- Branch enumeration for binary events must include "does not happen." The SB 492 lesson: the pre-market worked through "passes" and "text weakened," and missed the "no vote" outcome that actually occurred. The same applies to tomorrow's AVGO/ADP — preset the "in line with expectations, no market reaction" branch.
- Lock the reconciliation convention: every recommendation must record its "pre-market price," and recaps evaluate on "vs pre-market price." Today GPRO alone made the two bases for the avoid group differ by 5.6pp (+3.86% vs −1.73%).
- Keep the three forward-looking criteria that were right today: ① "stocks down, bonds up = energy logic fails" (not triggered today, keep using it); ② "HOOD checked synchronously against COIN" (played out precisely today); ③ "do not chase after a gap, look at open→close" (validated today by DUOL/NVS/XLE).
Internal Notes (not sent to clients)
This report did not use yfinance, consistent with recent practice. All single stocks/ETFs went through the stockanalysis.com quote endpoint (api.stockanalysis.com/api/quotes/s/<ticker>); for the after-hours slot this channel gives both the regular-session close (p/cl/o/v) and after hours (ep/ecp/eu), with complete fields, making it the first choice for the after-hours slot. It complements the memory entry "CNBC extended-hours fields unavailable pre-market": both channels work in the after-hours window, but stockanalysis's eu carries an explicit read timestamp, making it better suited to disclosures like "after-hours values are cumulative."
Data-fetch failures encountered and worked around this time:
- Market breadth (NYSE/Nasdaq market diary) was not obtained.
wsj.com/market-datawas refused by WebFetch ("unable to fetch"); bothapi.stockanalysis.com/api/screener/s/fand/s/ireturned 404 (that screener endpoint appears to have changed or now requires authentication). Switched to a self-built approach: pull the S&P 500 constituent list from GitHub datasets and request the quote endpoint name by name to compute breadth in-house. - The first pass at in-house breadth used 12 concurrent threads and got rate-limited, with 76 of 503 failing; after dropping to a single thread with a 0.25s interval and 4 retries, 55 were recovered, ending at 482/503. The 21 still failing cluster in the S–T alphabetical band (BRK-B and BF-B are a ticker-format issue;
.→-was converted but they still failed). The body discloses the sample size and the missing list as found, and explains that this is an endpoint characteristic rather than a sector characteristic. - Running two fetch tasks concurrently in the same window makes them crowd out each other's quota — while retry.py was running in the background, 15 of the foreground batch of 23 names returned ERR. Lesson: this endpoint's rate limiting is account/IP level, and the after-hours slot's fetch tasks should be queued serially, not run in foreground and background at once.
Three traps were hit on the search side, all caught by our own price data (worth recording in memory):
- The "same-day wrap" returned the prior day's close. Searching
"September 1, 2026" stock market wrapreturned a summary saying "the S&P 500 fell 0.3% to close at 7,686.14" — but 7,686.14 is precisely the 8/31 close; 9/1 actually closed at 7,631.47 (−0.71%). The same summary also said "XLU fell 1.0%" (actually +0.78%) and "Alphabet −2.21%, Nvidia −2.03%" (actually −1.28% / −1.51%). Copying it would have made the whole §1 table wrong and reversed the direction of XLU, which would in turn have lost the SB 492 main line. Same type as the memory entry "searching for 'same-day close recap' returns the opening broadcast," but more insidious this time: it gave a closing level that "looks entirely normal," and only matching it against our own prior close revealed it was yesterday's. - Commodity quote sources lag silently. The TradingEconomics page said that on 9/1 "Brent $91.28 (+0.87%), WTI $86.57 (+0.94%)," while CNBC futures had Brent $95.16 (+5.16%) and WTI $90.68 (+5.74%) — a difference of 5 percentage points. Adjudicated with an ETF proxy: USO was +5.46% on the day (volume 8.04 million shares, ample liquidity), only 0.28pp from CNBC's WTI +5.74% and 4.5pp from TradingEconomics's +0.94%. Ruled CNBC correct and TradingEconomics stale. This is another application of the memory entry "ETF proxies can detect silent staleness in spot quotes," and this time it was decisive — oil up 0.9% versus up 5.7% corresponds to two completely different reports.
- Search-returned single-stock closing prices can also be wrong. The search summary for MRNA said it "closed at $145.47 on 9/1," while both of this report's independent reads showed $154.27 (+9.93%). A 6% difference. Our own data was used.
CNBC's bond change_pct field broke again today, consistent with memory: US2Y returned change_pct = -0.1055%, while the same record had change = +0.054 and last 4.404% > prev 4.350% — opposite signs. But this time the handling went a step further: switched directly to the US Treasury's official Daily Treasury Yield Curve CSV as the primary source (home.treasury.gov/.../daily-treasury-rates.csv, no authentication, no rate limiting, updated same day), with CNBC used for cross-checking (10Y 4.79 vs 4.80, 30Y 5.27 vs 5.275, differences within quote-timing tolerance). Recommend making this CSV the default primary source for Treasuries and demoting CNBC to cross-validation. Also note: my first parsing script used float("4.80%") directly, which silently threw and filled the computed changes with 0.0000 — all four Treasury "computed" changes were 0, and it nearly went into the body as "Treasuries did not move today." It was caught only because it failed to reconcile with the change field. Fields with a unit suffix must have the unit stripped before the float conversion, and computed results must be reconciled against the endpoint's own change field.
One methodological takeaway (recommend recording in memory): the curve shape flips intraday, and the pre-market shape cannot be treated as the day's verdict. The pre-market list (08:00 ET) judged, based on "2Y +0.8bp vs 30Y +3.5bp," that the day's driver was offshore long-end term premium, and explicitly ruled out the Fed path. The close (Treasury primary source) was "2Y +5bp / 3Y·5Y +6bp / 30Y +2bp," a completely opposite bear flattening. The pre-market observation was not wrong; the error was treating an 8 a.m. cross-section as the day's conclusion and letting the entire report's main line depend on it. The more robust approach is: write the curve shape as "an observation pending confirmation at the close," and explicitly add "recompute 2s30s after the close" to the §8 open-verification signals — the pre-market §8 had JGBs and the 10Y 4.80 threshold, but nothing at all on "whether the curve shape itself holds," which was precisely the sole support for its central thesis.
Another one: the ISM mapping in pre-market §8 was written backwards, while the correct answer was already in the same paragraph. The original mapping: "ISM misses → rate-hike expectations recede → growth de-compression / bearish for energy." In reality: ISM 54.6 (missing 55.6), but prices paid at 71.1 stayed elevated, and stacked with oil +5.7% → front end +5bp, growth stocks down hard, energy up hard — all three the wrong way round. And the pre-market wrote in the very next sentence of the same paragraph, "what needs watching most is the prices-paid subindex, not the headline" — the criterion was right, but the mapping table was written off the headline, and the two were never aligned. Lesson: when you write down "what really matters is X, not Y," the if-then table that follows must be rewritten around X, or that correct insight never reaches the conclusion.
Root-cause analysis of missing fertilizer/agriculture pre-market (more worth recording than the miss itself): The pre-market's central sentence was "the war pricing only walked the crude leg, with no spillover," supported by cross-sections of three preset channels: gold, defense and tankers. All three preset channels indeed failed to react, so it was read as "no spillover." But the real spillover happened through a fourth channel that was never preset — fertilizer (the Gulf accounts for 24.8% of global nitrogen fertilizer exports and 11.4% of phosphate, and a blocked Hormuz can affect 15% of global fertilizer trade), with CF +4.28%, BG +4.16%, ADM +4.01%, CTVA +3.88%, NTR +2.86%, MOS +2.74%, DE +3.23% on the day, the single most concentrated up-cluster of the session. Structural problem: when "testing a universally negative proposition," exhausting preset channels is never enough — a prior-free gainers scan must be run in reverse. Same family as the memory entries "narrative-first screening blind spot" and "scan-window-misses-multiday-themes," but the trigger shape here is new: the scan window was not too narrow — no scan was run at all; the conclusion came first and searching was used only to confirm it.
One open gap requiring next-day follow-up:
- DELL's AI server gross margin / operating margin was not obtained. The public summary has only revenue, orders, backlog, EPS and guidance; the margin structure is in the call, not the press release. And that is exactly the market's core dispute over Dell (low-margin AI orders inflating revenue). The body flags it as "a question tonight's numbers do not answer" and lists it as a next-day verification point, without extrapolating the +8.57% into a sector positive. Same type as the memory entry "the 8-K has no guidance, the call does."
- The cause of HPE's +4.09% after hours is unverified. Its earnings are after the close on 9/2, and there was no catalyst of its own today. The most plausible explanation is DELL spillover, but this report explicitly labels it "an inference, unverified" rather than writing it as fact.
- No independent same-day catalyst was found for MRNA +9.93% (the largest S&P gainer of the day). Everything the search returned was late-August intismeran phase III and FDA filing content. Handled per "no news found ≠ no news": the body logs only the price and states explicitly that no same-day catalyst was confirmed, without stitching August's old news into a today positive (memory entry "AI limit-up attribution stitches old announcements"). Tomorrow should check whether there was an 8-K or conference summary on 9/1.
- PANW's after-hours decline conflicts with CNBC's reading (media said −2%; this report's 17:04/17:11 reads were −0.02%/+0.44%). The body discloses both sides with timestamps. The working view is that the media took the first tick around 16:05 while this report took the post-digestion reads. Tomorrow's open will show which is closer to true pricing.
Objective assessment of the pre-market list's quality (for tuning reference): 6/7 on the long side and an average of +2.13% vs the pre-market price make this the best stock-selection result recently; the two downgrades of SLB (−4.91%) and PANW (−5.24%), both based on the "notional threshold," avoided real losses, showing that $10M threshold mechanism works and should be kept. All the significant lost points are in "explanation," not "selection": wrong main-line attribution (curve shape), no reverse scan when testing a universally negative proposition (fertilizer), incomplete branch enumeration for a binary event (SB 492's "no vote"). None of these three is a data problem; they are reasoning-discipline problems.
⚠️ Risk notice: this recap is post-close information organization and observation only and does not constitute investment advice. Data may differ in timeliness or convention; company disclosures / SEC filings prevail, and this must not be used directly as a basis for trading.