Market recap for July 6, 2026: chip rout and NVDA
Chip rout, bounce and wild summer open hide quiet index week. Most stocks fall as MU out-trades SPY. See how NVDA and QQQ shape the July 6 week.
Wik wey start July 6, 2026 na semiconductor whipsaw wey disguise as calm index. Inside five trading sessions: chip selloff, bounce, summer opening wey violent pass, plus NVDA reclaim am on Friday. At the end, SPY gain +1.4%. Two facts explain the story: MU print more dollar volume pass SPY itself for the week, and more liquid stocks fall pass those wey rise for week wey growth index gain 1.8%. Every number wey dey below come from stored query.
The week on the board
Weekly changes dey cover from Thursday July 2 regular close (market close for Independence Day happen July 3) reach Friday July 10 close. Rows dey alphabetical order.
| ticker | last week close | this week close | this week change pct | last week change pct |
|---|---|---|---|---|
| DIA | 527.83 | 525.77 | -0.4 | 2 |
| IWM | 297.53 | 295.96 | -0.5 | 0 |
| QQQ | 712.74 | 725.54 | 1.8 | 1 |
| SPY | 744.8 | 754.9 | 1.4 | 2.2 |
The exact SQL behind every number
SELECT ticker,
round(argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-07-02') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS prior_week_close,
round(argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-07-06') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS week_close,
round((argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-07-06') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199)
/ argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-07-02') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) - 1) * 100, 1) AS week_change_pct,
round((argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-07-02') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199)
/ argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-26') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) - 1) * 100, 1) AS prior_week_change_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
AND window_start >= '2026-06-22 13:30:00' AND window_start < '2026-07-10 20:00:00'
GROUP BY ticker
ORDER BY tickerThe split na the main story: QQQ +1.8% and SPY +1.4% against DIA -0.4% and IWM -0.5%. Growth carry everything; the Dow and small-cap index finish a green-index week red. Anything wey happen this week, e no be broad-based move.
The week against the trailing year
| this week open to close pct | best rank | weeks wey dem compare | first week | sessions this week |
|---|---|---|---|---|
| 0.82 | 20 | 53 | 2025-07-07 | 5 |
The exact SQL behind every number
SELECT round(anyIf(ret, wk = toDate('2026-07-06')), 2) AS week_open_to_close_pct,
arrayCount(x -> x > anyIf(ret, wk = toDate('2026-07-06')), groupArrayIf(ret, wk != toDate('2026-07-06'))) + 1 AS rank_best,
count() AS weeks_compared,
toString(min(wk)) AS first_week,
anyIf(sessions, wk = toDate('2026-07-06')) AS sessions_this_week
FROM (
SELECT toStartOfWeek(toDate(toTimeZone(window_start, 'America/New_York')), 1) AS wk,
uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions,
(argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS ret
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2025-07-06 00:00:00')
AND window_start < toDateTime('2026-07-11 00:00:00')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY wk
HAVING sessions >= 3
)Open-to-close measurement show say SPY week rank 20 out of 53 trailing weeks, right for middle of the pack. The week carry the summer’s most dramatic single open (Thursday) and the sharpest sector rout (Tuesday), but e still land for middle table: the big movements cancel each other, so the finding na say the week ordinary.
Five sessions, one arc
| ET date | SPY close | change pct | SPY shares m |
|---|---|---|---|
| 2026-07-06 | 751.3 | 0.9 | 49.2 |
| 2026-07-07 | 747.66 | -0.5 | 42.5 |
| 2026-07-08 | 745.31 | -0.3 | 42.8 |
| 2026-07-09 | 751.64 | 0.8 | 39 |
| 2026-07-10 | 754.9 | 0.4 | 40.9 |
The exact SQL behind every number
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
round(argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS spy_close,
round((argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) / any(prev) - 1) * 100, 1) AS change_pct,
round(toFloat64(sum(volume)) / 1e6, 1) AS spy_shares_m
FROM global_markets.delayed_stocks_minute_aggs
INNER JOIN (
SELECT d, lagInFrame(c) OVER (ORDER BY d ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-07-02 00:00:00') AND window_start < toDateTime('2026-07-11 00:00:00')
GROUP BY d
)
) AS p ON toDate(toTimeZone(window_start, 'America/New_York')) = p.d
WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-07-06 00:00:00') AND window_start < toDateTime('2026-07-11 00:00:00')
GROUP BY et_date
ORDER BY et_dateThe arc: Monday reopen from holiday with growth-led gap up (+0.9%, recap); Tuesday semiconductor complex break down, while index give back only -0.5% (recap); Wednesday chips bounce hard and index stay still (-0.3%, recap); Thursday the whole tape turn green for summer’s wildest open (+0.8%, recap); Friday NVDA lead quiet finish (+0.4%, recap) to $754.9 close.
The two names wey dey center of Tuesday rout, receipts:
| ticker | day pct |
|---|---|
| INTC | -9.6 |
| TER | -9.6 |
The exact SQL behind every number
SELECT ticker, round((c7 / c6 - 1) * 100, 1) AS day_pct
FROM (
SELECT ticker,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 20:00:00')) AS c6,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 20:00:00')) AS c7
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('INTC', 'TER')
AND window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-07 20:00:00'
GROUP BY ticker
)
ORDER BY tickerTuesday move for both names: INTC -9.6%, TER -9.6%, against SPY’s -0.5% for the session.
Wetin dem talk
Our writing dey only describe wetin happen; we attach names to the narratives we quote for the week. First, see how the feed share attention across the four names wey dey center of the whipsaw, out of 981 articles for the week:
| d | NVDA articles | MU articles | INTC articles | TER articles |
|---|---|---|---|---|
| 2026-07-06 | 25 | 12 | 7 | 0 |
| 2026-07-07 | 17 | 13 | 2 | 0 |
| 2026-07-08 | 13 | 17 | 2 | 0 |
| 2026-07-09 | 20 | 12 | 3 | 0 |
| 2026-07-10 | 11 | 7 | 6 | 0 |
The exact SQL behind every number
SELECT toDate(toTimeZone(published_utc, 'America/New_York')) AS d,
countIf(has(tickers, 'NVDA')) AS nvda_articles,
countIf(has(tickers, 'MU')) AS mu_articles,
countIf(has(tickers, 'INTC')) AS intc_articles,
countIf(has(tickers, 'TER')) AS ter_articles
FROM global_markets.stocks_news
WHERE published_utc >= '2026-07-06 00:00:00' AND published_utc < '2026-07-11 04:00:00'
AND toDate(toTimeZone(published_utc, 'America/New_York')) >= '2026-07-06'
AND toDate(toTimeZone(published_utc, 'America/New_York')) <= '2026-07-10'
GROUP BY d
ORDER BY dWe no dey paraphrase those headlines here. We read dem directly from the stored feed:
| session | outlet | headline |
|---|---|---|
| 2026-07-07 | The Motley Fool | Michael Burry Just Revealed His Next Big Short, and It's a Bet Against Nvidia, Micron, and AMD |
| 2026-07-08 | The Motley Fool | Why Did Sandisk Stock Pop Today? |
The exact SQL behind every number
SELECT toString(toDate(toTimeZone(published_utc, 'America/New_York'))) AS session,
JSONExtractString(publisher, 'name') AS outlet,
title AS headline
FROM global_markets.stocks_news
WHERE toDate(toTimeZone(published_utc, 'America/New_York')) IN ('2026-07-07', '2026-07-08')
AND JSONExtractString(publisher, 'name') = 'The Motley Fool'
AND (positionCaseInsensitive(title, 'Burry') > 0 OR positionCaseInsensitive(title, 'Sandisk Stock Pop') > 0)
ORDER BY session, titleFor the rout day, the feed carry The Motley Fool's “Michael Burry Just Revealed His Next Big Short, and It's a Bet Against Nvidia, Micron, and AMD”; for the bounce day, the same outlet ask “Why Did Sandisk Stock Pop Today?.” NVDA's Friday rally happen without any catalyst headline; na only valuation-framed pieces dey. This data no show the cause.
Two findings: MU (17 articles) cover pass NVDA (13) exactly once, on Wednesday, the bounce day (NVDA lead the other four); and TER, one-half of the pair wey suffer the hardest hit during the rout, get tagged 0 times on the day e break, and zero every other day. Na one feed's attention be this, no be the whole world's media.
Breadth: green week wey most stocks fall
| advancers | decliners | names wey dem measure | advancer pct |
|---|---|---|---|
| 3015 | 3270 | 6319 | 47.7 |
The exact SQL behind every number
SELECT
countIf(cw > cp AND cp > 0 AND dv >= 5000000) AS advancers,
countIf(cw < cp AND cp > 0 AND dv >= 5000000) AS decliners,
countIf(cp > 0 AND cw > 0 AND dv >= 5000000) AS measured_names,
round(100.0 * countIf(cw > cp AND cp > 0 AND dv >= 5000000) / countIf(cp > 0 AND cw > 0 AND dv >= 5000000), 1) AS advancer_pct
FROM (
SELECT ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-03 00:00:00')) AS cp,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-10 13:30:00')) AS cw,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-06 13:30:00') AS dv
FROM global_markets.delayed_stocks_minute_aggs
WHERE ((window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00')
OR (window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-11 00:00:00'))
GROUP BY ticker
)Among 6319 names wey trade at least $5M during the week, 3270 fall compared with 3015 wey rise, so na only 47.7% of stocks advance for week wey growth index gain 1.8%. Na the biggest members manufacture the index green week; median stock get red week. The same narrowness wey Friday recap catch for one session, build up across five sessions.
Sector scoreboard
Where exactly the fall happen? Na the ten SPDR sector ETFs, from July 2 close reach July 10 close, arranged alphabetically:
| ticker | this week pct |
|---|---|
| XLB | -2.1 |
| XLE | 3.5 |
| XLF | 0.2 |
| XLI | -1.1 |
| XLK | 2.9 |
| XLP | -1 |
| XLRE | -0.5 |
| XLU | -0.8 |
| XLV | -1.8 |
| XLY | 0.1 |
The exact SQL behind every number
SELECT ticker, round((cw / cp - 1) * 100, 1) AS week_pct
FROM (
SELECT ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-03 00:00:00')) AS cp,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00')) AS cw
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('XLB', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')
AND ((window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00')
OR (window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00'))
GROUP BY ticker
)
ORDER BY tickerFour out of the ten sectors close positive, but na only two show any meaningful margin: energy (XLE, +3.5%) and tech (XLK, +2.9%) lead the way. Financials (+0.2%) and consumer discretionary (+0.1%) barely close above flat. The other six, from materials (-2.1%) reach healthcare (-1.8%), finish red. Apart from those two clear winners, the board lean downward.
MU lead the tape: e trade pass the index. For one week.
| ticker | this week dollar bn |
|---|---|
| MU | 164 |
| SPY | 137.3 |
| NVDA | 107.1 |
| QQQ | 103.4 |
| SNDK | 88 |
| TSLA | 69.3 |
The exact SQL behind every number
SELECT ticker,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 1) AS week_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-10 20:00:00'
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
AND ticker NOT IN ('SPCX')
GROUP BY ticker
ORDER BY week_dollar_bn DESC
LIMIT 6MU record 164B for regular-hours dollar volume across the five sessions, ahead of SPY wey get 137.3B. One memory stock wey trade pass the S&P 500 ETF for full week resemble wetin happen for June (MU June deep-dive); NVDA (107.1B), the week’s AI/GPU bellwether, and SNDK (88B), another memory name, complete the week’s top five. The sharp back-and-forth no be only about price. E also show where market money spend the whole week dey argue.
The whipsaw result: same complex, opposite weeks
The fourteen chip names wey drive all the week’s stories, measured across the full week, from July 2 close to July 10 close. Rows dey alphabetical order.
| ticker | this week pct |
|---|---|
| AMD | 7.7 |
| AVGO | 11 |
| INTC | -8.8 |
| KLAC | -1.8 |
| LRCX | -0.3 |
| MRVL | -3.9 |
| MU | 0.3 |
| NVDA | 8.5 |
| SNDK | 9.9 |
| SOXL | 6.1 |
| SOXS | -9.5 |
| STX | 11 |
| TER | -2.6 |
| WDC | 8.1 |
The exact SQL behind every number
SELECT ticker,
round((cw / cp - 1) * 100, 1) AS week_pct
FROM (
SELECT ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-03 00:00:00')) AS cp,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00')) AS cw
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AMD', 'AVGO', 'INTC', 'KLAC', 'LRCX', 'MRVL', 'MU', 'NVDA', 'SNDK', 'SOXL', 'SOXS', 'STX', 'TER', 'WDC')
AND ((window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00')
OR (window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00'))
GROUP BY ticker
)
ORDER BY tickerAfter the rout, bounce, big open and Friday rally, the complex no move together. E split down the middle. AVGO (+11%), STX (+11%), SNDK (+9.9%), NVDA (+8.5%) and WDC (+8.1%) finish with strong green weeks. INTC (-8.8%) get brutal week. The equipment names wey lead Thursday’s huge gaps, KLAC (-1.8%) and LRCX (-0.3%), round-tripped back to roughly flat. The main point: MU, the name wey outperform the S&P 500 ETF for the whole week, finish with +0.3%. 164 billion dollars change hands to move the price almost nowhere. Na the clearest picture of market participants arguing with each other at maximum volume.
The week get new ticker: SK Hynix US debut
Friday add one listed member to the memory complex wey control the week’s tape. The debut, receipted:
| offer px | raised bn | bigger 2026 raises | biggest 2026 raise bn | first RTH px | first RTH bar ET minute | first RTH bar ET | debut close | close vs offer pct | e fade from first print | RTH dollar bn | 2026 debuts wey dem measure | 2026 debut dollar rank | biggest 2026 debut bn |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 158.14 | 28.1 | 1 | 75 | 170 | 694 | 11:34 | 168.33 | 6.4 | 1.67 | 18.03 | 144 | 2 | 81.2 |
The exact SQL behind every number
WITH ipo AS (
SELECT toFloat64(final_issue_price) AS offer, toFloat64(total_offer_size) AS raise
FROM global_markets.stocks_ipos
WHERE issuer_name = 'SK Hynix Inc' AND listing_date = '2026-07-10'
LIMIT 1
),
debuts AS (
SELECT a.ticker AS t, sum(toFloat64(a.close) * toFloat64(a.volume)) AS debut_rth_dollars
FROM global_markets.delayed_stocks_minute_aggs a
INNER JOIN (
SELECT multiIf(replaceAll(ticker, ' ', '') = 'SKHY', 'SKHYV', replaceAll(ticker, ' ', '')) AS tk, listing_date
FROM global_markets.stocks_ipos
WHERE listing_date >= '2026-01-01' AND listing_date <= '2026-07-10'
) l ON a.ticker = l.tk
WHERE a.window_start >= '2026-01-01 00:00:00' AND a.window_start < '2026-07-11 00:00:00'
AND toDate(a.window_start) = l.listing_date
AND (toHour(a.window_start) * 60 + toMinute(a.window_start)) BETWEEN 810 AND 1199
GROUP BY a.ticker
)
SELECT
round((SELECT offer FROM ipo), 2) AS offer_px,
round((SELECT raise FROM ipo) / 1e9, 1) AS raised_bn,
(SELECT countIf(toFloat64(total_offer_size) > (SELECT raise FROM ipo)) FROM global_markets.stocks_ipos WHERE listing_date >= '2026-01-01' AND listing_date <= '2026-07-10') AS bigger_2026_raises,
round((SELECT max(toFloat64(total_offer_size)) FROM global_markets.stocks_ipos WHERE listing_date >= '2026-01-01' AND listing_date <= '2026-07-10') / 1e9, 1) AS biggest_2026_raise_bn,
round(toFloat64(argMinIf(open, window_start, window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00')), 2) AS first_rth_px,
toHour(toTimeZone(minIf(window_start, window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00'), 'America/New_York')) * 60
+ toMinute(toTimeZone(minIf(window_start, window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00'), 'America/New_York')) AS first_rth_bar_et_minute,
formatDateTime(toTimeZone(minIf(window_start, window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00'), 'America/New_York'), '%H:%i') AS first_rth_bar_et,
round(toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00')), 2) AS debut_close,
round((toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00')) / (SELECT offer FROM ipo) - 1) * 100, 1) AS close_vs_offer_pct,
round(toFloat64(argMinIf(open, window_start, window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00'))
- toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00')), 2) AS faded_from_first_print,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00') / 1e9, 2) AS rth_dollar_bn,
(SELECT count() FROM debuts) AS debuts_measured_2026,
(SELECT countIf(debut_rth_dollars > (SELECT debut_rth_dollars FROM debuts WHERE t = 'SKHYV')) + 1 FROM debuts) AS debut_dollar_rank_2026,
round((SELECT max(debut_rth_dollars) FROM debuts) / 1e9, 1) AS biggest_2026_debut_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SKHYV' AND window_start >= '2026-07-10 04:00:00' AND window_start < '2026-07-11 00:00:00'The raise: $28.1 billion for $158.14 per share. Na 1 US raise for 2026 wey bigger, after SpaceX listing of $75 billion for June. Since no prior close dey, opening cross no find price until 11:34 ET: $170. The close, $168.33, drop $1.67 from that first print but still remain 6.4% above the offer. And the tape: $18.03 billion in regular-hours dollars. Among 144 US debuts measured for 2026, only SpaceX first-day volume of $81.2 billion pass am.
Wey move pass anybody for this week
Apart from chips, who win and who lose? For tape wey no adjust, this week 30 reverse splits fit fake four-digit “gains”. So these boards no include splits wey happen inside the week, and dem require at least $5 million trade value.
| ticker | board | this week pct | week dollar m | pct of dollar max |
|---|---|---|---|---|
| FXHO | gainers | 147.3 | 113.8 | 1.2 |
| FBRX | gainers | 109.6 | 305.8 | 3.2 |
| CRNX | gainers | 98 | 9660.5 | 100 |
| GMM | gainers | 97.6 | 639.3 | 6.6 |
| LHSW | gainers | 91.6 | 307.8 | 3.2 |
| JZXN | gainers | 89.9 | 356.5 | 3.7 |
| TRAX | gainers | 87.4 | 225.6 | 2.3 |
| ZCMD | gainers | 86.2 | 77.2 | 0.8 |
| WRAP | gainers | 72.3 | 172.7 | 1.8 |
| SUNE | gainers | 67 | 363.9 | 3.8 |
| JEM | decliners | -76.4 | 26.1 | 0.3 |
| ELPW | decliners | -70.3 | 105.2 | 1.1 |
| HAO | decliners | -65.8 | 128.5 | 1.3 |
| ALAR | decliners | -65.1 | 14.8 | 0.2 |
| CCHH | decliners | -55.5 | 105.9 | 1.1 |
| SDOT | decliners | -53.7 | 366.7 | 3.8 |
| ONFO | decliners | -47.6 | 75.2 | 0.8 |
| YHC | decliners | -46.9 | 17.7 | 0.2 |
| GMEX | decliners | -44.9 | 14.8 | 0.2 |
| BYRN | decliners | -44.6 | 44.8 | 0.5 |
The exact SQL behind every number
SELECT ticker, board, week_pct, week_dollar_m,
round(100 * week_dollar_m / max(week_dollar_m) OVER (), 1) AS pct_of_dollar_max
FROM (
SELECT 'gainers' AS board, ticker, round((cw / cp - 1) * 100, 1) AS week_pct, round(dv / 1e6, 1) AS week_dollar_m
FROM (
SELECT ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-03 00:00:00')) AS cp,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00')) AS cw,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-06 13:30:00') AS dv
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker NOT IN ('SPCX')
AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits WHERE execution_date >= '2026-07-06' AND execution_date <= '2026-07-10')
AND ((window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00')
OR (window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-11 00:00:00'))
GROUP BY ticker
HAVING cp > 0 AND cw > 0 AND dv >= 5000000
)
ORDER BY week_pct DESC
LIMIT 10
UNION ALL
SELECT 'decliners' AS board, ticker, round((cw / cp - 1) * 100, 1) AS week_pct, round(dv / 1e6, 1) AS week_dollar_m
FROM (
SELECT ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-03 00:00:00')) AS cp,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00')) AS cw,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-06 13:30:00') AS dv
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker NOT IN ('SPCX')
AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits WHERE execution_date >= '2026-07-06' AND execution_date <= '2026-07-10')
AND ((window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00')
OR (window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-11 00:00:00'))
GROUP BY ticker
HAVING cp > 0 AND cw > 0 AND dv >= 5000000
)
ORDER BY week_pct ASC
LIMIT 10
)
ORDER BY board DESC, abs(week_pct) DESCTo enter either board, stock need make big move. The smallest gainer wey show rise by 67%, while the smallest decliner print -44.6% loss. Even INTC brutal chip week (-8.8%) no near any of the two levels. These boards mostly na small-cap territory, with one strong exception: CRNX, +98% on $9660.5 million traded, the biggest dollar volume among the twenty, Tuesday overnight move wey nearly double am still hold the gain reach Friday.
The shorts: one truncated file inside an otherwise complete week
| d | tickers wey dey file | short shares bn |
|---|---|---|
| 2026-07-06 | 15384 | 4.62 |
| 2026-07-07 | 4333 | 1.86 |
| 2026-07-08 | 15127 | 4.65 |
| 2026-07-09 | 15124 | 4.61 |
| 2026-07-10 | 15116 | 4.22 |
The exact SQL behind every number
SELECT toString(date) AS d,
uniqExact(ticker) AS tickers_on_file,
round(sum(short_volume) / 1e9, 2) AS short_shares_bn
FROM global_markets.stocks_short_volume
WHERE date >= '2026-07-06' AND date <= '2026-07-10'
GROUP BY date
ORDER BY dateFour out of the five daily short-volume files come complete, with around 15384 tickers each. Tuesday July 7 file get only 4333, less than one-third of the other files, and total short shares (1.86B versus around 4.62B on complete days) drop to match. The June 29 file get the same truncation pattern (that week recap), and July 7 na the day wey market crash. Treat any per-ticker short-volume claim about July 7 as unverifiable until dem refile the file.
The options week: crowd wey dey trade same-day options follow the calendar
| d | contracts m | pct 0DTE |
|---|---|---|
| 2026-07-06 | 61 | 38.7 |
| 2026-07-07 | 61.1 | 31.2 |
| 2026-07-08 | 63.3 | 38.7 |
| 2026-07-09 | 58.9 | 28.7 |
| 2026-07-10 | 65.6 | 48.7 |
The exact SQL behind every number
SELECT toDate(sip_timestamp) AS d,
round(toFloat64(sum(size)) / 1e6, 1) AS contracts_m,
round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = formatDateTime(toDate(sip_timestamp), '%y%m%d')) / sum(size), 1) AS pct_0dte
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-06 00:00:00' AND sip_timestamp < '2026-07-11 00:00:00'
GROUP BY d
ORDER BY dContract volume run from 58.9M (Thursday, the lightest) reach 65.6M (Friday, the heaviest). The 0DTE share show wetin the calendar bring: e drop reach 28.7% on Thursday, when no major expiry pull dey, then e jump to 48.7% on Friday as the weeklies expire, just as the expiration calendar dey predict. The calendar still dey decide how big the same-day fraction go be.
Rates: e dey gradually rise throughout the week
| chg 2Y bp | chg 10Y bp | chg 30Y bp | Y10 Friday pct | Y30 Friday pct | Jul9-Jul10 print rows |
|---|---|---|---|---|---|
| 7 | 7 | 8 | 4.56 | 5.06 | 2 |
The exact SQL behind every number
SELECT
round((toFloat64(anyIf(yield_2_year, date = '2026-07-10')) - toFloat64(anyIf(yield_2_year, date = '2026-07-02'))) * 100) AS chg_2y_bp,
round((toFloat64(anyIf(yield_10_year, date = '2026-07-10')) - toFloat64(anyIf(yield_10_year, date = '2026-07-02'))) * 100) AS chg_10y_bp,
round((toFloat64(anyIf(yield_30_year, date = '2026-07-10')) - toFloat64(anyIf(yield_30_year, date = '2026-07-02'))) * 100) AS chg_30y_bp,
round(toFloat64(anyIf(yield_10_year, date = '2026-07-10')), 2) AS y10_fri_pct,
round(toFloat64(anyIf(yield_30_year, date = '2026-07-10')), 2) AS y30_fri_pct,
(SELECT count() FROM global_markets.treasury_yields WHERE date IN ('2026-07-09', '2026-07-10')) AS jul9_jul10_print_rows
FROM global_markets.treasury_yields
WHERE date IN ('2026-07-02', '2026-07-10')Compared with the final print for the week (Friday, July 10), the curve rise almost parallel from the previous week close: 2-year +7 bp, 10-year +7 bp reach 4.56%, 30-year +8 bp reach 5.06%. No twist, na just general level increase. The July 9 and 10 prints enter after authoring with longer-than-usual delay (2 rows don dey on file now); this section cover the complete week.
The calendar behind the week
| filings for week | Friday filings | Monday minus next busiest | Monday pass Friday Form 4 | minimum daily 424B2 | maximum daily 424B2 | ex-dividends for week | reverse splits for week | forward splits for week | news week |
|---|---|---|---|---|---|---|---|---|---|
| 18353 | 3137 | 1288 | 3.6 | 487 | 679 | 560 | 30 | 9 | 981 |
The exact SQL behind every number
SELECT
(SELECT count() FROM global_markets.stocks_sec_edgar_index WHERE filing_date >= '2026-07-06' AND filing_date <= '2026-07-10') AS filings_week,
(SELECT count() FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-10') AS filings_friday,
toInt64((SELECT count() FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-06'))
- toInt64((SELECT max(c) FROM (SELECT count() AS c FROM global_markets.stocks_sec_edgar_index WHERE filing_date > '2026-07-06' AND filing_date <= '2026-07-10' GROUP BY filing_date))) AS monday_minus_next_busiest,
(SELECT round(countIf(form_type = '4' AND filing_date = '2026-07-06') / countIf(form_type = '4' AND filing_date = '2026-07-10'), 1) FROM global_markets.stocks_sec_edgar_index WHERE filing_date >= '2026-07-06' AND filing_date <= '2026-07-10') AS monday_over_friday_form4,
(SELECT min(c) FROM (SELECT count() AS c FROM global_markets.stocks_sec_edgar_index WHERE filing_date >= '2026-07-06' AND filing_date <= '2026-07-10' AND form_type = '424B2' GROUP BY filing_date)) AS min_daily_424b2,
(SELECT max(c) FROM (SELECT count() AS c FROM global_markets.stocks_sec_edgar_index WHERE filing_date >= '2026-07-06' AND filing_date <= '2026-07-10' AND form_type = '424B2' GROUP BY filing_date)) AS max_daily_424b2,
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= '2026-07-06' AND ex_dividend_date <= '2026-07-10') AS ex_dividends_week,
(SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date >= '2026-07-06' AND execution_date <= '2026-07-10') AS reverse_splits_week,
(SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date >= '2026-07-06' AND execution_date <= '2026-07-10') AS forward_splits_week,
(SELECT count() FROM global_markets.stocks_news WHERE toDate(toTimeZone(published_utc, 'America/New_York')) >= '2026-07-06'
AND toDate(toTimeZone(published_utc, 'America/New_York')) <= '2026-07-10') AS news_week18353 SEC filings, 560 ex-dividend records, 30 reverse and 9 forward splits, 981 news articles. Friday July 10 EDGAR index still dey transit when this page first run (ingest lag wey we don write about before). E don land now at 3137 filings, so the weekly total above now include all five sessions.
The filing week, by day and by form:
| d | filings | form4 | form8k | f424b2 |
|---|---|---|---|---|
| 2026-07-06 | 5019 | 2464 | 203 | 487 |
| 2026-07-07 | 3485 | 958 | 175 | 679 |
| 2026-07-08 | 3731 | 775 | 163 | 527 |
| 2026-07-09 | 2981 | 623 | 149 | 606 |
| 2026-07-10 | 3137 | 694 | 150 | 532 |
The exact SQL behind every number
SELECT toString(filing_date) AS d,
count() AS filings,
countIf(form_type = '4') AS form4,
countIf(form_type = '8-K') AS form8k,
countIf(form_type = '424B2') AS f424b2
FROM global_markets.stocks_sec_edgar_index
WHERE filing_date >= '2026-07-06' AND filing_date <= '2026-07-10'
GROUP BY filing_date
ORDER BY filing_dateMonday na the week’s busiest filing session at 5019. E pass the next-busiest day by 1288. Insider Form 4 na the biggest part: 2464 of dem, 3.6 times Friday’s 694, for the first session after the four-day Independence Day break. The most steady line na 424B2, the shelf-takedown prospectus wey banks file for structured notes. E stay inside narrow range every session, 487 to 679. Insider paperwork dey follow the calendar. The note machine no dey.
Friday file still carry the week’s newest ticker. Na SK Hynix paper trail into its US listing:
| filing date | form_type |
|---|---|
| 2026-06-11 | DRS/A |
| 2026-06-24 | F-1 |
| 2026-07-01 | F-6 |
| 2026-07-06 | F-1/A |
| 2026-07-09 | 8-A12B |
| 2026-07-09 | CERT |
| 2026-07-09 | EFFECT |
| 2026-07-09 | EFFECT |
| 2026-07-10 | 424B4 |
The exact SQL behind every number
SELECT toString(filing_date) AS filing_date,
form_type
FROM global_markets.stocks_sec_edgar_index
WHERE issuer_name = 'SK hynix Inc.'
AND filing_date >= '2026-06-01' AND filing_date <= '2026-07-10'
ORDER BY filing_date ASC, form_type ASCThe registration statement for June, the amendment on Monday this week, the exchange certification on Thursday, then the last row: the 424B4 final prospectus, filed 2026-07-10, the same session wey the stock open. The filing index and the tape agree on the date.
The sessions, verified
| sessions wey dey for week | first session | last session | holiday rows wey dey for week | next closure date | next closure name |
|---|---|---|---|---|---|
| 5 | 2026-07-06 | 2026-07-10 | 0 | 2026-09-07 | Labor Day |
The exact SQL behind every number
SELECT
uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions_in_week,
toString(min(toDate(toTimeZone(window_start, 'America/New_York')))) AS first_session,
toString(max(toDate(toTimeZone(window_start, 'America/New_York')))) AS last_session,
(SELECT count() FROM global_markets.stocks_market_holidays WHERE date >= '2026-07-06' AND date <= '2026-07-10') AS holiday_rows_in_week,
(SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-10' AND status = 'closed') AS next_closure_date,
(SELECT argMin(name, date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-10' AND status = 'closed') AS next_closure_name
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-10 20:00:00'
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 11995 full sessions, 2026-07-06 through 2026-07-10, no holiday rows in the window, the first five-session week since mid-June's. Next scheduled closure: Labor Day on 2026-09-07.
On deck
Next week, from our own tables:
| closures wey dey next week | ex dividends wey dey next week | household ex div wey dey next week | jul17 expiry pct of week volume |
|---|---|---|---|
| 0 | 692 | 0 | 14 |
The exact SQL behind every number
SELECT
(SELECT count() FROM global_markets.stocks_market_holidays WHERE date >= '2026-07-11' AND date <= '2026-07-17' AND status != 'open') AS closures_next_week,
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= '2026-07-13' AND ex_dividend_date <= '2026-07-17') AS ex_dividends_next_week,
(SELECT countIf(ticker IN ('AAPL', 'MSFT', 'JPM', 'KO', 'JNJ', 'XOM', 'CVX', 'PG', 'WMT', 'HD')) FROM global_markets.stocks_dividends WHERE ex_dividend_date >= '2026-07-13' AND ex_dividend_date <= '2026-07-17') AS household_ex_div_next_week,
(SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260717') / sum(size), 1) FROM global_markets.options_trades WHERE sip_timestamp >= '2026-07-06 00:00:00' AND sip_timestamp < '2026-07-11 00:00:00') AS jul17_expiry_pct_of_week_volumeThe holiday table show say 0 closures dey happen next week, across five full sessions. 692 ex-dividend records go fall inside that period, but none come from the ten household names wey the panel dey track. Next Friday na the third Friday for July, the monthly options expiration, and contracts wey expire that day don already account for 14% of this week’s options volume. One receipt still dey open: the July 9 and July 10 Treasury prints (2 rows dey on file), a zero-bounded tripwire wey dey hold this page regeneration until Treasury file land. Friday’s EDGAR index, the page’s other tripwire, don already land and dem don read am complete above.
FAQ
Stock market take dey be like for the week wey start July 6, 2026?
Split: SPY rise 1.4% and QQQ 1.8%, DIA and IWM finish for red, while 3270 out of 6319 liquid stocks wey dem measure fall.
Which sector perform pass for the week wey start July 6, 2026?
Energy: XLE gain 3.5%, ahead of tech wey gain +2.9%. Na dem be the two clear winners out of ten. Financials and consumer discretionary too close slightly positive (+0.2%, +0.1%), while the other six finish for red.
How SK Hynix US stock market debut go?
E raise $28.1 billion, wey be the second-biggest US raise for 2026, behind SpaceX. E close the first session 6.4% above the $158.14 offer, with $18.03 billion regular-hours turnover.
When the next monthly options expiration go happen?
Na the third Friday for July, wey be the Friday immediately after this week. Contracts wey go expire that day don already carry 14% of this week options volume.
Data notes
All timestamps na UTC; regular hours na 13:30-20:00 UTC for each session; week boundary dey run from July 2 regular close reach July 10 own. The weekly trailing rank dey use OPEN-to-close returns, so e different from the close-to-close scoreboard, and both get their own labels. Weekly breadth dey compare July 2 and July 10 closes, using $5M-traded-in-week filter. One arrival tripwire get zero boundary: the July 9 and July 10 treasury prints. Friday EDGAR daily index land after this page first run, and dem don now count am complete inside weekly filings total, wey no longer be floor. No VIX-style print dey here: dem no license index implied-volatility series into this warehouse, so volatility dey come from the tape through ranges, 0DTE share and quote behavior. IPO table store the debut ticker with one extra space; debut panel join am using the cleaned symbol.
Methodology
- Market data source: consolidated tape,
delayed_stocks_minute_aggsfor prices and volumes,options_tradesfor the options week. - Time zone handling: stored timestamps na UTC; ET labels dey come through
toTimeZone(...)inside SELECT lists; WHERE clauses dey use raw UTC literals. - Deterministic aggregates: tuple-keyed tie-breaks; prose claims encode as bounds.
- SEC filings source:
stocks_sec_edgar_index, the daily EDGAR filing index, weyfiling_datecount. - Warehouse as-of date: July 13, 2026; equity tapes, options trades, and the week's five EDGAR daily indexes don fully enter. The July 9 and July 10 treasury prints still dey transit.
Cross-links: the five dailies, Monday, Tuesday, Wednesday, Thursday, Friday, plus MU's June deep-dive, when do options expire, and the prior week's recap.