US · Recap
U.S. Market Recap | 2026-08-21 (ET), Friday
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-21 09:30–16:00 ET regular session + 16:00–17:07 ET after hours.
Quote conventions (this report does not mix readings taken at different moments):
- Prior close, open, high, low, close, volume and after-hours price for individual stocks/ETFs are taken from the stockanalysis.com quote and daily-bar APIs; the close is defined at 16:00 ET, and after-hours readings were taken at 16:57–17:07 ET.
- The three major indices, the Russell 2000, VIX, Treasury yields, the dollar index, commodities and crypto are taken from the CNBC quote API, read at 16:41–17:07 ET (post-close settlement values).
- Gold/silver/copper are continuous futures contracts (@GC.1 / @SI.1 / @HG.1), which carry a basis versus spot — do not mix them with spot figures.
- This report adds a new "vs pre-market price" column: that is, "today's close ÷ the quote used in the pre-market list − 1". Scoring only on the day's percentage change systematically overstates the hit rate — the pre-market list was written only after the gap had already happened, so a reader following it would have paid the pre-market price, not the prior close. The two conventions give drastically different conclusions today; see §2.
- ⚠️ Market breadth (advancers/decliners) was not obtained for this report; the reason is explained in §1. That item is left blank and is not filled in with an estimate.
⚠️ Read this first: today was not "day 4 of the debasement trade" — it was a large sector rotation driven by a growth surprise
The pre-market list framed the whole day along the line "fiscal easing vs. a hawkish Fed → weaker dollar → bidding for hard assets", and stated explicitly that "today's rally in hard assets is dollar-driven, not driven by falling rates". The closing data knocked out both legs of that attribution:
Variable Pre-market reading (08:05–08:16) Closing reading Net change on the day Dollar index DXY 98.681 (−0.22%) 98.839 (−0.06%) The dollar rebounded during the U.S. session, cutting the decline by roughly 3/4 10-year Treasury 4.69% (prior close 4.698%) 4.736% +3.8bp — yields rose 2-year Treasury 4.183% 4.240% +5.5bp, the front end rose more (bear flattening) Copper @HG.1 6.611 (+2.20%) 6.5785 (+1.69%) Copper actually fell during the U.S. session (−0.49%) Gold @GC.1 4,654.00 (+1.81%) 4,662.00 (+1.98%) Only +0.17pp during the U.S. session — essentially unchanged In other words: the dollar stopped falling, yields actually rose, and the metals themselves barely moved during the U.S. session — yet copper miners rose 5%–9.4% on the day. The "weaker dollar → hard assets" transmission chain simply did not hold today; the things that went up went up for the right reason, but the reason given pre-market was wrong.
The real switch was the 09:45 ET August Flash PMI, and the pre-market call on its direction was exactly backwards. Pre-market it read: "the services prior reading of 54.6 is above the upper bound of the expected range; services is the one more likely to 'miss'". The actual result:
- Services 56.8 (expected 54.0, prior 54.6) — not a miss, but a 2.8-point beat and a 20-month high
- Manufacturing 53.2 (expected 53.9, prior 53.9) — a small miss
- Composite output 56.0 (prior 54.5), a 52-month high since April 2022; S&P Global said the survey data point to Q3 annualized growth of close to 3%, versus only 1.5% in Q2
A surprise of "strong growth, and strong specifically in services" explains everything that looked contradictory today: yields up (better growth → no fall in the odds of a hike), the dollar rebounding, cyclicals and small caps leading (Dow +0.98%, Russell +0.85%, both beating the Nasdaq's +0.44%), materials +2.14% and metals & mining XME +4.05% leading, while rate-sensitive utilities XLU −2.28% were the worst in the market and the crowded AI compute chain faded.
⚠️ And there is a structure here that must be spelled out: the PMI did not lift the index, it re-ordered the inside of the index. SPY opened at 766.05 and closed at 765.72, a net change of −0.04% during the regular session; QQQ was −0.25% in the regular session. Almost all of today's index-level gain came from the overnight gap; the only index still moving higher during the U.S. session was the Dow (open→close +0.41%). Reading today as "the broad market turned strong" is wrong — it was money moving from A to B inside the same index.
0. Today in one sentence
① Character: risk-on, but "cyclical/value risk-on", not "growth risk-on". Dow +0.98% > Russell 2000 +0.85% > Nasdaq +0.44% ≈ S&P +0.43%, while NVDA −0.98%, INTC −2.24%, SMH −0.40%, XLU −2.28%. VIX closed at 15.13 (−5.50%), with fear receding further.
② Today's strongest theme was copper/industrial metals — and that is precisely the one sector the pre-market list downgraded wholesale and placed on the "avoid" list. SCCO +8.69%, ERO +9.44%, FCX +7.64%, HBM +6.79%, TECK +4.59%, BHP +3.63%, COPX +5.18%. The falsifiable test set pre-market was cleanly falsified (see §2 and §3).
③ The most accurate call in the pre-market list was the internal structure of crypto — but it was "right" for a different reason than the one given. The quality end — HOOD +13.70%, COIN +8.20%, IBIT +6.02% — versus the miner end — HUT −8.79%, CIFR −8.40%, RIOT −5.48%, WULF −4.92%, CLSK −4.92% — a spread of more than 22 percentage points, exactly the direction called pre-market. But the pre-market explanation ("crypto flows shifting from short covering to active allocation") cannot support that magnitude — BTC was +6.63% on the day while the miner end fell hard; that is not "lagging", it is the opposite direction. The real reason is that the miner end is no longer crypto beta but AI infrastructure beta, and it was de-risked today alongside XLU/SMH/NVDA (see §3④). This indicator must be retired starting tomorrow.
④ Earnings side: ROST delivered, but it delivered in exactly the way the pre-market warned about. It closed +4.39%, but opened +6.49% → closed +4.39%, open→close −1.97%, with the intraday high of 243.86 essentially equal to the opening price. The pre-market test — "if it breaks the opening price within the first 30 minutes, the market has read that half of the upside is multiple re-rating" — was called correctly. Executed at the pre-market price of $245.70, the close is −2.71%.
⑤ On the avoid side, OSIS had the right direction but a losing execution. It closed −5.21%, but after the intraday low of 186.50 broke the 52-week low (old low 197.27) it reversed violently, open→close +5.47%. The two counter-signals specifically flagged pre-market (the record $1.9 billion backlog is a fundamental floor; the −9.39% was built on extremely thin pre-market volume) both played out. Shorting at the pre-market price of $197.62, the close is a loss of 4.61%.
⑥ The biggest problem this report must self-report is a coverage gap, not a wrong judgment. The two largest single-stock events of the day are nowhere in the pre-market list: MRNA +8.86% (volume 87.02 million shares) and MRK +2.39% (intraday 52-week high of 154.49) — day 3 of pricing the phase-3 mRNA cancer-vaccine readout that landed on 8/19 — plus TSLA +5.14% (Nevada approved a permit for 5,000 Cybercab robotaxis). A full-text search shows the pre-market list contains "MRNA/Moderna/MRK/Merck/疫苗/医药/TSLA/Tesla/特斯拉/robotaxi" zero times each. This is the old problem of a scan window that only looks at "prior close → this morning" and cannot see themes that keep developing across days.
⑦ The one-line verdict: today was a rotation day from "AI infrastructure → cyclicals + pharma + brokers", not a broad rally; the index gain came from overnight, and during the U.S. session money moved out of what was crowded and into what was cheap.
1. Market overview
| Index | Close | Change | Change% | ETF proxy volume | Open→Close% |
|---|---|---|---|---|---|
| Dow Jones Industrial | 53,277.01 | +517.80 | +0.98% | DIA 2.96 million shares | +0.41% |
| S&P 500 | 7,674.37 | +33.21 | +0.43% | SPY 38.58 million shares | −0.04% |
| Nasdaq Composite | 26,180.46 | +113.29 | +0.44% | QQQ 33.08 million shares | −0.25% |
| Russell 2000 | 3,017.87 | +25.44 | +0.85% | IWM 22.82 million shares | +0.04% |
⚠️ The "open→close" column is the one to look at today. All four indices closed higher, but only the Dow was still moving up during the U.S. session; 100% of the gains in the S&P and the Nasdaq came from the overnight gap, and both gave ground back after the open. "The market went up today" is true on a closing basis and false on an intraday basis.
Rates, FX, volatility, commodities
| Indicator | Close | Prior close | Change |
|---|---|---|---|
| VIX | 15.13 | 16.01 | −5.50% |
| 2-year Treasury | 4.240% | 4.185% | +5.5bp |
| 10-year Treasury | 4.736% | 4.698% | +3.8bp |
| 30-year Treasury | 5.277% | 5.237% | +4.0bp |
| Dollar index DXY | 98.839 | 98.895 | −0.06% |
| Gold @GC.1 | 4,662.00 | 4,571.40 | +1.98% |
| Silver @SI.1 | 69.05 | 68.105 | +1.39% |
| Copper @HG.1 | 6.5785 | 6.469 | +1.69% |
| WTI @CL.1 | 86.67 | 86.83 | −0.18% |
| Brent @LCO.1 | 93.95 | 93.78 | +0.18% |
| Bitcoin | 77,446.69 | 72,633.02 | +6.63% |
The curve bear-flattened: the 2-year rose +5.5bp, more than the 10-year's +3.8bp, and the 2s10s spread narrowed from 51.3bp to 49.6bp. This is the textbook shape of "strong growth data → the front end prices less easing", fully consistent with the large services PMI beat. The pre-market chain — "strong PMI → higher odds of a September hike → dollar rebound → more damage to precious metals/crypto than to copper" — was directionally right, but the damage never happened: gold and silver went sideways during the U.S. session and crypto actually rose 6.63%.
Sentiment call: risk-on, but the vehicle for risk appetite has changed. VIX below 15.5, yields up, cyclicals and small caps leading, defensive utilities and real estate at the bottom — this is a growth-pricing combination, not a liquidity-pricing one.
⚠️ Data-collection failures and implementation notes for this run:
- Market breadth (advancers/decliners) could not be obtained and is left blank in this report. The only figure retrieved was "573 up / 124 down / 51 unchanged", but: ① the total is only 748 names, far short of the roughly 2,800-name NYSE universe, so it likely covers only an "active stocks" subset; ② the same source simultaneously claimed "all major indices closed lower on the day", which directly contradicts the exchange-based S&P +0.43%. Once falsified it cannot be used; the whole line was discarded rather than used as filler.
- The S&P Global PMI official press-release page returned 403 on WebFetch, so the PMI figures were cross-confirmed from three secondary sources — investinglive + Kitco + Benzinga (all three agree exactly on 56.8 / 53.2 / 56.0) — but no primary press release was obtained.
- TheStreet's 8/21 close wrap, the Rio Times copper article and the stockanalysis sector pages all returned 403/404.
- ⚠️ One case of a secondary source conflicting with exchange data (exchange data was used): one MRNA article claimed a "drop of 19.83% to $140" on 8/20, whereas the exchange daily bar shows 8/20 open 150.14 / close 133.32 / −23.55%. All MRNA figures in this report were switched to the daily-bar API; that article was not relied upon.
- ⚠️ Two cases of "attribution pieces stitching in old earnings" were intercepted: while searching for the reason behind the 8/21 moves in FCX/SCCO, auto-generated pages such as tradingkey / stockstotrade / blockonomi presented the Q2 earnings released in July (FCX adj EPS $0.74 beat $0.62) as today's catalyst. Those earnings were priced back in July and were not the 8/21 driver; they were excluded, and today's copper-miner attribution instead uses the self-evidencing chain "the metal itself fell during the U.S. session while the stocks rose sharply" (see §3①).
- Zacks's "Stock Market News for Aug 21, 2026" is actually about the 8/20 close (Dow 52,759.21 = this report's prior close); the headline date is the publication date, not the data date. Identified and not misused.
- yfinance was not called this time (the after-hours stockanalysis daily-bar API met the OHLC need and avoided rate-limit risk); the screener batch endpoint that
pm_mv.pydepends on is still 404 and has not been fixed, but this report used per-stock/api/quotes/and/api/symbol/.../history, both of which worked normally.
2. Scoring the pre-market list
"vs pre-market price" = close ÷ the pre-market list's quote − 1. The pre-market list was written after the gap, so a reader's actual cost basis is the pre-market price. Put the two columns side by side and the conclusions are completely different.
① Recommended side (priority deep-dive / watch closely), 6 names
| Ticker | Pre-market call | Pre-market price | Close | Today's change% | vs pre-market price% | Delivered? | Comment |
|---|---|---|---|---|---|---|---|
| ROST | priority deep-dive (73 pts) | 245.70 | 239.04 | +4.39% | −2.71% | partly delivered | Opened +6.49% → closed +4.39%, open→close −1.97%, high 243.86 ≈ the open. The pre-market gap-fill warning was correct |
| HOOD | watch closely (64 pts) | 99.61 | 108.13 | +13.70% | +8.55% | delivered strongly | Best in the market. No repeat of yesterday's open-high-close-low, open→close +6.95%, volume 50.02 million shares |
| IBIT | watch closely (63 pts) | 43.52 | 43.68 | +6.02% | +0.37% | delivered (entirely in the gap) | Open 43.67, close 43.68, open→close +0.02% — no movement at all during the U.S. session |
| COIN | watch closely (62 pts) | 180.24 | 186.49 | +8.20% | +3.47% | delivered | Open→close +3.57%, intraday high 191.36; third consecutive big up day |
| CRCL | watch closely (59 pts) | 88.00 | 87.98 | +5.16% | −0.02% | delivered (gains fully given back) | Ran to 92.97 intraday (+11.1%) then gave it all back; open price = close price = 87.98 |
| GDX | watch closely (58 pts) | 102.84 | 102.83 | +2.98% | −0.01% | delivered (entirely in the gap) | Open→close +0.18%, same pattern as IBIT |
Recommended side, the two conventions compared:
- On the closing-change convention: 6/6 closed higher, a 100% hit rate, average +6.74%.
- On the vs-pre-market-price convention: only 3/6 finished above the pre-market price (HOOD/IBIT/COIN), and IBIT by only +0.37%; average +1.61%.
- ⚠️ And that +1.61% depends heavily on a single name: excluding HOOD, the other 5 average only +0.22%.
② "Watch only" side, 14 names — this is where this report's biggest judgment errors are concentrated
| Ticker | Pre-market call | Pre-market price | Close | Today's change% | vs pre-market price% | Comment |
|---|---|---|---|---|---|---|
| ERO | watch only | 37.70 | 39.42 | +9.44% | +4.56% | wrong call, second strongest in the market |
| SCCO | watch only | 205.02 | 216.00 | +8.69% | +5.36% | wrong call, open→close +4.43% |
| FCX | watch only (downgraded two notches) | 74.10 | 76.66 | +7.64% | +3.45% | wrong call, made a 52-week high — see the dedicated discussion below |
| HMY | watch only | 23.59 | 23.54 | +6.90% | −0.21% | Gains entirely in the gap |
| HBM | watch only | 29.27 | 30.06 | +6.79% | +2.70% | wrong call |
| MSTR | watch only | 120.25 | 119.25 | +6.10% | −0.83% | Gains entirely in the gap; "watch only" was in fact right on the pre-market-price convention |
| AU | watch only | 119.10 | 121.22 | +5.94% | +1.78% | wrong call (mildly) |
| TECK | watch only | 68.50 | 69.20 | +4.59% | +1.02% | wrong call (mildly) |
| KGC | watch only | 32.40 | 32.76 | +4.23% | +1.11% | wrong call (mildly) |
| BHP | watch only | 95.92 | 97.03 | +3.63% | +1.16% | wrong call, intraday 97.27 = 52-week high |
| NEM | watch only | 130.99 | 131.58 | +3.09% | +0.45% | Essentially flat |
| MU | watch only | 985.24 | 966.78 | −0.77% | −1.87% | right call, open→close −2.31% |
| AG | watch only | 21.95 | 21.09 | −0.47% | −3.92% | right call, open→close −3.70%, worst on the whole list |
| SMH | watch only | 569.63 | 560.42 | −0.40% | −1.62% | right call, open→close −1.58% |
Watch-only group: 11 up, 3 down, average +4.67% (vs pre-market price +0.94%). ⚠️ The key comparison: on the vs-pre-market-price convention, the recommended group excluding HOOD averages +0.22%, below the watch-only group's +0.94%. In other words — apart from that one name, HOOD, today's tiering had essentially no discriminating power, and was arguably inverted. All 3 correct calls (MU / AG / SMH) belong to the "no catalyst of its own, pure sentiment tag-along" category, with the stated reason "pure sentiment tag-along today, no catalyst of its own" — that reason was the single most reliable screening logic in the whole report today and should be kept and weighted up.
③ Avoid / short-watch side
| Ticker | Pre-market call | Pre-market price | Close | Today's change% | vs pre-market price% | Comment |
|---|---|---|---|---|---|---|
| OSIS | avoid / short watch | 197.62 | 206.73 | −5.21% | +4.61% | Right direction, losing execution. After the intraday low of 186.50 broke the 52-week low it reversed violently, open→close +5.47%. Both counter-signals written pre-market played out |
| MARA | avoid (yesterday's short-squeeze star) | — | 11.26 | +0.99% | — | Right call. While the crypto quality end was +5% to +14%, it managed only +0.99%, open→close −3.76% |
| BMNR | avoid | — | 22.83 | +5.84% | — | Wrong call (but still 7.9pp behind HOOD) |
| SBET | avoid | — | 7.91 | +4.22% | — | Wrong call (but still 9.5pp behind HOOD) |
| RIOT / CLSK / HUT / CIFR / WULF | watch only · "clearly lagging in today's pre-market" | — | — | −5.48 / −4.92 / −8.79 / −8.40 / −4.92% | — | All correct, and the single most accurate call in the report |
④ Hit-rate summary and post-mortem
| Group | Count | Hits, closing convention | Mean, closing convention | Hits, pre-market-price convention | Mean, pre-market-price convention |
|---|---|---|---|---|---|
| Recommended side (priority deep-dive + watch closely) | 6 | 6/6 (100%) | +6.74% | 3/6 (50%) | +1.61% |
| └ excluding HOOD | 5 | 5/5 | +5.35% | 2/5 (40%) | +0.22% |
| Watch only | 14 | 3/14 correct (11 rose) | +4.67% | — | +0.94% |
| Avoid / short | 4 | 2/4 (OSIS direction, MARA) | — | OSIS short −4.61% | — |
| Miner end, "clearly lagging" | 5 | 5/5 (100%) | −6.50% | — | — |
⚠️ Three post-mortem points, in descending order of severity:
First, the coverage gap is more serious than the wrong judgments. Three names that were among the market leaders today in both percentage gain and volume — MRNA (+8.86%, 87.02 million shares), MRK (+2.39%, intraday 52-week high), TSLA (+5.14%) — had zero coverage in the pre-market list. MRNA's catalyst (the individualized mRNA cancer vaccine intismeran autogene + Keytruda hitting the primary endpoint in the phase-3 adjuvant melanoma trial) occurred on 8/19, outside the "prior close → this morning" scan window — but it was still one of the most important pricing events in the entire market that day, and 8/21 was day 3 of its pricing. Outside the window ≠ not worth covering; the scan logic needs a second dimension for "carry-over themes still developing".
Second, the copper downgrade was this report's most expensive judgment, and it went wrong by "using the wrong transmission variable". The falsifiable test set pre-market was "can FCX close the regular session above $72.275" — the close was 76.66, 6.07% above that benchmark, the intraday 77.33 was a new 52-week high, and volume of 29.58 million shares was about 2.4× the 20-day average (12.31 million shares). That is a volume-confirmed regular-session breakout, and the test was cleanly falsified. The same goes for BHP: pre-market explicitly refused to give credit to its thin-volume "breakout", and it went on to make an intraday 52-week high of 97.27 and close at 97.03. For exactly where the error lies, see the quantitative breakdown in §3①.
Third, the "vs pre-market price" column proved again today that it cannot be omitted. The 100% hit rate on the closing convention is an illusion: 3 of the 6 recommendations (IBIT / GDX / CRCL) produced all of their gains before the open, with net regular-session moves of +0.02% / +0.18% / 0.00% respectively. Whether the pre-market list makes money depends on the stretch after the open, not the stretch before it was written.
3. Theme verification
| Theme | Pre-market strength/call | Actual today | Leaders/laggards | Stage | Verdict |
|---|---|---|---|---|---|
| Copper/industrial metals | #4, B+, "avoid" list | +5.18% (COPX) | ERO +9.44, SCCO +8.69, FCX +7.64, HBM +6.79 | Day 1 of breakout confirmation | ❌ Wrong pre-market call (the most expensive one) |
| Crypto · quality end | #1, A+ | +13.70% (HOOD) | HOOD, COIN +8.20, IBIT +6.02, FUTU +9.68 | Day 3 of the rebound | ✅ Right call |
| Crypto · miner end | "clearly lagging pre-market" | −4.92% to −8.79% | HUT −8.79, CIFR −8.40 | Fading | ✅ Direction right, reason wrong (see ④) |
| Precious-metal miners | #3, A− | +2.98% (GDX) | HMY +6.90, AU +5.94, KGC +4.23 | Day 3 of the rebound | ⚠️ Gains entirely in the gap, +0.18% during the U.S. session |
| Silver | watch only | AG −0.47%, SIL −0.68% (open→close) | AG worst on the whole list | Divergence | ✅ Right call (silver +1.39% while silver equities fell) |
| Off-price retail | #2, A (ROST only) | ROST +4.39%, peers did not follow | TJX −0.11%, BURL −2.02% | Delivered in a single day | ✅ Right call ("company alpha, not sector beta" played out exactly) |
| Semiconductors | #5, B+, "pure sentiment tag-along" | SMH −0.40%, NVDA −0.98%, INTC −2.24% | AVGO +1.21 bucked the trend | Fading | ✅ Right call |
| Security screening/defense | negative catalyst A+ | OSIS −5.21% (reversed after −14.5% intraday) | ITA −0.09%, no spillover | Digested in a single day | ✅ Direction right, and the "no sector spillover" call was right too |
| 🆕 Pharma/mRNA | not covered | MRNA +8.86%, MRK +2.39%, XLV +1.29%, XBI +1.44% | MRNA, MRK | Day 3 of pricing | ❌ Zero pre-market coverage |
| 🆕 Autonomous driving/robotaxi | not covered | TSLA +5.14% (open→close +3.71%) | TSLA | Day 1 of the catalyst | ❌ Zero pre-market coverage |
| 🆕 AI infrastructure (power/compute) | not covered as a standalone theme | XLU −2.28% (worst in the market), HUT/CIFR down hard | XLU, HUT, CIFR, INTC | Fading | ❌ Not identified pre-market as a standalone theme |
① ⚠️ Copper: the pre-market facts were right, the conclusion was wrong — the error was in the transmission variable
This is the one thing most worth writing out clearly today. The core evidence in the pre-market list still holds as of the close:
- "Copper has not made an all-time high" — still true. Copper @HG.1 closed at 6.5785, still below the cited COMEX record of $6.87 (8/6).
- "FCX's pre-market breakout rests on 220,000 shares (1.7% of average daily volume) and cannot be trusted" — the methodology is still true; a thin-volume pre-market quote should never be used to confirm a breakout.
But the conclusion drawn from those two true premises — "avoid the copper sector" — was thoroughly wrong on the day. The reason: today the copper miners were not being driven by the copper price at all.
An assumption-free falsification — put the same-day elasticity of the metal and the equity side by side:
| Commodity | Metal, today% | Corresponding stock/ETF, today% | Stock/metal multiple |
|---|---|---|---|
| Gold | +1.98% | GDX +2.98% | 1.5× (normal miner beta) |
| Silver | +1.39% | SIL +2.14% | 1.5× (normal miner beta) |
| Copper | +1.69% | COPX +5.18% / SCCO +8.69% / ERO +9.44% | 3.1× to 5.6× |
Gold and silver miners tracked their metals today at strictly the conventional 1.5× elasticity; only the copper miners ran at 3× to 5.6×. Worse, copper actually fell during the U.S. session (6.611 at 08:06 → 6.5785 at the close, −0.49%), while most of the copper miners' gains were produced during the regular session (SCCO open→close +4.43%, ERO +4.73%, HBM +4.19%, FCX +2.95%).
Conclusion: the 2× to 4× that exceeds normal beta cannot have come from the copper price — it came from a wholesale re-rating of cyclicals on the growth surprise. The corroboration is synchronous: XME (metals & mining) +4.05%, XLB (materials) +2.14%, Russell 2000 +0.85%, Dow +0.98% — the entire cyclical/value complex was repriced together.
So the pre-market methodological error can be pinpointed exactly: it anchored the valuation of "copper miners" to the "copper price → miner gross margin per tonne" transmission chain, and vetoed the equity side because the commodity side was unconfirmed. Today that chain was secondary; the dominant one was "macro growth surprise → duration re-rating of cyclicals". When a sector can be driven by two different chains, testing only one of them and issuing a veto on that basis is a systematic missed-call pattern — the same class of error as "equipment revenue is supply-side, not demand-side": the variable was given the right name and the wrong direction.
⚠️ But it must be said at the same time that the pre-market fundamental warning on FCX was not falsified — it simply was not priced today: the Gresik/PT Smelting shutdown severing the Indonesian sales channel (22% of its copper, nearly 100% of its gold), Q3 guidance set two days before the accident and not updated since, H1 copper sales volume −27.6%, true unit cash cost +110% — these are facts recorded in the primary 10-Q, and not one of them was overturned by news today. What happened today is that the market temporarily is not trading them. "The fundamental risk is real" and "should you avoid it today" are two different questions, and pre-market merged them.
② Crypto quality end: right call, and the finest one in the report
The first verification point set pre-market was "can the quality end (HOOD/COIN/CRCL) sustain its lead over the miner end (RIOT/CLSK/WULF)", with the prediction "if sustained → yesterday's open-high-close-low will not simply repeat".
Result: sustained, and sustained to an extreme. HOOD opened 101.10 → closed 108.13, open→close +6.95%, the exact opposite shape of the prior day (open 100.85 → close 95.10, open→close −5.70%); the "same pattern for a second time" specifically flagged pre-market did not happen. Volume was 50.02 million shares, nearly 2× the prior day's 25.14 million.
⚠️ But pre-market characterized HOOD as "no news of its own, crypto sector beta", and that underestimates it. HOOD +13.70% is well above any crypto-beta yardstick: BTC +6.63%, IBIT +6.02%, COIN +8.20%. Recent company-level catalysts include opening crypto trading in 50+ tokens to UK customers via Bitstamp UK on 8/10, and the pricing of the Robinhood Ventures Fund II IPO on 8/13, plus Goldman Sachs raising its price target from $118 to $123. Booking the entire 13.7% as sector beta underestimates the fact that it is simultaneously being re-rated on an independent tokenization/private-markets narrative.
③ ⚠️ One misclassified stock: FUTU +9.68%
Section 7 of the pre-market list grouped FUTU alongside GLXY and BULL, under "crypto · high beta · diverging fundamentals · watch only". Actual today: FUTU +9.68% (open→close +7.35%), while same-tier GLXY was +0.72% and BULL −0.79% — a 10-percentage-point spread inside a single tier.
The reason is that FUTU had a hard catalyst and the other two did not: Futu reported Q2 results on 8/20, with adjusted EPS of $3.33 (expected $2.98) and revenue of $852.66M (expected $786.07M), total trading volume +78.8% year over year and +54.6% quarter over quarter to a record HKD 6.42 trillion, and funded accounts +33.6% year over year to 3.84 million. It rose +3.03% on 8/20, and 8/21 was the day-2 continuation after earnings.
Methodological lesson: "names under the same theme cannot be treated as one tier; anything with a primary-source earnings catalyst must be broken out." That earnings report landed on 8/20, strictly speaking at the edge of the pre-market list's coverage window — but once FUTU was in the list, its characterization should have been based on its own catalyst rather than inheriting the sector label.
④ ⚠️ "The miner end is lagging" was the right call, but the reason given pre-market has already stopped working
This is the most valuable correction in this report for the next session.
The pre-market reading was: "the miner end lagging → shows the character of the flows has shifted from short covering to active allocation → crypto's internal structure is healthy". That reading predicts "miners lag", but what happened today was "miners fell hard": BTC +6.63% while HUT −8.79% and CIFR −8.40% — opposite directions, with a spread of more than 15 percentage points. For miner equities with high beta to BTC, that is a magnitude "lagging" cannot explain.
The real reason is that these companies are no longer crypto names:
- HUT is now the largest "ex-miner" by contracted AI data-center scale, with 949MW of AI compute under contract and an aggregate base-term contract value of about $26.6 billion; it traded as low as −11% intraday, to $78.54.
- On the same day, rate sensitivity + a crowded AI compute trade pressed simultaneously: XLU −2.28% (worst in the market), INTC −2.24%, NVDA −0.98%, SMH −0.40%. The market described it as profit-taking and rotation out of high-beta AI infrastructure names, rather than a reassessment of their demand (HUT is still +93% year to date).
So the correct causality is: today the miner end tracked the AI infrastructure complex, not bitcoin. The pre-market "quality end vs miner end" indicator gave the correct trading signal today, but what it is measuring is no longer the character of crypto flows — it inadvertently measured the "AI infrastructure vs cyclical value" rotation.
⚠️ This indicator must therefore be retired or redefined starting next week. Continuing to use "is the miner end lagging" to infer "are crypto flows active allocation or short covering" will produce a completely wrong reading at the next AI-infrastructure rebound. For the replacement indicator, see §6③.
⑤ The surprise theme missed pre-market: pharma/mRNA
This was the largest single-stock event of the day, and pre-market coverage was zero. The full price path (exchange daily bars, not secondary retellings):
| Date | Open | High | Low | Close | Change% | Volume |
|---|---|---|---|---|---|---|
| 8/18 | 63.04 | 64.46 | 62.13 | 62.96 | −2.33% | 4.30 million shares |
| 8/19 | 116.02 | 176.66 | 114.46 | 174.38 | +176.97% | 199 million shares |
| 8/20 | 150.14 | 155.00 | 128.61 | 133.32 | −23.55% | 99.20 million shares |
| 8/21 | 133.11 | 159.47 | 132.42 | 145.13 | +8.86% | 87.02 million shares |
- Catalyst: Moderna and Merck's individualized mRNA cancer vaccine intismeran autogene + Keytruda (pembrolizumab) met the primary endpoint and key secondary endpoints in a phase-3 adjuvant melanoma trial, the first positive phase-3 readout for an mRNA oncology therapy. Bank of America raised its MRNA price target from $40 to $170.
- MRK benefited in parallel: +12.60% on 8/19, and +2.39% to close at 152.55 on 8/21, with the intraday 154.49 being its 52-week high.
- ⚠️ But note the volatility structure: on 8/21 the intraday high of 159.47 (+19.6%) → close of 145.13 (+8.86%), meaning 9 percentage points were given back intraday; and 8/20 was −23.55% in a single day. This is a name that has gone +177% / −23.6% / +8.9% within three days, with extreme two-way volatility, and it should not be handled at a conventional position size. Also, the analyst consensus rating on both companies remains at Hold.
4. After-hours earnings moves
⚠️ There were no significant earnings after the close today (Friday); this section has nothing to report and is not being filled in.
The measured after-hours movers list for 16:57–17:07 ET shows that the top gainers and losers are all micro caps (gainers: PMI +41.12%/$4.53, PLAG +31.03%/$0.90, CAN +12.06%/$0.40; losers: ATEN −24.68%/$19.67, AMCI −18.46%/$5.30, GDTC −17.30%/$0.85), none of which carry index or sector influence. Index ETFs were essentially flat after hours (SPY −0.06%, QQQ −0.07%).
Among all the names covered in this report, the largest after-hours moves were HBM +1.13%, ETHA +0.88%, WULF +0.77% and MSTR +0.65%, all within the noise band and not catalysts for the next session.
No earnings after the Friday close is the norm (companies rarely report ahead of a weekend); the real catalysts for the next session (next Monday) come from this week's still-undigested carry-over events and next week's calendar, not from tonight. See §6.
By way of comparison, the two earnings reports from yesterday's (8/20) after-hours session have now been fully priced: ROST +4.39% (pre-market +7.30% → gave back to +4.39% at the close), OSIS −5.21% (pre-market −9.39% → −14.5% intraday → −5.21% at the close). The actual closing change in both was materially smaller than the pre-market gap, while the direction was right in both — further confirmation that "the size of a pre-market gap cannot be taken directly as the expected return for the day".
5. Flows and sentiment
① Sector rotation: one table showing where today's money came from and went
| Sector ETF | Close% | Open→Close% | Character |
|---|---|---|---|
| XLB Materials | +2.14% | +0.89% | Leader |
| XLV Health Care | +1.29% | +1.58% | Leader, and kept strengthening intraday |
| XLY Consumer Discretionary | +1.15% | +0.49% | Strong |
| XLF Financials | +0.93% | +0.28% | Strong |
| XLP Consumer Staples | +0.79% | +0.46% | Neutral to strong |
| XLC Communication | +0.65% | +0.34% | Neutral |
| XLI Industrials | +0.27% | −0.39% | Neutral (weakened intraday) |
| XLK Technology | +0.11% | −0.60% | Weak, net give-back intraday |
| XLRE Real Estate | 0.00% | −0.27% | Weak |
| XLE Energy | −0.17% | −0.42% | Weak (Brent +0.18% did not transmit) |
| XLU Utilities | −2.28% | −2.57% | Worst in the market |
Industry/theme ETFs:
| ETF | Close% | Notes |
|---|---|---|
| COPX Copper Miners | +5.18% | Strongest theme in the market |
| XME Metals & Mining | +4.05% | Cross-sectional confirmation of the cyclical re-rating |
| ARKK Innovation Growth | +3.53% | High-beta growth warming up (open→close +2.34%) |
| SIL Silver Miners | +2.14% | But open→close −0.68%, weakened intraday |
| GLD Gold | +1.95% | Open→close +0.67% |
| SLV Silver | +1.72% | Open→close −0.29% |
| XBI Biotech | +1.44% | Consistent with the MRNA theme |
| IGV Software | +1.43% | Against SMH −0.40%, software beat hardware by 1.83pp |
| KRE Regional Banks | +0.20% | Mild |
| USO Crude Oil | +0.07% | Flat |
| ITA Defense | −0.09% | No spillover from OSIS |
| TLT Long Treasuries | −0.35% | Consistent with rising yields |
| SMH Semiconductors | −0.40% | Open→close −1.58% |
② ⚠️ One falsification that must be spelled out: software beating hardware cannot be attributed to rates today
IGV +1.43% vs SMH −0.40% — software beat hardware by 1.83 percentage points. The usual explanation is "falling yields → long-duration growth benefits". That explanation fails on the spot today — yields rose (10-year +3.8bp, 2-year +5.5bp).
In a rising-yield environment, longer-duration software actually outperformed shorter-duration semiconductor equipment/chips, which says this was not a rates trade but an independent fade in the AI hardware complex: NVDA −0.98%, INTC −2.24%, SMH −0.40%, compounded by XLU −2.28% and HUT −8.79% on the compute/power side. What money is cutting is one specific thing — "physical AI infrastructure" — not duration.
③ VIX and Treasuries
VIX 15.13 (−5.50%), already below the pre-market 15.50 and the low of the week. The pre-market note that "VIX is already back at the lows, leaving limited room for further risk-appetite repair" holds directionally (VIX indeed did not collapse), but it did not prevent double-digit single-stock moves at the sector level — low index volatility ≠ low single-stock volatility; today's best and worst names in the market were more than 22 percentage points apart.
The entire Treasury curve rose and bear-flattened, consistent with a strong PMI and the September FOMC being priced as "hold vs hike". The pre-market point that "the leg where Treasury buybacks suppress yields has essentially stopped working" was further confirmed today: the 30-year kept climbing from 5.237% to 5.277%, now above the level that prevailed before the 8/19 buyback announcement.
④ Risk-on / risk-off characterization
Character: risk-on, but "cyclical-value risk-on".
- Supporting risk-on: VIX −5.50%, all four major indices green, Russell 2000 +0.85% beating the S&P, ARKK +3.53%, crypto +6.63%, XLF +0.93%.
- Not supporting "growth risk-on": XLK only +0.11% with open→close −0.60%, SMH −0.40%, NVDA/AAPL/AMZN all closing lower, and among the Magnificent Seven only GOOGL (+1.22%), TSLA (+5.14%), META (+0.75%) and MSFT (+0.43%) rose.
- Clear divergence within defensives: XLV +1.29% (with its own MRNA/MRK catalyst) versus XLU −2.28% and XLRE 0.00% — this is not "defensives being abandoned wholesale", it is rate-sensitive defensives being abandoned while event-driven pharma is chased.
⑤ Week in review (8/14 close → 8/21 close): the indices fell, but internally it was a violent rotation
| Name | Week% | Name | Week% | |
|---|---|---|---|---|
| COIN | +25.61% | SPY | −1.37% | |
| SCCO | +17.00% | IWM | −1.68% | |
| FCX | +15.30% | QQQ | −2.41% | |
| GDX | +14.29% | XLU | −3.48% | |
| HOOD | +13.15% | SMH | −4.66% | |
| MRK | +12.30% | MU | −0.50% | |
| COPX | +10.37% | DIA | −0.85% |
The character of the week: the broad indices fell across the board (Nasdaq −2.41%), yet copper, crypto, precious metals and pharma posted gains of 10%–25%, while semiconductors and utilities recorded declines of −3.5% to −4.7%. This was a sector-rotation week of rare magnitude, not a down week. Describing this week by index change would miss entirely what is actually happening.
6. Outlook for the next session
⚠️ Today is Friday. "Next session" below means Monday 2026-08-24 and after, and every calendar entry carries a date prefix. The carry-over catalysts in this section have already been developing for 3 days, and by Monday's open they will no longer be new news.
① Theme continuation
| Theme | Current stage | Continuation call | Falsifiable verification point |
|---|---|---|---|
| Copper/industrial metals | Day 1 of breakout confirmation | Medium-high — but dependent on the growth narrative, not the copper price | 8/24: can copper @HG.1 climb above and hold 6.60; can FCX hold 76.66 (i.e. is the 8/21 breakout not engulfed in a single day) |
| Pharma/mRNA | Day 3 of pricing, extreme volatility | Medium — needs a substantive analyst upgrade | 8/24: can MRNA hold 145.13; does a substantive Hold→Buy rating change appear (consensus is still Hold) |
| Crypto · quality end | Day 3 of the rebound | Medium — the catalysts have all turned into old news | 8/24: can BTC hold 77,000; can HOOD sustain volume above 30 million shares |
| AI infrastructure (semis/power/compute) | Day 1 of the fade | ⚠️ Next Wednesday's NVDA earnings is the only event that can end the fade | 8/24–8/25: can XLU stop falling; can SMH recover the −1.58% intraday loss of 8/21 |
| Precious metals | Day 3 of the rebound, already weakening intraday | Low-ish — 100% of the 8/21 gain came from the gap | 8/24: can GDX's "open→close" turn positive (only +0.18% on 8/21, and SIL was already −0.68%) |
| Off-price retail | Payoff complete in a single day | Low — no follow-on catalyst | ROST is fully digested; next week watch whether the 8/27 DG earnings validate the "consumer trade-down" chain |
② Next week's earnings and macro calendar
⚠️ Next week is the busiest of the quarter, with the two biggest events landing on the same day.
| Date (ET) | Event | Importance | Notes |
|---|---|---|---|
| 8/26 (Wed) after close | NVDA (Nvidia) Q2 FY27 earnings | S | The master switch for the AI compute narrative. With AI infrastructure having only just begun fading on 8/21, the guidance in this report will decide whether SMH/XLU/compute names keep fading or reverse in a V |
| 8/26 (Wed) | July PCE price index (BEA) | S | The BEA website confirms "Next release: August 26, 2026". After a 56.8 services PMI, PCE is the key test of "does strong growth bring inflation stickiness" |
| 8/27–8/29 | Jackson Hole global central bank symposium | A+ | — |
| 8/28 (Fri) around 10:00 | Chair Warsh's first Jackson Hole speech in office | A+ | Topic: "the impact of financial innovation on payments and policy" |
| During next week | Durable goods orders, consumer confidence, trade balance, pending home sales | B | — |
| During next week | CRM, CRWD, BBY, DG earnings | B+ | CRM/CRWD test whether IGV software strength can continue; BBY/DG test the consumer |
⚠️ Structural note: on 8/26, NVDA earnings (after the close) and PCE (before the open) stack up, making it the only "macro + micro on the same day" high-risk day next week. Every cyclical/hard-asset position established on 8/21 needs to consider whether it can survive 8/26–8/28. This is consistent with point 13 in §8 of the pre-market list, and is reinforced further by PCE falling on the same day.
③ Focus list (ticker + verification point)
| Ticker | Direction | Reason to watch | Verification point (falsifiable) |
|---|---|---|---|
| FCX | Long (downgrade watch → needs reassessment) | A volume-confirmed breakout completed on 8/21: close 76.66, intraday 52-week high of 77.33, volume 2.4× the 20-day average. The pre-market bearish test has been falsified | ⚠️ But the fundamental risk has not been overturned: can it hold 76.66; and does news appear that "PTFI has applied for a concentrate export licence" — that would be confirmation the stockpiles are tight, not good news |
| SCCO | Long | Pure copper exposure without Gresik risk; +8.69% on 8/21 with open→close +4.43%, only −1.39% from the 52-week high of 219.04 | Can it break 219.04. If SCCO breaks out and FCX does not, the market is buying "copper" rather than "the FCX company option" |
| HOOD | Long (but lower position-size expectations) | Strongest in the market, open→close +6.95%, volume doubled | Can volume stay above 30 million shares; after +13.7%, does the pullback exceed half of the 8/21 gain |
| XLU | Short / avoid watch | Worst in the market at −2.28%, open→close −2.57%, −3.48% on the week | Can it stop falling. If it keeps falling into NVDA earnings, the AI power narrative is being systematically repriced rather than seeing short-term profit-taking |
| MRNA | Watch only, participation not advised | +177% / −23.6% / +8.9% within three days, gave back 9pp intraday on 8/21 | Can the consensus rating be substantively upgraded from Hold; can it hold 145.13 |
| SMH / NVDA | Watch | Fading on 8/21, but earnings on 8/26 | Does the bleeding continue into earnings; does the 1.83pp IGV−SMH spread converge or widen |
④ What to avoid
- ⚠️ Chasing any name whose 8/21 gain came "entirely from the gap": IBIT (open→close +0.02%), GDX (+0.18%), CRCL (0.00%, gave back all of an intraday +11.1%), HMY (+0.26%), MSTR (−0.37%). These five look attractive with closing gains of +2.98% to +6.10%, but they made not one cent during the U.S. session. If they gap again on Monday, the size of the gap cannot be taken as the expected return.
- Silver and silver miners (AG/SIL): silver +1.39% while AG −0.47% (open→close −3.70%) and SIL open→close −0.68% — the divergence of the metal rising while the equities fall has already appeared, and it typically precedes a sector top.
- High-beta AI infrastructure (HUT/CIFR/WULF/RIOT/CLSK): all −4.92% to −8.79% on 8/21, and that was against a backdrop of BTC +6.63%. Before NVDA gives guidance on 8/26, do not catch this falling knife on the logic that "BTC rose so they should catch up" — that logic already stopped working today.
- Using "miner end vs quality end" as an indicator of the character of crypto flows: see §3④; the indicator has been contaminated by AI infrastructure beta and should be suspended.
- Shorting OSIS: the direction was right, but the reversal on 8/21 — open→close +5.47% after breaking the 52-week low intraday — shows the floor from the $1.9 billion backlog is real, and the risk/reward for shorts at this level is poor.
⑤ Input notes for Monday's pre-market list
- ⚠️ The scan window must add a dimension for "pricing progress on carry-over themes". The direct cause of missing MRNA/MRK today is that the catalyst occurred on 8/19, outside the "prior close → this morning" window. Suggestion: beyond incremental news, always check the top 20 names by abnormal change or abnormal volume over the past 5 trading days, and any that remain in the abnormal range must go into the list even with no new news, labelled with which day of pricing they are on.
- ⚠️ The "vs pre-market price" column must be retained, and the pre-market list side must state in parallel "the cost basis for this call is the pre-market price of $X". Today the hit rate was 100% on the closing convention and 50% on the pre-market-price convention; that gap will systematically mislead readers.
- ⚠️ When a sector can be driven by two transmission chains, you cannot veto it after testing only one. The lesson from copper today: the "commodity price" chain was tested (unconfirmed), but the "macro growth → cyclical re-rating" chain was not (strongly confirmed). Suggestion: add a column to the theme scoring table for "which transmission chain is dominant for this theme today".
- Keep the veto reason "no catalyst of its own, pure sentiment tag-along". Of the 14 "watch only" names today, all 3 correct calls (MU/AG/SMH) came from this reason, the only consistently effective screening logic in the whole report.
- Within one theme, any name with a primary-source earnings catalyst must be broken out into its own tier. FUTU (+9.68%) was treated in the same tier as GLXY (+0.72%) and BULL (−0.79%), which flattened away a 10pp difference.
- To re-confirm before Monday's open: whether copper @HG.1 holds above 6.55 overnight; whether BTC holds 77,000; whether the 10-year Treasury keeps rising through 4.75%; and the consensus estimates for NVDA's 8/26 earnings (not obtained in this report; Monday's list must fill this in).
⚠️ Risk disclaimer: this recap is post-close information review and observation only and does not constitute investment advice. Data may differ in timeliness or definition; company disclosures and SEC filings prevail, and this cannot be used directly as a basis for trading.