Starr Quant Lab Desk Research

US · Recap

US Market Recap | Wednesday, 2026-08-19 (ET)

Wed US Recap · 15 tables America/New_York

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-08-19 09:30–16:00 ET regular session + after-hours through 17:00 ET.

Quote conventions: OHLC and volume for indices, sector ETFs and single names are taken from yfinance (16:00 ET close convention); key names (MRNA/MRK/TGT/LOW/DELL/GLD/SLV) were cross-checked against the stockanalysis.com quote endpoint, with close/high/low matching exactly. After-hours prices come from stockanalysis extended-hours fields (read around 17:00 ET). Earnings figures are taken exclusively from SEC 8-K originals; links appear in the body. Pre-market reference prices come from the 08:30–08:34 ET read in this repo's pre-market list for the same day.

Methodology note for this piece (please read first): today's single most important conclusion is not in the daily percentage changes, but in the relationship between the open and the close. All 17 AI-hardware names gapped up or opened flat today, and then every one of them closed below its open, median −4.60%, with no exceptions (17/17). Reading only "today's % change" makes the day look like "mild dispersion"; only by breaking out OHLC can you see it was a complete, all-day, one-directional distribution. This morning's pre-market list, in the 08:30 re-pull, removed these 9 names from the "avoid" list on the grounds that "they have all turned positive" — that re-pull accurately predicted the open, and completely missed the day. That is the core of this piece's reconciliation section.


0. One-Line Recap

Today was an extreme split tape of "sector-level detonation in biotech + all-day distribution in AI hardware", with almost no information content at the index level. The three major indices closed in a very narrow range (S&P +0.21%, Dow +0.22%, Nasdaq Composite +0.16%, Russell 2000 +0.50%), but internal dispersion was at a full-year extreme: XBI +5.90%, IBB +6.58%, XLV +3.51%, versus SMH −1.55%, XLK −1.07%.

MRNA closed at $174.38, +176.97% on the daythis was not a gap, it was a gap followed by an entire day of further gains: it opened at $116.25 (only 84.6% above the prior close, landing at the very bottom of the $113.88–$131.50 pre-market range), made a low of $114.46, then ran all the way to a high of $176.66, a further +50.01% from open to close, on 185 million shares. MRK +12.60% at $152.20, BNTX +21.96%, ARCT +25.21%, NVAX +10.84%.

The pre-market list's hit rate was polarized: the avoid/short group hit 8/10 (WYFI −21.02%, AVGO −4.61%, DELL −6.64%, TJX −4.21% all correct), the long group 4/6; but both of the biggest judgment errors occurred in the act of "revising" — ① at 08:30 pre-market, AI hardware was re-rated from "avoid" to "weak stabilization", and those 9 names averaged roughly −5% today; ② the second-tier mRNA names (ARCT/NVAX) were rated "avoid", and the two rose +25.21% / +10.84% respectively.

Risk-appetite characterization: risk-on on the surface, defensive rotation underneath. VIX 14.89 (−6.00%), 10Y Treasury 4.65% (−6bp), 30Y 5.19% (−9bp), dollar index 98.79 (−0.87%), gold GLD +3.84%, silver SLV +4.47%yields and the dollar falling together while precious metals surge is not plain risk-on; it is the combination of "rate-cut expectations + a discount on dollar credit". Equal-weight S&P RSP +1.04% materially outperformed cap-weighted SPY +0.21%, which says the index was held back by mega-cap tech, while breadth itself was healthy.

Tone into tomorrow: WMT reports pre-market tomorrow morning (8/20) (the company confirmed the 08:00 ET call), layered on top of 08:30 ET initial jobless claims + the Philadelphia Fed manufacturing index — tomorrow morning is the densest point of the week.


1. Market Overview

Index/Asset Close Chg% Open High Low Open→Close
S&P 500 (^GSPC) 7,707.98 +0.21% 7,716.74 7,743.93 7,700.07 −0.11%
Dow (^DJI) 53,463.05 +0.22% 53,463.47 53,710.06 53,399.53 −0.00%
Nasdaq Composite (^IXIC) 26,331.09 +0.16% 26,393.89 26,456.78 26,185.13 −0.24%
Russell 2000 (^RUT) 3,032.94 +0.50% 3,036.08 3,050.25 3,029.98 −0.10%
QQQ (Nasdaq 100) 716.08 −0.20% 720.39 721.50 712.61 −0.60%
Equal-weight S&P RSP 222.07 +1.04% 221.61 223.44 221.45 +0.21%

All four indices closed below their opens — today's gains were entirely contributed by the overnight gap; the regular session was net selling. This matters for tomorrow.

Sentiment/Macro Close Change
VIX 14.89 −6.00% (prior 15.84)
10Y Treasury 4.65% −6bp (prior 4.71%)
30Y Treasury 5.19% −9bp (prior 5.28%)
TLT (20Y+ Treasury ETF) 83.02 +1.67%
Dollar index DXY 98.79 −0.87%
Gold GLD 413.84 +3.84%
Silver SLV 60.01 +4.47%
WTI crude (CL=F) 84.24 −0.82%
Brent (BZ=F) 91.44 +0.46%

Breadth read: RSP (+1.04%) outperformed SPY (+0.21%) by 83bp, and high-beta SPHB +1.43% outperformed low-vol SPLV −0.07%breadth was positive and offensive-leaning. Today's narrow index gain was not "low-volume waiting", it was "small caps and non-tech broadly higher, offset by mega-cap semiconductors".

One honest cost: precise NYSE advance/decline counts were not obtained for this piece. One advance/decline set returned by search (40.7% advancing / 56.4% declining) was verified to describe 8-18 (Tuesday) — that source calls 8/19 "Tuesday's session" and says "all indices closed lower, yields hit a ten-year high", the exact opposite of the hard 8/19 data measured here (all four indices closed higher, yields fell) — it has been discarded in full. The breadth read above instead uses two verifiable proxies: the equal-weight/cap-weight spread and the high/low-beta spread.

Sentiment characterization: risk-on, but not clean risk-on. VIX below 15, high beta outperforming, small caps outperforming — all offensive signals; but on the same day KRE (regional banks) −2.41%, XLF −0.62%, XLI −0.88%, while gold and silver surged together and the dollar fell 0.87%. Precious metals + Treasuries rising together with the dollar alone falling is the classic pricing of "monetary policy turning dovish / a discount on dollar assets", not a simple recovery in risk appetite.


2. Pre-Market List Reconciliation

Convention note: "vs pre-market price" = close ÷ this morning's 08:30–08:34 ET pre-market price − 1. This column reflects "what would have happened if you had executed the pre-market list" better than "today's % change" does — the gap portion is last night's business; only the segment after the open is inheritable.

2.1 Long side (pre-market conclusion "priority deep-dive / watch closely")

Ticker Pre-market conclusion Pre-market price Close Today % vs pre-market price Open→Close Delivered? Comment
MRK priority deep-dive (87 pts) $145.00 $152.20 +12.60% +4.97% +3.58% delivered The pre-market call that "most of the discount is already repaired" was too conservative; it added nearly 5% more over the day
MRNA watch closely · do not chase (80 pts) $118.90 $174.38 +176.97% +46.66% +50.01% ⚠️ direction right, judgment wrong See the 2.4 post-mortem
ADI watch closely (78 pts) $381.93 $373.26 −0.89% −2.27% −1.40% not delivered Big beat + raised guidance, and it closed lower
TGT watch closely (66 pts) $151.72 $159.00 +4.28% +4.80% +7.58% perfectly delivered Opened −3.1%, turned positive over the day, see 2.3
XOM watch closely (58 pts) pre-market +0.74% $164.77 −0.48% −0.78% ❌ not delivered Oil pulled back, the theme never fired
MRVL watch closely · find the cause first $240.24 $237.27 +9.85% −1.24% −1.48% delivered (and the cause was found) See 2.6

Long group hit 4/6.

2.2 Avoid / short side

Ticker Pre-market conclusion Close Today % Open→Close Delivered? Comment
WYFI avoid $21.38 −21.02% −3.39% perfectly delivered Convertible dilution, about −29% over two days
DELL watch only $437.55 −6.64% −6.50% delivered Flat open then one-way distribution all day
AVGO avoid (open question, verify at the open) $362.48 −4.61% −2.66% delivered, and the open question is resolved See 2.6
HPE avoid $53.13 −4.60% −4.60% ✅ delivered No bounce all day
TJX avoid $144.50 −4.21% +0.25% delivered The verification point "closes below $145" hit ($144.50)
ANET watch $186.45 −3.48% −4.40% ✅ delivered
SMCI avoid $36.58 −2.22% −1.53% ✅ delivered
GEV watch $987.46 −1.70% −1.48% ✅ delivered
BURL short watch $337.50 +0.16% +1.05% ❌ not delivered The TJX read-across did not transmit
LOW avoid $220.00 +2.02% +1.38% wrong call See 2.3

Avoid/short group hit 8/10.

2.3 Retail: the methodology was right, but one layer was missing

The core methodology of the pre-market list was "strip out the IEEPA tariff refund before reading the results", and that layer was fully validated by today's prices:

Ticker True quality after stripping the refund (pre-market call) Today Validation
TGT Comps +3.8%, traffic +3.6%, a genuine $0.75 raise → strong +4.28% (open −3.1% → close +7.58%)
TJX Comparable EPS beat by only 2.5%, Q3 guidance short → weak −4.21%

TGT was today's textbook trade: it opened down 3.1% ($147.80 vs prior close $152.48), and the verification point set in the pre-market list at the time was "can it turn positive (= the market accepts the quality after stripping the refund)" — not only did it turn positive, it ran +7.58% above its open and closed at $159.00. The assumption that "the market has learned to read earnings net of the tariff refund" was confirmed today.

But LOW was called wrong, and the error is informative. The pre-market call was "avoid" (comps +0.2%, full-year guidance cut to the low end, unable to hold up even with the $0.11 refund), yet LOW closed +2.02%, while HD +2.02%, ITB (homebuilders ETF) +3.10%, XRT (retail ETF) +1.95%.

Why it was wrong: the pre-market list put "weak current demand (housing starts −12.4%)" next to "forward-looking recovery (building permits +5.0%)" and concluded "they conflict, there is no tradable direction, so avoid". The market's answer today was: it traded the forward-looking half, layered on top of falling rates (10Y −6bp, 30Y −9bp), which is the most direct valuation input for the home-improvement chain. "Current vs forward-looking conflict → avoid" is directionally an abstention, and abstention on a day of sharply falling rates is equivalent to being short. Lesson: for rate-sensitive sectors, "current data" should carry less weight than the change in rates itself — the pre-market list missed this.

2.4 The two biggest judgment errors (post-mortem)

① MRNA: "do not chase" was wrong on this day, and it was wrong in framing, not in data.

The pre-market criterion was: "trading between $113.88 and $131.50 pre-market, where the open lands cannot be predicted", with the rule "if it loses $105 within 30 minutes of the open, the good news is fully priced". Actual: opened $116.25, low $114.46 — landing almost exactly on the bottom of the pre-market range; $105 was never touched, and it then ran all the way to $176.66 and closed at $174.38.

The entire pre-market framework rested on the prior that "a gap is more likely than not to gap-fade" (original text: "an MRNA +95% gap has historically very rarely been fully sustained into the close"). That prior not only failed today, it inverted: the gap contributed only +84.6%, while the regular session after the open contributed another +50.01%. The root cause was misreading "pre-market pullback on volume" as "distribution" — that leg from $131.50 down to $113.88 pre-market was, in hindsight, a shakeout before the open, not liquidation. The 185 million shares traded on the day (about 27× the 3-month average daily volume) says this was an institutional-grade repricing, not retail sentiment.

What must be said at the same time: the pre-market challenge to "evidence strength" has still not been falsified. The company still has not published the HR or the absolute benefit from this Phase III, and today's +177% is still pricing a topline conclusion with no numbers behind it. What the pre-market list got wrong was "how the price would move", not "whether the evidence is sufficient" — the market separated these two things today, and the pre-market list had bound them together.

② Rating the second-tier mRNA names "avoid" was the result of a criterion that could not pass by construction.

The diffusion criterion set pre-market was: "if XBI's gain is clearly smaller than MRNA/MRK, this is a three-stock event, not a sector move — do not buy the second tier as if it were a sector move".

Actual: XBI +5.90%, IBB +6.58%, XLV +3.51% — this was a sector-level surge; and the names rated "avoid", ARCT +25.21%, NVAX +10.84%.

The problem is in the criterion itself: using a +176.97% outlier as the denominator, any sector ETF's gain will be "clearly smaller" — this criterion could not possibly pass by construction; it measures nothing. The correct criterion should have been comparing XBI's absolute gain to its own historical distribution (+5.90% is an extreme day for XBI), not to the strongest single name of the day. Lesson: if the denominator of a relative criterion is an outlier, the criterion is void; anything involving "has the sector broadened" should use the sector's own absolute percentile.

2.5 MRK's verification point: the market-cap increment ratio gave the decisive answer

The number-one verification point set for MRK in the pre-market list was: "is the MRK/MRNA market-cap increment ratio stably above 1.5" — the pre-market text stated explicitly: "only meaningfully above 1.5 can you say the market is buying the 'exclusivity extension'; 1.1–1.2 sits in the noise and is evidence for neither side". Closing prices give a clean answer.

Prior close Close Per-share increment Shares out Market-cap increment
MRK $135.17 $152.20 +$17.03 2,467.17M +$42.0 billion
MRNA $62.96 $174.38 +$111.42 399.24M +$44.5 billion
Ratio 0.945

The ratio fell from 1.09–1.19 pre-market all the way to 0.945 at the close — not only did it not approach 1.5, it broke below 1, meaning MRNA's absolute dollar increment already exceeds MRK's.

So the line of reasoning that was "self-downgraded to an indicative observation" pre-market received far stronger support after the close: the market is pricing a 50/50 profit-split option on a new product + a platform read-out, and not an extension of Keytruda exclusivity. The logic is hard: if the market were truly paying for "the vaccine defending Keytruda's installed base", 100% of that value accrues to Merck and Moderna gets nothing, so the ratio should be far above 1.5; all the more so because the incremental Keytruda utilization from the combination also accrues 100% to Merck and does not enter the INT split pool, so the prior direction should push the ratio higher. Recording 0.945 under those two upward priors is a directionally clear read, no longer noise.

But one limitation must be retained: MRNA's numerator contains short covering (short interest 13.37% of float, 185 million shares traded today), and a squeeze mechanically inflates the MRNA side and depresses the ratio. So 0.945 is an estimate that is "biased low relative to the true value". That said, this time the directional conclusion is unaffected — even stripping out the squeeze component entirely, pushing 0.945 back above 1.5 would require more than one-third of MRNA's increment to be pure squeeze, which is not a plausible magnitude. Conclusion: the "exclusivity extension" narrative was further weakened today; the pre-market downgrade was prudent, but in hindsight it underestimated the strength of its own reasoning.

2.6 AVGO / MRVL: the pre-market list's biggest open question got a primary-source answer today

The pre-market list flagged MRVL +11.22% vs AVGO −4.74% as "the single biggest unresolved question in the piece", and wrote that "the pattern closely resembles 2026-04-20 'Google in talks for Marvell to participate in custom AI inference chips, Broadcom under pressure', but no primary source dated 8/19 was verified".

That hypothesis was confirmed today by a primary filing. Marvell filed an 8-K on 2026-08-19 (items 1.01 / 3.02 / 9.01, SEC original), disclosing:

  • On July 29, 2026, Marvell signed a commercial agreement with Google LLC for Marvell to develop custom semiconductor products; the collaboration covers the full range of custom silicon attached to the TPU ecosystem: AI inference accelerators, storage controllers, network interface controllers, memory interface controllers, and near-memory compute.
  • On August 18, 2026, the company issued warrants to Google to purchase up to 58,970,907 shares of common stock at an exercise price of $206.58/share, exercisable through 2033-08-18.
  • Of those, 1,360,867 shares vest with time (in equal quarterly installments over the first year); the remainder vests against discretionary purchases by Google and its affiliates, from FY2027 Q3 through the end of FY2033, in 240 equal tranches, with one tranche vesting per $500 million of custom-product revenue.

Three numbers you must compute yourself (the company does not state them directly):

  1. 240 tranches × $500 million = $120 billion — this is the cumulative custom-product revenue required for the warrants to fully vest. This is a cap-type incentive structure, not revenue guidance, and certainly not a forecast. Any claim treating "$120 billion of orders" as revenue Marvell has already won is a misreading.
  2. Dilution cap of about 6.7% (58,970,907 shares against a 874.8M share count, 10-Q cover-page basis, 2026-05-21), and it only occurs if Google actually buys the corresponding amount — this is the standard "dilution in exchange for lock-in" structure.
  3. The $206.58 exercise price is about 13% below today's close of $237.27 — in the money at issuance, indicating the pricing referenced the share price at the time the agreement was signed (late July).

AVGO's decline therefore has an attribution: Google is Broadcom's largest custom-ASIC customer, and a competitor securing a binding agreement covering the full TPU-ecosystem range is a direct hit to the share narrative, not sector beta. Both pre-market calls — "avoid AVGO" and "do not chase MRVL until the cause is clear" — were right, and the latter was also validated today: MRVL gapped up +11.50%, but open→close was −1.48%; it never went a level higher all day. Anyone who chased the open lost money.

2.7 Hit rate and overall post-mortem

Group Hits Total Hit rate
Long side 4 6 66.7%
Avoid/short side 8 10 80.0%
Total 12 16 75.0%

A one-line post-mortem: the 75% hit rate conceals a more important fact — today's two biggest errors both occurred in the pre-market act of "self-correction". The full re-pull at 08:30 re-rated AI hardware from "avoid" to "weak stabilization" on the grounds that "all 9 have turned positive"; today those 9 names all closed below their opens, averaging about −5%. That re-pull had the right data and the right timing, and the wrong conclusion — because it answered "what will the open look like" and was treated as "what will the day look like". By the time pre-market quotes had accumulated to 08:30 they could indeed predict the open (see the gap comparison in §3.1, with errors mostly within 1–2pp), but the open was precisely the high of the day for AI hardware. The correct use is: pre-market quotes can only be used to predict the opening price, not the direction into the close; today those two were opposite.


3. Theme Validation

# Theme Pre-market strength Actual today Leaders/laggards Stage Conclusion
1 mRNA personalized cancer vaccines S XBI +5.90% / IBB +6.58% / XLV +3.51%, sector-level diffusion MRNA +176.97%, ARCT +25.21%, BNTX +21.96%, MRK +12.60%, NVAX +10.84% Launch day (1st candle) called right, but underestimated the breadth
2 AI hardware "weak stabilization + internal divergence" B+ (revised) all-day distribution, 17/17 closed below the open Laggards: STX −7.87%, WDC −6.87%, DELL −6.64%, COHR −6.19%, TER −6.09% Mid-distribution called wrong (see §3.1)
3 Retail divergence papered over by tariff refunds A ✅ TGT +4.28% / TJX −4.21%, divergence as expected TGT strong, TJX weak; but LOW +2.02% broke out of the table Delivery day main call right, home-improvement chain wrong
4 Rate path (FOMC minutes) Neutral-hawkish Minutes leaned hawkish (9-3 vote, 3 favored a hike), yet yields fell 6–9bp instead TLT +1.67%, GLD +3.84% Being priced ⚠️ content and price diverged
5 US-Iran standoff lifting oil B+ never fired, WTI −0.82%, XLE −0.16% XOM −0.48% Fading ❌ not delivered

3.1 Today's real main line: all-day one-way distribution in AI hardware (entirely unanticipated pre-market)

This is the highest-information table of the day. For all 17 AI-hardware-related names, the split between the "opening gap" and "open→close":

Ticker Pre-market (08:3x) Opening gap% Open→Close% Today%
MRVL +11.22% +11.50% −1.48% +9.85%
SNDK +1.89% +3.48% −6.75% −3.50%
FN +0.66% +2.82% −8.40% −5.81%
LITE +0.81% +2.35% −7.41% −5.23%
MU +1.21% +1.98% −2.32% −0.39%
ANET −0.62% +0.96% −4.40% −3.48%
COHR +0.01% +0.87% −7.00% −6.19%
NVDA +0.09% +0.88% −1.85% −0.99%
STX +0.26% +0.85% −8.65% −7.87%
ADI +1.43% +0.51% −1.40% −0.89%
TER +0.18% +0.22% −6.30% −6.09%
CRDO +1.05% +0.02% −4.55% −4.53%
HPE −2.24% +0.00% −4.60% −4.60%
DELL −1.03% −0.15% −6.50% −6.64%
WDC −0.19% −0.38% −6.51% −6.87%
SMCI −1.66% −0.69% −1.53% −2.22%
AVGO −4.74% −2.00% −2.66% −4.61%
Median +0.85% −4.60% −4.53%

Three conclusions:

  1. All 17 closed below their opens, without a single exception. That degree of uniformity is not single-name fundamental difference, it is sector-level outflow.
  2. The 08:30 pre-market quotes accurately predicted the open (most errors within 1–2pp), but the open was the high of the day. The pre-market list took "already positive at 08:30" as evidence that "absorption is established", conflating "overnight price" with "intraday flow" — the former is priced by the Asian/European sessions and market makers, the latter is the actual action of US institutions.
  3. MRVL was the only one to close positive, but it did so on a +11.50% gap; after the open it was equally negative (−1.48%). That is: even today's single bullish name was being sold during the regular session.

3.2 An inference that was "retracted" pre-market but re-established after the close

The pre-market list retracted a line from its first draft: "a big beat bought only +1%, which says the market is not pricing AI-hardware fundamentals". The reason for retracting was entirely correct — ADI reported pre-market at 07:01 ET this morning (not last night after the close), yesterday's −3.50% happened before the report, the two do not form a valid comparison, and the call had not yet been held at that point.

But by the close, the retracted conclusion gained two independent and clean samples of support:

Ticker Earnings quality Reaction window Today Open→Close
ADI FQ3 revenue +40%, adjusted operating margin 50.0%, Q4 guidance $4.3 billion vs street $4.08 billion Past the 10:00 ET call, fully priced across the day −0.89% −1.40%
KEYS Reported after the close on 8-18, Q3 revenue a record $1.85 billion, non-GAAP EPS $3.07 beat, next-quarter guidance $3.34–3.40 far above consensus $2.70; multiple banks raised price targets All of 8-19 was its reaction window −6.32% −8.47%

Two companies, both with AI-infrastructure exposure, both with "beat in the quarter + materially raised guidance + sell-side target hikes", and both closed lower, one of them down 6.32%. The reaction window had no flaws this time — ADI got through its call, and KEYS had a full trading day.

So the correct formulation is: the pre-market retraction itself was right (the evidence at the time did not support that inference), but the conclusion was re-established after the close by harder samples: the market's current pricing of AI hardware is not driven by fundamental beats. This and the all-day distribution in §3.1 are two sides of the same thing.

This one is consistent with this repo's existing experience but points the opposite way, worth logging separately: normally "the 8-K has no guidance, the call does", so you wait for the call. Today ADI got its call and KEYS got a full trading day, and both fell — which says the binding constraint right now is not the completeness of disclosure, it is flow.


4. After-Hours Earnings Moves

Today's after-hours (post-16:00 ET) was a quiet window — very few large-cap reports. Checking extended-hours quotes one by one for the usual calendar names SNOW / PANW / INTU / ADSK / ROST / WSM / URBN / ZM / ZS / NTAP / SYNA / BJ and others, none other than NDSN showed an after-hours move of ±1% or more; the top of the stockanalysis after-hours gainers list is entirely micro-cap (LOOP, BTCT, ZBAO, etc.), which does not constitute a theme for tomorrow.

4.1 NDSN (诺信, Nordson) — the only after-hours report with real size today

Reported FQ3'26 at 16:0x ET (SEC 8-K EX-99.1 original), +6.50% after hours at $330.05 (regular session close $309.92, +1.88%).

Metric Actual Street Diff
Revenue $818 million (record quarter, +10% YoY) $779 million +5.0%
Adjusted EPS $3.25 (record, +19% YoY) $3.09 +5.2%
GAAP EPS $2.73 (+23% YoY)
EBITDA $262 million (32% of revenue)
Backlog +35% YoY
Full-year guidance Raised to revenue $3.035–3.075 billion, adjusted EPS $11.80–12.00 Raised

The most counterintuitive number of the day is buried in the segments: Advanced Technology Solutions revenue $220 million, +28% YoY (+31% organic), EBITDA $66 million, +58% YoY, which the company explicitly attributes to "strong growth in electronics dispensing and test & inspection product lines".

Why this matters: this is demand confirmation on the electronics/semiconductor manufacturing-equipment side, and it happened on the same day as SMH −1.55%, TER −6.09%, KEYS −6.32%. But a qualifier must be added immediately — per this repo's experience, equipment/test revenue speaks to the supply side (customers expanding capacity), not to demand-side conditions, and NDSN's Advanced Technology segment is only about 27% of its total revenue. You cannot use it to refute today's semiconductor decline; you can only say: downstream capex orders are still there, while the secondary market is selling this chain.

Tomorrow's catalyst read: NDSN's call is at 08:30 ET tomorrow morning (confirmed in the 8-K), and the +6.50% after-hours move needs the call to confirm the composition of the +35% backlog. It is a positive input for tomorrow's industrial/electronics-equipment chain, but its market cap (about $17 billion) is not large enough to carry the sector.

4.2 Biotech's after-hours continuation

Ticker Close After hours After hours%
MRNA $174.38 $181.38 +4.01%
MRK $152.20 $152.75 +0.36%

MRNA added another 4.01% after hours — today's re-rating showed no sign of exhaustion through the close. This is the single point to watch most closely tomorrow.


5. Flows and Sentiment

5.1 Sector rotation

Sector ETF Today% Open→Close% Characterization
XBI (biotech) +5.90% +2.32% Absolute leader, and kept strengthening intraday
IBB (biotech large-cap) +6.58% +3.29% Same as above
XLV (healthcare) +3.51% +1.86% Sector-level
XLY (consumer discretionary) +1.92% +1.45% Driven by TGT/LOW/HD
XLB (materials) +1.43% +0.00% Driven by precious metals
XLP (consumer staples) +1.12% +0.96% Defensive
XLRE (real estate) +0.81% +0.22% Beneficiary of falling rates
XLC (communications) +0.76% +0.81%
XLU (utilities) 0.00% −0.54%
XLE (energy) −0.16% −0.42% Theme never fired
XLF (financials) −0.62% −0.69%
XLI (industrials) −0.88% −1.24%
XLK (technology) −1.07% −1.48%
SMH (semiconductors) −1.55% −2.46% Absolute laggard

Others: ITB (homebuilders) +3.10%, XRT (retail) +1.95%, IGV (software) +0.83%, KRE (regional banks) −2.41%.

5.2 Three flow clues worth calling out separately

① Software vs hardware forked again, and the direction is unambiguous. IGV +0.83% vs SMH −1.55%, a spread of 2.4pp. On a day when yields fell 6–9bp, if today's tech decline were "duration/rates" driven, software (longer duration) should have fallen more than semiconductors — the fact is the opposite. So today's semiconductor decline was not caused by rates; it was sector-specific outflow, consistent with the judgment the pre-market list already gave yesterday, and it holds again today. Implication: further declines in rates will not rescue AI hardware.

② The combination of precious metals + long bonds + a weaker dollar is the most unusual line of the day. GLD +3.84%, SLV +4.47%, TLT +1.67%, DXY −0.87%, while equity indices closed higher and VIX broke below 15. "Safe-haven and risk assets rising together, with only the dollar falling" points not to haven demand, but to a broad discount on dollar-denominated assets + rate-cut expectations. Searches indicate the driver on the day was the retreat in the dollar and yields around the FOMC minutes, compounded by the policy-uncertainty premium arising from new Fed Chair Warsh's communication style.

One convention discrepancy that must be flagged: gold's gain today differs across two conventions — GLD (spot ETF) +3.84%, versus the COMEX continuous contract (GC=F) +4.92%. The roughly 1.1pp difference comes from the roll treatment of the futures continuous contract. This piece uses the GLD convention throughout (the more conservative one).

③ FOMC minutes: hawkish content, the opposite in price. The July meeting held rates at 3.50–3.75% on a 9-3 vote, with three regional Fed presidents (Hammack, Kashkari, Logan) all favoring a 25bp hike, and the minutes showed hawkish sentiment extending beyond the three dissenters. Yet on the day yields fell 6–9bp, the dollar fell 0.87%, and gold surged — the market traded "the bad news is out / unwind the pre-meeting hawkish positions". Per searches, the probability of no change in September has risen to about 65% (previously about 50/50). The pre-market call of "wait it out before 14:00, long duration under pressure if the minutes lean hawkish" did not deliver: today long-duration assets (biotech, gold, long bonds) all surged.

5.3 risk-on / risk-off characterization

Characterized as "structural risk-on": VIX −6.00% breaking below 15, high beta beating low vol by 1.5pp, small caps beating large caps, equal weight beating cap weight by 83bp — risk appetite is indeed recovering, and breadth is healthy.

But the money is not flowing in evenly; it is moving distinctly out of AI hardware and into biotech / rate-sensitive assets / precious metals. This is a rotation, not a broad rally: the SMH-XBI spread today reached 7.45pp.


6. Tomorrow's Outlook (Thursday, 2026-08-20)

① Theme continuity

Theme Continuity call Basis Downside risk
mRNA cancer vaccines Likely continues, but the shape will change MRNA still +4.01% after hours, no exhaustion; XBI/IBB sector-level participation The company still has not published HR or absolute benefit; $174.38 is already 2.6× the consensus target of $48.92; the second tier (ARCT/NVAX) is pure label spillover, and they will be the first to fade tomorrow
AI hardware distribution Leans toward continuing 17/17 closed below the open, distribution shows no exhaustion; the ADI/KEYS pair of "beat and sold" samples NVDA reports 8/26, which could bring pre-event front-running; if the decline extends into oversold territory, a technical bounce is possible
Retail divergence Continues, but the center of gravity shifts Tomorrow morning's WMT report is the decisive input If WMT is strong, the strength in XRT/XLY continues; if weak, today's gains in TGT/LOW have no follow-through
Precious metals / rate-sensitive Watch Gold +3.84% and silver +4.47% are an extreme day; technical give-back is possible If tomorrow's data comes in strong, today's rate-cut pricing reverses
Energy Fading WTI −0.82%, XLE −0.16%, the theme has failed to fire for two days Hormuz tail risk is still there

② Tomorrow's earnings and macro calendar

Pre-market (08:00–09:30 ET)

  • WMT (Walmart) FQ2 results — the only heavyweight event tomorrow. The company page confirms the 08:00 ET call. WMT closed down −0.78% ($114.30) today against the tape, the only large-cap retail name to decline. Note: this repo's earlier pre-market list recorded the WMT report as 8/21; it is corrected here to pre-market 8/20.
  • NDSN call at 08:30 ET (confirmed in the 8-K), with the +6.50% after-hours move awaiting confirmation.

Macro (08:30 ET)

  • Initial jobless claims (the regular Thursday release)
  • Philadelphia Fed manufacturing index (August) — 8/20 is the third Thursday of August, the regular slot
  • 10:00 ET Conference Board Leading Economic Index (July)

Honest note on conventions: consensus estimates for the three items above were not obtained for this piece. The economic-calendar page found in search already has "Actual" values filled in for the 8/20 entries, yet as of this piece's finalization (8/19 17:00 ET) those data have not been released — the page content was verified to be prior-year data for the same period, and has been discarded in full; this piece lists only the schedule, not estimate figures.

Next-week preview (unchanged): NVDA FQ2'27 results 8/26 17:00 ET; the Jackson Hole global central banking symposium 8/27–8/29.

③ Names to watch (Ticker + verification point)

# Ticker Direction Reason to watch Explicit verification point
1 WMT Two-way Pre-market results tomorrow morning, the single decisive variable for whether today's strength in the retail chain continues; −0.78% today against the tape The comp growth rate and full-year guidance direction after stripping out any one-time items; whether it can reclaim $115.20 (prior day's close) after the open
2 MRNA Long (do not chase) Still +4.01% after hours, the re-rating is not exhausted Whether it can close above today's close of $174.38 tomorrow; whether volume can stay above 100 million shares (a break below ends this pricing wave); whether the company publishes HR
3 SMH Short/watch The core criterion for distribution Whether "gap up, fade down" appears again tomorrow (i.e. open→close negative). If it happens for a third consecutive day, distribution is confirmed; if a "gap down, close up" appears for the first time, distribution is over
4 MRVL Watch The Google agreement is a genuine long-term lock-in, but it was still negative after the open today Whether it can close above today's open of $240.85 — that is the dividing line between "the good news is absorbed" and "the good news is being distributed into"
5 NDSN Long (small size) The only positive after-hours report, backlog +35% The call's breakdown of backlog composition at 08:30; whether the +6.50% after-hours move can hold more than half of itself in the regular session
6 ARCT / NVAX Avoid Pure label spillover, +25.21% / +10.84% today No catalyst of their own, first to fade tomorrow

④ Directions to avoid

  1. "Buying the dip" in AI hardwarethis is exactly the mistake made pre-market this morning; do not make it two days running. The criterion is hard: 17/17 closed below the open, and the ADI / KEYS pair of "beat + raised guidance + sell-side target hikes" reports were both sold. Until at least one trading day of "gap down, close up" appears, any bounce in this chain should be treated as part of the distribution.
  2. The second and third tiers of mRNA (ARCT / NVAX / other vaccine-label names) — no catalyst of their own, no technical linkage; today's gains are pure spillover. Note this does not contradict today's post-mortem: what was called wrong today was the cost of the "avoid" action on the launch day, whereas after the launch day, the risk/reward of the second tier deteriorates quickly.
  3. Chasing MRNA options — IV around the clinical event is already extremely inflated, and the real IV event (HR data presented at a medical conference) has not yet happened, so there is no standard earnings-style IV crush path.
  4. Energy — the theme has failed to fire for two consecutive days, WTI has pulled back, and XLE is underperforming the market.
  5. Chasing precious metals — GLD +3.84% / SLV +4.47% is an extreme day, and buying in before tomorrow's 08:30 data is paying a premium for a rate-cut path that is not yet confirmed.

⑤ Input notes for tomorrow's pre-market list

  1. "Open→close" must become a fixed field. If you looked only at "today's % change", AI hardware was "mildly divergent"; only with this column can you see "17/17 distributed all day". This is today's biggest methodological gain and should be hard-wired into both the pre-market and recap ends.
  2. The limits of pre-market quotes must be written down: they can predict the opening price (errors mostly within 1–2pp today), they cannot predict the direction into the close. The 08:30 re-pull was not wrong; what was wrong was using it to conclude "absorption is established".
  3. The denominator of a "relative criterion" cannot be an outlier. Comparing XBI to MRNA (+176.97%) will inevitably be "clearly smaller", voiding the criterion. Change it to a comparison against the sector's own historical percentile.
  4. When ranking rate-sensitive sectors (home improvement / real estate / regional banks), the day's rate move should rank above current fundamental data — the direct cause of today's wrong call on LOW.
  5. WMT's pre-market report tomorrow morning must be placed at the top of the list, with the "strip out one-time items" restatement convention written in advance (the IEEPA tariff refund is treated differently at each of HD / TGT / TJX / LOW, and WMT most likely involves it too).
  6. Add one fact confirmed today to the base library: the Marvell–Google custom silicon agreement (signed 2026-07-29, warrants issued 8-18, disclosed 8-19), with a full-vesting threshold of 240 tranches × $500 million = $120 billion, exercise price $206.58. This is a long-term suppressant on the AVGO share narrative, not a one-day sentiment item.

Data Retrieval and Process Log (internal)

Data retrieval status this run

  • yfinance was available today but intermittently rate-limited (YFRateLimitError). The yf.download batch endpoint failed entirely for index-type symbols (12/12); switching to serial single-name yf.Ticker().history() with 3–12 second backoff retries gave a success rate of about 95%. The limiting is intermittent, not an IP-level ban — consistent with existing memory.
  • Measured failures that succeeded on retry: ^GSPC (rate-limited on first attempt), RSP (failed first, succeeded on a separate re-pull).
  • Still not obtained: HYG, ARKK (rate-limited on 4 consecutive retries; non-critical fields, abandoned).
  • SEC EDGAR: WebFetch pulling the 8-K directly returned HTTP 403; switching to curl + a compliant User-Agent worked. The first Marvell 8-K accession number I assembled was fabricated and returned NoSuchKey — corrected by reading the real accession from data.sec.gov/submissions/CIK*.json and re-pulling. Lesson: EDGAR accessions must be taken from the submissions API, they cannot be guessed from URL patterns.
  • earningswhispers.com: the calendar page body did not render, so the full list of after-hours reports for the day was not obtained; substituted a reverse check of "extended-hours quotes one by one for 12 usual calendar names", which is the weaker link in coverage, with the possibility of missing small- and mid-cap after-hours reports.

Search-source contamination (4 instances blocked this run, none reached the body)

  1. Advance/decline counts: one source gave "40.7% advancing / 56.4% declining", but calls 8/19 "Tuesday's session" (8/19 was in fact a Wednesday) and says "all indices closed lower" and "yields hit a ten-year high" — it describes 8/18. Discarded; the body instead uses the RSP/SPY and SPHB/SPLV spreads, with a note to the client that precise counts were not obtained.
  2. Gold: a search summary said "gold fell on 8/19, pressured by higher yields", which is in fact the 8/18 tape. Hard data: GLD +3.84%. Discarded.
  3. Tomorrow's economic calendar: the tradingeconomics calendar page has "Actual" values filled in for 8/20 (which has not yet happened) entries (claims 209K, Philly Fed 41.4, etc.), which are prior-year data for the same period. Discarded; the body lists only the schedule, no figures.
  4. 8/20 earnings preview: one summary said "Walmart raised fiscal 2026 guidance, shares fell 3.1%", "claims 235K", "Philly Fed −0.3" — this is August 2025 content. Discarded; the WMT report date was instead confirmed from the stockanalysis single-name page as pre-market 8/20.
  5. MRNA's closing price: multiple same-day news pieces said "up about 131%, touched $163, closed near $148" — all intraday (about 12:54 ET) snapshots. Hard data: closed $174.38 / +176.97%, cross-checked with stockanalysis (close/high/low all matching exactly). Had the news summaries been quoted directly, the core number of the entire piece would have been 15% too low.

Convention alignment with the pre-market list

  • Pre-market prices are uniformly taken from the 08:30–08:34 ET round marked in §3 / §7 of the pre-market list; ADI ($381.93), TJX ($143.01), LOW ($208.50), SNDK ($1,656.51), MRVL ($240.24), AVGO ($361.98) are back-derived from the pre-market % change × prior close, not raw reads, so the "vs pre-market price" column carries roughly ±0.3% convention error for these names, which does not affect direction.
  • MRNA's opening price differs slightly across two sources: yfinance $116.25 / stockanalysis $116.02. The body uses yfinance throughout, and volume is taken as yfinance's 185.1 million shares (stockanalysis shows 193.2 million, including after hours).

The one thing from this piece most worth remembering

  • The full 08:30 pre-market re-pull "predicted the open right and got the whole day wrong", and the open was precisely AI hardware's high of the day. This was not a data error, it was treating the overnight price as a proxy for intraday flow. Suggested hard-wiring: pre-market quotes → use only to predict the opening price; intraday direction → must wait for actual trading after the open.
  • Next: if the denominator of a relative criterion is an outlier (MRNA +176.97%), the criterion is void by construction, which today caused the second tier to be misjudged as "do not buy".

Still unresolved

  • Precise NYSE/Nasdaq advance/decline counts were not obtained (noted to the client in the body).
  • No systematic scan of the whole market's after-hours reports was run; coverage was limited to 12 usual calendar names + the top 5 after-hours movers; if a missed mid/large-cap after-hours report surfaces tomorrow, it needs to be backfilled.

⚠️ Risk disclaimer: this recap is a post-close review of information and observations only, and does not constitute investment advice. Data may differ in timeliness or convention; please defer to company disclosures / SEC filings, and do not use this directly as a basis for trading.

Sources2

Every external link cited in the body, numbered in order of appearance. · 1 domains

  1. 1SEC originalsec.gov
  2. 2SEC 8-K EX-99.1 originalsec.gov