Tổng kết thị trường chứng khoán ngày 9 tháng 7 năm 2026
Nhóm thiết bị bán dẫn tăng mạnh rồi giảm, các cổ phiếu vốn hóa lớn hồi phục ấn tượng giúp thị trường chuyển sắc xanh. NVDA đi ngược xu hướng và đóng cửa trong sắc đỏ.
9.64%
Thứ Năm, ngày 9 tháng 7 năm 2026, dồn nén toàn bộ sự biến động vào một phút, và phút đó diễn ra trước khi chuông mở cửa vang lên. Các mã cổ phiếu thiết bị bán dẫn đã ở mức cao hơn nhiều so với giá đóng cửa ngày thứ Tư trong giao dịch trước giờ mở cửa (premarket), trong khi META nằm ở mức -3.16% thấp hơn; mức giá khớp lệnh lúc 9:30 đã xác nhận cả hai xu hướng này. Sau đó, thị trường một phần đã xóa bỏ đà tăng đầu phiên: khoảng trống giá của nhóm chip thu hẹp, META hồi phục hoàn toàn, và bảng điện tử kết thúc phiên với sắc xanh 71.5%, đánh dấu phiên giao dịch có độ rộng thị trường tốt nhất trong tuần. NVDA, mã cổ phiếu giữ được sắc xanh trong suốt phiên giảm mạnh ngày thứ Ba, đã đóng cửa trong sắc đỏ. Mọi con số dưới đây đều được trích xuất từ truy vấn lưu trữ.
Điều gì đã định hình phiên mở cửa
Các khoảng trống giá (gap) không được tạo ra vào lúc 9:30. Trong khoảng thời gian từ 4:00 sáng đến 9:29 sáng theo giờ ET, bảng điện ngoài giờ (premarket) đã định giá lại các mã này, và mức giá khớp lệnh mở cửa đã rơi đúng vào vùng đó.
| Ticker | Đóng cửa trước | Nến pre-mkt đầu (ET) | Giá pre-mkt cuối | Biến động pre-mkt (%) | KL pre-mkt (k) | Gap (%) | Mở cửa vs pre-mkt (%) |
|---|---|---|---|---|---|---|---|
| KLAC | 221.03 | 04:00 | 239.8 | 8.49 | 357.1 | 8.14 | -0.33 |
| LRCX | 332.93 | 04:00 | 365.04 | 9.64 | 359.6 | 9.67 | 0.02 |
| META | 603.03 | 04:00 | 584 | -3.16 | 1463.8 | -3.16 | 0 |
| NVDA | 204.14 | 04:00 | 204.46 | 0.16 | 3741.7 | 0.16 | 0 |
| QQQ | 711.3 | 04:00 | 718.32 | 0.99 | 1652.7 | 0.99 | 0 |
| SPY | 745.31 | 04:00 | 747.38 | 0.28 | 814.8 | 0.27 | 0 |
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
ticker,
round(prior_close, 2) AS prior_close,
formatDateTime(first_pm_bar, '%H:%i') AS first_premkt_bar_et,
round(premkt_last, 2) AS premkt_last,
round((premkt_last / prior_close - 1) * 100, 2) AS premkt_pct,
round(premkt_shares / 1e3, 1) AS premkt_shares_k,
round((day_open / prior_close - 1) * 100, 2) AS gap_pct,
round((day_open / premkt_last - 1) * 100, 2) AS open_vs_premkt_pct
FROM (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')) AS prior_close,
minIf(toTimeZone(window_start, 'America/New_York'), window_start >= '2026-07-09 08:00:00' AND window_start < '2026-07-09 13:30:00') AS first_pm_bar,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-09 08:00:00' AND window_start < '2026-07-09 13:30:00')) AS premkt_last,
sumIf(toFloat64(volume), window_start >= '2026-07-09 08:00:00' AND window_start < '2026-07-09 13:30:00') AS premkt_shares,
toFloat64(argMinIf(open, window_start, window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00')) AS day_open
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'KLAC', 'LRCX', 'META', 'NVDA')
AND ((window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')
OR (window_start >= '2026-07-09 08:00:00' AND window_start < '2026-07-09 20:00:00'))
GROUP BY ticker
)
ORDER BY tickerMức giá khớp lệnh cuối cùng ngoài giờ của KLAC đứng ở mức +8.49% so với giá đóng cửa ngày thứ Tư và mã này mở cửa ở mức +8.14%; LRCX tăng +9.64% trước khi mở cửa ở mức +9.67%; META khớp lệnh ở mức -3.16% và mở cửa ở mức -3.16%. Xem open_vs_premkt_pct: tất cả sáu mã đều mở cửa trong phạm vi một phần trăm so với giá ngoài giờ cuối cùng của chúng. NVDA là trường hợp ngoại lệ, 0.16% qua đêm với khối lượng 3741.7 nghìn cổ phiếu, đây là khối lượng giao dịch ngoài giờ lớn nhất trong sáu mã nhưng lại có biến động nhỏ nhất (giao dịch ngoài giờ và sau giờ đóng cửa).
Có chất xúc tác nào không? Dữ liệu của chúng tôi không ghi nhận điều gì
Một bản tóm tắt cần nêu rõ nguyên nhân khiến cổ phiếu biến động. Trong trường hợp này, các bảng dữ liệu của chúng tôi không ghi nhận bất kỳ thông tin nào: cả nguồn cấp tin tức và danh mục hồ sơ nộp lên SEC đều trống đối với bốn mã cổ phiếu có khoảng trống giá (gap) mạnh nhất.
| Ticker | Tin qua đêm | Tin trong phiên | Hồ sơ SEC | Hồ sơ 8K |
|---|---|---|---|---|
| AMD | 1 | 2 | 0 | 0 |
| KLAC | 0 | 0 | 0 | 0 |
| LRCX | 0 | 0 | 0 | 0 |
| META | 4 | 7 | 1 | 0 |
| MSFT | 6 | 5 | 0 | 0 |
| MU | 6 | 6 | 0 | 0 |
| NVDA | 7 | 9 | 0 | 0 |
| TER | 0 | 0 | 0 | 0 |
| WDC | 0 | 0 | 0 | 0 |
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
ticker,
toUInt32(sum(overnight_articles)) AS overnight_articles,
toUInt32(sum(session_articles)) AS session_articles,
toUInt32(sum(sec_filings)) AS sec_filings,
toUInt32(sum(filings_8k)) AS filings_8k
FROM (
SELECT
arrayJoin(['AMD', 'KLAC', 'LRCX', 'META', 'MSFT', 'MU', 'NVDA', 'TER', 'WDC']) AS ticker,
toUInt64(0) AS overnight_articles, toUInt64(0) AS session_articles,
toUInt64(0) AS sec_filings, toUInt64(0) AS filings_8k
UNION ALL
SELECT
arrayJoin(tickers) AS ticker,
countIf(published_utc < '2026-07-09 13:30:00') AS overnight_articles,
countIf(published_utc >= '2026-07-09 13:30:00') AS session_articles,
toUInt64(0) AS sec_filings, toUInt64(0) AS filings_8k
FROM global_markets.stocks_news
WHERE published_utc >= '2026-07-08 20:00:00' AND published_utc < '2026-07-09 20:00:00'
GROUP BY ticker
UNION ALL
SELECT
ticker, toUInt64(0), toUInt64(0),
count() AS sec_filings,
countIf(form_type = '8-K') AS filings_8k
FROM global_markets.stocks_sec_edgar_index
WHERE filing_date >= '2026-07-08' AND filing_date <= '2026-07-09'
GROUP BY ticker
)
WHERE ticker IN ('AMD', 'KLAC', 'LRCX', 'META', 'MSFT', 'MU', 'NVDA', 'TER', 'WDC')
GROUP BY ticker
ORDER BY ticker0 bài viết qua đêm, 0 trong ngày, 0 hồ sơ SEC cho KLAC, và hàng trống tương tự cho LRCX, TER và WDC. NVDA, mã cổ phiếu không hề có khoảng trống giá, lại nhận được sự quan tâm lớn nhất trong số chín mã (7 bài viết qua đêm, 9 trong ngày) và đóng cửa trong sắc đỏ. Đây chỉ là sự chú ý từ một nguồn cấp tin, không phải toàn bộ truyền thông thế giới, và một hàng trống không phải là bằng chứng cho việc không có sự kiện nào xảy ra. Tuy nhiên, dữ liệu của chúng tôi không chỉ ra nguyên nhân nào, và "không rõ nguyên nhân" là một câu trả lời đầy đủ.
Bảng tỷ số
Mọi thay đổi được so sánh giữa thanh dữ liệu phút cuối cùng của phiên giao dịch thường ngày 9 tháng 7 với phiên thứ Tư; các hàng được sắp xếp theo thứ tự bảng chữ cái để mỗi ETF giữ nguyên vị trí cố định.
| Ticker | Đóng cửa trước | Mở cửa | Đóng cửa | Gap (%) | Biến động trong ngày (%) | Thay đổi (%) | Cao nhất | Thấp nhất | KL giao dịch (m) |
|---|---|---|---|---|---|---|---|---|---|
| DIA | 522.72 | 523.65 | 524.22 | 0.18 | 0.11 | 0.29 | 525.15 | 522.14 | 2.7 |
| IWM | 293.47 | 295.27 | 297.26 | 0.61 | 0.67 | 1.29 | 297.88 | 294.9 | 14.4 |
| QQQ | 711.3 | 718.33 | 723.19 | 0.99 | 0.68 | 1.67 | 724.23 | 715.12 | 27.8 |
| SPY | 745.31 | 747.35 | 751.64 | 0.27 | 0.57 | 0.85 | 751.97 | 745.59 | 32.5 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH prior AS (
SELECT ticker, argMax(close, window_start) AS prior_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
AND window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00'
GROUP BY ticker
),
sess AS (
SELECT ticker,
argMin(open, window_start) AS day_open,
argMax(close, window_start) AS day_close,
max(high) AS day_high,
min(low) AS day_low,
round(toFloat64(sum(volume)) / 1e6, 1) AS shares_traded_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
AND window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'
GROUP BY ticker
)
SELECT
s.ticker AS ticker,
round(toFloat64(p.prior_close), 2) AS prior_close,
round(toFloat64(s.day_open), 2) AS day_open,
round(toFloat64(s.day_close), 2) AS day_close,
round((toFloat64(s.day_open) / toFloat64(p.prior_close) - 1) * 100, 2) AS gap_pct,
round((toFloat64(s.day_close) / toFloat64(s.day_open) - 1) * 100, 2) AS intraday_pct,
round((toFloat64(s.day_close) / toFloat64(p.prior_close) - 1) * 100, 2) AS pct_change,
round(toFloat64(s.day_high), 2) AS day_high,
round(toFloat64(s.day_low), 2) AS day_low,
s.shares_traded_m
FROM sess s LEFT JOIN prior p ON s.ticker = p.ticker
ORDER BY tickerCả bốn quỹ đều đóng cửa trong sắc xanh. QQQ dẫn đầu với +1.67%, bao gồm khoảng trống giá +0.99% cộng với đà tăng +0.68%; quỹ vốn hóa nhỏ IWM đạt +1.29%, SPY tăng +0.85% lên mức $751.64, DIA theo sau với +0.29%. Nhóm tăng trưởng dẫn đầu, chỉ số Dow xếp cuối.
Ngày giao dịch có gì bất thường không?
Ở cấp độ chỉ số thì không: mức đóng cửa so với phiên trước của QQQ với +1.67% xếp hạng 10 trong số 21 phiên gần nhất về quy mô, còn mức mở cửa đến đóng cửa của SPY xếp hạng 8 trong số 22. Điểm kịch tính nằm ở giữa các nhóm cổ phiếu trong ngày.
| QQQ đóng cửa/đóng cửa (%) | Xếp hạng biến động QQQ | Số phiên QQQ so sánh | SPY mở cửa đến đóng cửa (%) | Xếp hạng biến động SPY | Số phiên SPY so sánh | Phiên đầu tiên |
|---|---|---|---|---|---|---|
| 1.67 | 10 | 21 | 0.57 | 8 | 22 | 2026-06-08 |
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
round(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-07-09')), 2) AS qqq_close_over_close_pct,
arrayCount(x -> x > abs(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-07-09'))), groupArrayIf(abs(cc_pct), ticker = 'QQQ' AND d != toDate('2026-07-09'))) + 1 AS qqq_abs_move_rank,
countIf(ticker = 'QQQ' AND isFinite(cc_pct)) AS qqq_sessions_compared,
round(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-07-09')), 2) AS spy_open_to_close_pct,
arrayCount(x -> x > abs(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-07-09'))), groupArrayIf(abs(oc_pct), ticker = 'SPY' AND d != toDate('2026-07-09'))) + 1 AS spy_abs_move_rank,
countIf(ticker = 'SPY') AS spy_sessions_compared,
toString(min(d)) AS first_session
FROM (
SELECT ticker, d,
if(isFinite(close_px / lagInFrame(close_px) OVER (PARTITION BY ticker ORDER BY d) - 1),
(close_px / lagInFrame(close_px) OVER (PARTITION BY ticker ORDER BY d) - 1) * 100, NULL) AS cc_pct,
oc_pct
FROM (
SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMax(toFloat64(close), window_start) AS close_px,
(argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS oc_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ')
AND window_start >= toDateTime('2026-06-08 13:30:00')
AND window_start < toDateTime('2026-07-10 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY ticker, d
)
)Độ rộng thị trường: phiên giao dịch rộng nhất trong tuần
| Mã tăng | Mã giảm | Không đổi | Ticker thanh khoản | GD cả 2 phiên | Loại do lọc thanh khoản | Tỷ lệ mã tăng (%) | Tỷ lệ mã tăng 8/7 (%) |
|---|---|---|---|---|---|---|---|
| 4263 | 1631 | 72 | 5966 | 11351 | 5385 | 71.5 | 29.6 |
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
countIf(close_9 > close_8 AND close_8 > 0 AND dv_9 >= 1000000) AS advancers,
countIf(close_9 < close_8 AND close_8 > 0 AND dv_9 >= 1000000) AS decliners,
countIf(close_9 = close_8 AND close_8 > 0 AND dv_9 >= 1000000) AS unchanged,
countIf(close_8 > 0 AND close_9 > 0 AND dv_9 >= 1000000) AS liquid_tickers,
countIf(close_8 > 0 AND close_9 > 0) AS traded_both_sessions,
countIf(close_8 > 0 AND close_9 > 0) - countIf(close_8 > 0 AND close_9 > 0 AND dv_9 >= 1000000) AS dropped_by_liquidity_filter,
round(100.0 * countIf(close_9 > close_8 AND close_8 > 0 AND dv_9 >= 1000000) / countIf(close_8 > 0 AND close_9 > 0 AND dv_9 >= 1000000), 1) AS advancer_pct,
round(100.0 * countIf(close_8 > close_7 AND close_7 > 0 AND dv_8 >= 1000000) / countIf(close_8 > 0 AND close_7 > 0 AND dv_8 >= 1000000), 1) AS jul8_advancer_pct
FROM (
SELECT ticker,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 20:00:00')) AS close_7,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')) AS close_8,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00')) AS close_9,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00') AS dv_9,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00') AS dv_8
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-09 20:00:00'
GROUP BY ticker
)4263 mã tăng so với 1631 mã giảm, tỷ lệ mã tăng đạt 71.5% sau khi đạt 29.6% vào thứ Tư, với cùng phương pháp tính toán và bộ lọc thanh khoản một triệu đô la (5385 trong tổng số 11351 mã không đạt ngưỡng này). So với các phiên còn lại trong tuần:
| Ngày | % SPY | % QQQ | Tỷ lệ mã tăng (%) | Mã thanh khoản |
|---|---|---|---|---|
| 2026-07-06 | 0.87 | 1.39 | 62.4 | 6189 |
| 2026-07-07 | -0.48 | -1.82 | 33.9 | 6189 |
| 2026-07-08 | -0.31 | 0.25 | 29.6 | 6162 |
| 2026-07-09 | 0.85 | 1.67 | 71.4 | 5973 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH per_day AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMax(toFloat64(close), window_start) AS c,
sum(toFloat64(close) * toFloat64(volume)) AS dv
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-09 20:00:00'
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY ticker, d
),
lagged AS (
SELECT ticker, d, c, dv,
lagInFrame(c) OVER (PARTITION BY ticker ORDER BY d) AS prev_c
FROM per_day
)
SELECT
toString(d) AS date,
round(anyIf((c / prev_c - 1) * 100, ticker = 'SPY'), 2) AS spy_pct,
round(anyIf((c / prev_c - 1) * 100, ticker = 'QQQ'), 2) AS qqq_pct,
round(100.0 * countIf(c > prev_c AND prev_c > 0 AND dv >= 1000000) / countIf(c > 0 AND prev_c > 0 AND dv >= 1000000), 1) AS advancer_pct,
countIf(c > 0 AND prev_c > 0 AND dv >= 1000000) AS liquid_names
FROM lagged
WHERE d >= toDate('2026-07-06')
GROUP BY d
ORDER BY dThứ Hai bắt đầu với 62.4% mã tăng, thứ Ba và thứ Tư giảm xuống lần lượt là 33.9% và 29.6%, và con số 71.4% của thứ Năm là mức cao nhất trong bốn phiên đã hoàn tất của tuần (ngày thứ Sáu mùng mười tháng Bảy diễn ra sau thời điểm tổng kết này). QQQ cũng ghi nhận diễn biến tương tự: -1.82% vào thứ Ba, 0.25% vào thứ Tư, và +1.67% vào thứ Năm.
Ngoài nhóm chip: thị trường đã giao dịch ra sao
Độ rộng thị trường cho thấy hầu hết các cổ phiếu đều tăng; nhưng không có nghĩa là đà tăng diễn ra đồng đều. Dưới đây là rổ cổ phiếu có trọng số ngang nhau gồm ba mã thanh khoản cao mỗi ngành, danh mục này được giữ cố định hàng ngày.
| Ngành | Tên mã | % thay đổi TB | % mã tệ nhất | % mã tốt nhất | % chênh lệch ngành tốt nhất |
|---|---|---|---|---|---|
| Semiconductors | 3 | 4.24 | 3.2 | 5.68 | 0 |
| Financials | 3 | 1.88 | 1.46 | 2.61 | -2.36 |
| Industrials | 3 | 0.42 | -1 | 1.4 | -3.82 |
| Healthcare | 3 | 0.22 | -1.62 | 1.41 | -4.02 |
| Big tech | 3 | 0.17 | -0.76 | 0.93 | -4.07 |
| Staples | 3 | -0.91 | -1.04 | -0.75 | -5.15 |
| Utilities | 3 | -0.96 | -1.28 | -0.41 | -5.21 |
| Energy | 3 | -2.01 | -2.54 | -1.06 | -6.25 |
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
sector,
count() AS names,
round(avg(pct_chg), 2) AS avg_pct_chg,
round(min(pct_chg), 2) AS worst_name_pct,
round(max(pct_chg), 2) AS best_name_pct,
round(avg(pct_chg) - max(avg(pct_chg)) OVER (), 2) AS gap_to_best_sector_pct
FROM (
SELECT
ticker,
multiIf(ticker IN ('AMD', 'AVGO', 'KLAC'), 'Semiconductors',
ticker IN ('AAPL', 'MSFT', 'GOOGL'), 'Big tech',
ticker IN ('JPM', 'BAC', 'GS'), 'Financials',
ticker IN ('CAT', 'HON', 'GE'), 'Industrials',
ticker IN ('XOM', 'CVX', 'COP'), 'Energy',
ticker IN ('JNJ', 'UNH', 'PFE'), 'Healthcare',
ticker IN ('KO', 'PG', 'WMT'), 'Staples',
'Utilities') AS sector,
(toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'))
/ toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')) - 1) * 100 AS pct_chg
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AMD', 'AVGO', 'KLAC', 'AAPL', 'MSFT', 'GOOGL', 'JPM', 'BAC', 'GS', 'CAT', 'HON', 'GE',
'XOM', 'CVX', 'COP', 'JNJ', 'UNH', 'PFE', 'KO', 'PG', 'WMT', 'NEE', 'DUK', 'SO')
AND window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-09 20:00:00'
GROUP BY ticker
)
GROUP BY sector
ORDER BY avg_pct_chg DESCSemiconductors dẫn đầu với mức tăng +4.24%, Energy theo sau ở mức -2.01%, tạo ra mức chênh lệch -6.25 điểm (gap_to_best_sector_pct). Nhóm Tài chính là rổ cổ phiếu phi công nghệ mạnh nhất với mức tăng +1.88%; trong khi nhóm Hàng tiêu dùng thiết yếu (-0.91%), Tiện ích (-0.96%) và Năng lượng đóng cửa trong sắc đỏ. Nhóm công nghệ lớn (AAPL, MSFT và GOOGL) đạt mức tăng trung bình khiêm tốn +0.17%. Cú đảo chiều từ giá mở cửa đến giá đóng cửa lớn nhất trong ngày là biến động +8.1% của META, nằm ngoài phạm vi của tám rổ cổ phiếu này; trong rổ này, biến động từ giá mở cửa -2.25% đến giá đóng cửa +0.33% của MSFT là cú đảo chiều mạnh nhất.
Diễn biến mở cửa và đà suy yếu của nhóm cổ phiếu bán dẫn
gap_pct là mức giá mở cửa so với giá đóng cửa ngày thứ Tư; intraday_pct là diễn biến phần còn lại trong ngày. Các hàng được sắp xếp theo thứ tự bảng chữ cái.
| Ticker | Đóng cửa trước | Mở cửa | Đóng cửa | Gap (%) | Biến động trong ngày (%) | % thay đổi | Giá trị giao dịch (tỷ $) |
|---|---|---|---|---|---|---|---|
| AMD | 517.26 | 537.26 | 546.66 | 3.87 | 1.75 | 5.68 | 12.15 |
| AVGO | 388.67 | 402.19 | 401.11 | 3.48 | -0.27 | 3.2 | 8.34 |
| INTC | 110.27 | 114.87 | 112.55 | 4.17 | -2.02 | 2.07 | 9.21 |
| KLAC | 221.03 | 239.02 | 229.51 | 8.14 | -3.98 | 3.84 | 2.29 |
| LRCX | 332.93 | 365.13 | 353.24 | 9.67 | -3.26 | 6.1 | 3.36 |
| MRVL | 231.66 | 246.18 | 243.33 | 6.27 | -1.16 | 5.04 | 4.04 |
| MU | 949.37 | 1016.51 | 990.5 | 7.07 | -2.56 | 4.33 | 33.56 |
| NVDA | 204.14 | 204.46 | 202.76 | 0.16 | -0.83 | -0.68 | 21.28 |
| SNDK | 1729.4 | 1835.61 | 1858.26 | 6.14 | 1.23 | 7.45 | 20.59 |
| SOXL | 174.84 | 199.81 | 192.44 | 14.28 | -3.69 | 10.07 | 7.8 |
| SOXS | 4.52 | 3.87 | 4.07 | -14.38 | 5.17 | -9.96 | 2.18 |
| STX | 859.68 | 922.28 | 889.79 | 7.28 | -3.52 | 3.5 | 3.64 |
| TER | 351.56 | 379.24 | 362.87 | 7.87 | -4.32 | 3.22 | 0.95 |
| WDC | 550.71 | 594.14 | 578.32 | 7.89 | -2.66 | 5.01 | 3.27 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-09 00:00:00')) AS prior_close,
toFloat64(argMinIf(open, window_start, window_start >= '2026-07-09 00:00:00')) AS day_open,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-09 00:00:00')) AS day_close,
maxIf(toFloat64(high), window_start >= '2026-07-09 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-07-09 00:00:00') AS day_low,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-09 00:00:00') / 1e9, 2) AS day_dollar_bn
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-08 13:30:00' AND window_start < '2026-07-08 20:00:00')
OR (window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'))
GROUP BY ticker
)
SELECT
ticker,
round(prior_close, 2) AS prior_close,
round(day_open, 2) AS day_open,
round(day_close, 2) AS day_close,
round((day_open / prior_close - 1) * 100, 2) AS gap_pct,
round((day_close / day_open - 1) * 100, 2) AS intraday_pct,
round((day_close / prior_close - 1) * 100, 2) AS pct_chg,
day_dollar_bn
FROM per_name
ORDER BY tickerKLAC mở cửa ở mức +8.14% so với giá đóng cửa ngày thứ Tư, sau đó giảm -3.98%; LRCX mở cửa ở mức +9.67% và giảm -3.26%; TER (+7.87%) và WDC (+7.89%) cũng có diễn biến tương tự. MU mở cửa tạo khoảng trống (gap) +7.07%, trượt -2.56%, nhưng vẫn đóng cửa ở mức +4.33% với khối lượng giao dịch 33.56 tỷ, đây là mã có khối lượng giao dịch lớn nhất thị trường trong phiên thứ hai liên tiếp (xem tóm tắt ngày thứ Tư để biết thông tin phiên trước). AMD và SNDK là những ngoại lệ: AMD tăng thêm 1.75% sau khi mở cửa ở mức +3.87% để kết phiên +5.68%, còn SNDK, vốn đã tăng +6.14% tại thời điểm mở cửa, tăng thêm 1.23% để đóng cửa ở mức +7.45%. Riêng NVDA: mở cửa ở mức +0.16%, không tạo khoảng trống, và đóng cửa ở mức -0.68%.
| 9/7 tăng | 9/7 giảm | 8/7 tăng | % NVDA 9/7 | % NVDA 8/7 | Số mã đếm được |
|---|---|---|---|---|---|
| 12 | 2 | 12 | -0.68 | 3.66 | 14 |
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
countIf(close_9 > close_8) AS jul9_green,
countIf(close_9 < close_8) AS jul9_red,
countIf(close_8 > close_7) AS jul8_green,
round(anyIf((close_9 / close_8 - 1) * 100, ticker = 'NVDA'), 2) AS nvda_jul9_pct,
round(anyIf((close_8 / close_7 - 1) * 100, ticker = 'NVDA'), 2) AS nvda_jul8_pct,
count() AS names_counted
FROM (
SELECT ticker,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 20:00:00')) AS close_7,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')) AS close_8,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00')) AS close_9
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-07 13:30:00' AND window_start < '2026-07-09 20:00:00'
GROUP BY ticker
)12 trong số mười bốn mã đóng cửa trong sắc xanh; 2 mã đóng cửa trong sắc đỏ là những trường hợp ngược lại, mang tính cấu trúc trong một ngày thị trường tăng điểm, cùng với NVDA ở mức -0.68%, chỉ một ngày sau khi đóng cửa tăng +3.66%. Mã cổ phiếu bán dẫn lớn nhất thị trường này đã đứng ngoài đà tăng của chính ngành mình trong khi lại là tâm điểm của các tin tức truyền thông.
Góc nhìn ngược lại: các cổ phiếu vốn hóa siêu lớn mở cửa giảm rồi hồi phục
| Ticker | Đóng cửa trước | Mở cửa | Đóng cửa | Gap (%) | Biến động trong ngày (%) | % thay đổi | Giá trị giao dịch (tỷ $) |
|---|---|---|---|---|---|---|---|
| AAPL | 313.26 | 310.51 | 316.17 | -0.88 | 1.82 | 0.93 | 11.14 |
| AMZN | 243.55 | 239.82 | 246.95 | -1.53 | 2.97 | 1.4 | 6.79 |
| CVX | 175.92 | 174.63 | 174.05 | -0.73 | -0.33 | -1.06 | 0.91 |
| GOOGL | 361.64 | 354.31 | 358.89 | -2.03 | 1.29 | -0.76 | 6.75 |
| JNJ | 263.36 | 260.63 | 259.1 | -1.04 | -0.59 | -1.62 | 1.25 |
| META | 603.03 | 583.99 | 631.31 | -3.16 | 8.1 | 4.69 | 12.69 |
| MSFT | 383.05 | 374.45 | 384.33 | -2.25 | 2.64 | 0.33 | 8.27 |
| TSLA | 393.92 | 393.99 | 406.56 | 0.02 | 3.19 | 3.21 | 12.67 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-09 00:00:00')) AS prior_close,
toFloat64(argMinIf(open, window_start, window_start >= '2026-07-09 00:00:00')) AS day_open,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-09 00:00:00')) AS day_close,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-09 00:00:00') / 1e9, 2) AS day_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AAPL', 'AMZN', 'CVX', 'GOOGL', 'JNJ', 'META', 'MSFT', 'TSLA')
AND ((window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')
OR (window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'))
GROUP BY ticker
)
SELECT
ticker,
round(prior_close, 2) AS prior_close,
round(day_open, 2) AS day_open,
round(day_close, 2) AS day_close,
round((day_open / prior_close - 1) * 100, 2) AS gap_pct,
round((day_close / day_open - 1) * 100, 2) AS intraday_pct,
round((day_close / prior_close - 1) * 100, 2) AS pct_chg,
day_dollar_bn
FROM per_name
ORDER BY tickerBảy trong số tám cổ phiếu mở cửa thấp hơn mức đóng cửa ngày thứ Tư; diễn biến sau đó đã tạo ra sự khác biệt. META mở cửa giảm -3.16% và tăng ngược +8.1% để đóng cửa ở mức 4.69%, đây là cú đảo chiều từ giá mở cửa đến giá đóng cửa mạnh nhất trong danh sách. MSFT mở cửa giảm -2.25% và hồi phục lên +0.33%; AMZN (+1.4%) và AAPL (+0.93%) cũng có diễn biến tương tự; TSLA không tạo khoảng trống giá (gap) và tăng lên +3.21%. Những cái tên duy trì đà giảm không thuộc nhóm tăng trưởng: GOOGL (-0.76%), CVX (-1.06%), JNJ (-1.62%). Tại sao cổ phiếu tạo khoảng trống giá qua đêm giải thích cơ chế này.
Dòng tiền giao dịch ở đâu
| Bảng xếp hạng | Ticker | Giá trị giao dịch (tỷ $) | Khối lượng (triệu) | Giá TB ngụ ý | % dẫn đầu bảng |
|---|---|---|---|---|---|
| by dollars traded | MU | 33.56 | 33.1 | 1013.9 | 100 |
| by dollars traded | SPY | 24.37 | 32.5 | 749.85 | 72.6 |
| by dollars traded | NVDA | 21.28 | 105.3 | 202.09 | 63.4 |
| by dollars traded | SNDK | 20.59 | 11 | 1871.82 | 61.4 |
| by dollars traded | QQQ | 20.04 | 27.8 | 720.86 | 59.7 |
| by dollars traded | META | 12.69 | 20.8 | 610.1 | 37.8 |
| by shares traded | SOXS | 2.18 | 558.1 | 3.91 | 100 |
| by shares traded | BITO | 2.79 | 326.2 | 8.55 | 58.4 |
| by shares traded | TZA | 0.65 | 164 | 3.96 | 29.4 |
| by shares traded | SNDQ | 0.34 | 137.4 | 2.47 | 24.6 |
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT leaderboard, ticker, dollar_volume_bn, shares_m,
round(1000 * dollar_volume_bn / shares_m, 2) AS implied_avg_price,
round(100 * if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m)
/ max(if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m)) OVER (PARTITION BY leaderboard), 1) AS pct_of_board_leader
FROM (
SELECT
'by dollars traded' AS leaderboard,
ticker,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'
AND ticker NOT IN ('SPCX')
GROUP BY ticker
ORDER BY dollar_volume_bn DESC
LIMIT 6
UNION ALL
SELECT
'by shares traded' AS leaderboard,
ticker,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'
AND ticker NOT IN ('SPCX')
GROUP BY ticker
ORDER BY shares_m DESC
LIMIT 4
)
ORDER BY leaderboard, pct_of_board_leader DESCMU tiếp tục dẫn đầu bảng xếp hạng giá trị giao dịch với 33.56 tỷ USD, xếp trên SPY (24.37 tỷ USD), NVDA (21.28 tỷ USD) và SNDK (20.59 tỷ USD); nhóm cổ phiếu bộ nhớ chiếm hai trong bốn vị trí dẫn đầu. Bảng xếp hạng theo khối lượng cổ phiếu là một thị trường khác: SOXS dẫn đầu với 558.1 triệu cổ phiếu, giá ngụ ý là 3.91 USD (khối lượng tương đối).
| Giờ ET | Khối lượng (tỷ) | % nhóm lớn nhất |
|---|---|---|
| 09:30 | 1.79 | 58.3 |
| 10:00 | 1.4 | 45.4 |
| 10:30 | 1.09 | 35.5 |
| 11:00 | 0.95 | 30.9 |
| 11:30 | 0.82 | 26.7 |
| 12:00 | 0.75 | 24.3 |
| 12:30 | 0.64 | 20.9 |
| 13:00 | 0.64 | 20.9 |
| 13:30 | 0.66 | 21.5 |
| 14:00 | 0.71 | 23 |
| 14:30 | 0.74 | 24.1 |
| 15:00 | 0.84 | 27.5 |
| 15:30 | 3.07 | 100 |
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
et_time,
round(sum(shares) / 1e9, 2) AS shares_bn,
round(100 * sum(shares) / max(sum(shares)) OVER (), 1) AS pct_of_biggest_bucket
FROM
(
SELECT
formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
toFloat64(volume) AS shares
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'
UNION ALL
SELECT
'15:30' AS et_time,
toFloat64(size) AS shares
FROM global_markets.stocks_trades
WHERE sip_timestamp >= '2026-07-09 20:00:00' AND sip_timestamp < '2026-07-09 20:15:00'
AND has(conditions, 8)
)
GROUP BY et_time
ORDER BY et_timeMột mô hình chữ U điển hình: khối lượng giao dịch đầu phiên đạt 1.79 tỷ cổ phiếu (chiếm 58.3% khối lượng lớn nhất), đáy giữa phiên là 0.64 tỷ cổ phiếu, và nửa giờ phiên khớp lệnh đóng cửa là thời điểm sôi động nhất trong ngày với 3.07 tỷ cổ phiếu. Ngay cả trong một ngày mà xu hướng được định hình từ lúc mở cửa, khối lượng giao dịch vẫn tập trung mạnh nhất vào thời điểm đóng cửa.
Bảng điện quyền chọn
| Lệnh quyền chọn (tr) | Hợp đồng (tr) | Hợp đồng Jul8 (tr) | Tỷ trọng Call (%) | Tỷ lệ 0DTE (%) | Tỷ lệ 0DTE Jul8 (%) | SPY đóng cửa | Top 1 mã cơ sở | Top 1 giá thực hiện | Top 1 loại | Top 1 hợp đồng (nghìn) | Top 1 giá TB | Top 1 là 0DTE | Top 2 mã cơ sở | Top 2 giá thực hiện | Top 2 loại | Top 2 là 0DTE | Top 3 mã cơ sở | Top 3 giá thực hiện | Top 3 loại | Top 3 là 0DTE | Top 1 moneyness |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 9.99 | 58.85 | 63.26 | 58 | 28.7 | 38.7 | 751.64 | SPY | 751 | C | 846.6 | 0.526 | 1 | SPY | 752 | C | 1 | SPY | 750 | C | 1 | -0.64 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH
(
SELECT (groupArray(und), groupArray(strike), groupArray(typ), groupArray(vol), groupArray(avg_px), groupArray(is_0dte))
FROM (
SELECT any(underlying_symbol) AS und, any(toFloat64(strike_price)) AS strike, any(option_type) AS typ,
sum(size) AS vol, round(avg(toFloat64(price)), 3) AS avg_px,
if(substring(ticker, length(ticker) - 14, 6) = '260709', 1, 0) AS is_0dte
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'
GROUP BY ticker
ORDER BY vol DESC
LIMIT 3
)
) AS top3,
(
SELECT round(toFloat64(argMax(close, window_start)), 2)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'
) AS spy_regular_close,
(
SELECT round(toFloat64(sum(size)) / 1e6, 2)
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-08 00:00:00' AND sip_timestamp < '2026-07-09 00:00:00'
) AS jul8_contracts_m,
(
SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260708') / sum(size), 1)
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-08 00:00:00' AND sip_timestamp < '2026-07-09 00:00:00'
) AS jul8_pct_0dte
SELECT
round(count() / 1e6, 2) AS option_prints_m,
round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
jul8_contracts_m,
round(100.0 * sumIf(size, option_type = 'C') / sum(size), 1) AS call_pct_of_volume,
round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260709') / sum(size), 1) AS pct_0dte,
jul8_pct_0dte,
spy_regular_close,
top3.1[1] AS top1_und, top3.2[1] AS top1_strike, top3.3[1] AS top1_type,
round(toFloat64(top3.4[1]) / 1e3, 1) AS top1_contracts_k, top3.5[1] AS top1_avg_px, top3.6[1] AS top1_is_0dte,
top3.1[2] AS top2_und, top3.2[2] AS top2_strike, top3.3[2] AS top2_type, top3.6[2] AS top2_is_0dte,
top3.1[3] AS top3_und, top3.2[3] AS top3_strike, top3.3[3] AS top3_type, top3.6[3] AS top3_is_0dte,
round(toFloat64(top3.2[1]) - spy_regular_close, 2) AS top1_moneyness
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'Bảng điện ghi nhận 9.99 triệu lệnh và 58.85 triệu hợp đồng, thấp hơn mức 63.26 triệu của thứ Tư, với quyền chọn mua (call option) chiếm 58% khối lượng, tỷ trọng 0DTE giảm xuống 28.7% từ 38.7%. Ba hợp đồng giao dịch sôi động nhất đều là các call option SPY đáo hạn trong ngày, gồm 751C (846.6 nghìn hợp đồng, giá trung bình $0.526), 752C và 750C, tạo thành một thang giá quanh mức đóng cửa $751.64 của SPY (quyền chọn 0DTE bao quát sản phẩm này).
Phòng vệ hay đặt cược? Một vị thế phòng vệ sẽ mua các giá thực hiện (strike price) xa giá thị trường; một vị thế đặt cược sẽ mua theo hướng kỳ vọng.
| Nhóm giá thực hiện | Hợp đồng Call (nghìn) | Hợp đồng Put (nghìn) | Tỷ trọng Call (%) |
|---|---|---|---|
| Strike >2% below close | 1.8 | 146.8 | 1.2 |
| Strike 0.5-2% below | 255.4 | 1356.5 | 15.8 |
| Strike within 0.5% | 3768.9 | 2563.3 | 59.5 |
| Strike 0.5-2% above | 29.1 | 2.7 | 91.6 |
| Strike >2% above close | 0.3 | 0.3 | 49 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH (
SELECT toFloat64(argMax(close, window_start))
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'
) AS spy_close
SELECT
multiIf(dist < -2, 'Strike >2% below close',
dist < -0.5, 'Strike 0.5-2% below',
dist <= 0.5, 'Strike within 0.5%',
dist <= 2, 'Strike 0.5-2% above',
'Strike >2% above close') AS strike_bucket,
round(toFloat64(sumIf(size, option_type = 'C')) / 1e3, 1) AS call_contracts_k,
round(toFloat64(sumIf(size, option_type = 'P')) / 1e3, 1) AS put_contracts_k,
round(100.0 * sumIf(size, option_type = 'C') / sum(size), 1) AS call_share_pct
FROM (
SELECT option_type, size, (toFloat64(strike_price) / spy_close - 1) * 100 AS dist
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'
AND underlying_symbol = 'SPY'
AND substring(ticker, length(ticker) - 14, 6) = '260709'
)
GROUP BY strike_bucket
ORDER BY min(dist)Bảng điện trong ngày tập trung tại giá thị trường: 3768.9 nghìn call và 2563.3 nghìn put nằm trong phạm vi nửa phần trăm so với giá đóng cửa (59.5% là call). Các vùng biên (wing) phân hóa theo hướng, dưới mức đóng cửa, 1356.5 nghìn put so với 255.4 nghìn call (tỷ trọng call 1.2% ở các mức giá thấp hơn); phía trên mức đóng cửa, call chiếm 91.6% trong nhóm 29.1 nghìn hợp đồng mỏng hơn nhiều. Khối lượng ở vùng biên tập trung vào các giá thực hiện phía dưới, nơi nhà đầu tư mua sự bảo vệ: một thang giá tại tiền (at-the-money), không phải thang giá phía trên.
Băng báo giá
| Cập nhật Jul9 (tr) | Cập nhật Jul8 (tr) | Thay đổi theo ngày (%) | Cập nhật SPY Jul9 (tr) | Cập nhật QQQ Jul9 (tr) | Cập nhật NVDA Jul9 (tr) | Cập nhật TSLA Jul9 (tr) | Cập nhật MU Jul9 (tr) |
|---|---|---|---|---|---|---|---|
| 383.44 | 530.55 | -27.7 | 2.71 | 4.35 | 1.83 | 0.46 | 0.72 |
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
round(countIf(toDate(sip_timestamp) = toDate('2026-07-09')) / 1e6, 2) AS jul9_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-08')) / 1e6, 2) AS jul8_updates_m,
round((countIf(toDate(sip_timestamp) = toDate('2026-07-09')) / countIf(toDate(sip_timestamp) = toDate('2026-07-08')) - 1) * 100, 1) AS day_over_day_pct,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-09') AND ticker = 'SPY') / 1e6, 2) AS jul9_spy_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-09') AND ticker = 'QQQ') / 1e6, 2) AS jul9_qqq_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-09') AND ticker = 'NVDA') / 1e6, 2) AS jul9_nvda_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-09') AND ticker = 'TSLA') / 1e6, 2) AS jul9_tsla_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-09') AND ticker = 'MU') / 1e6, 2) AS jul9_mu_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-08 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'Dữ liệu đáng chú ý nhất trong ngày: 383.44 triệu cập nhật NBBO trên băng báo giá cổ phiếu, so với -27.7% vào thứ Tư. Sự biến động tập trung ở các mức giá, thay vì tần suất giao dịch tại điểm chạm. QQQ dẫn đầu các mã niêm yết với 4.35 triệu, vượt qua SPY với 2.71 triệu và NVDA với 1.83 triệu.
| Ticker | Spread trung vị (bps) |
|---|---|
| SPY | 0.27 |
| QQQ | 0.42 |
| NVDA | 0.99 |
| TSLA | 2.27 |
| AVGO | 3.06 |
| MU | 4.23 |
| SNDK | 8.79 |
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
ticker,
round(quantileExact(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000), 2) AS median_spread_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'QQQ', 'NVDA', 'TSLA', 'MU', 'SNDK', 'AVGO')
AND sip_timestamp >= '2026-07-09 13:30:00' AND sip_timestamp < '2026-07-09 20:00:00'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
GROUP BY ticker
ORDER BY median_spread_bps ASCChênh lệch giá mua-bán (spread) trung vị của SPY ghi nhận ở mức 0.27 bps, QQQ là 0.42, NVDA là 0.99, đây là những con số bình thường. Các mã có spread rộng hơn gồm: MU ở mức 4.23 bps, SNDK ở mức 8.79 bps (chênh lệch giá mua-bán là chi phí mà chỉ số này đo lường).
| Spread TB Jul9 (cents) | Xếp hạng độ chặt | Phiên so sánh | Phiên chặt nhất (cents) | Phiên rộng nhất (cents) | Phiên đầu tiên |
|---|---|---|---|---|---|
| 2.071 | 10 | 22 | 1.809 | 2.865 | 2026-06-08 |
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
round(anyIf(avg_spread_cents, d = toDate('2026-07-09')), 3) AS jul9_avg_spread_cents,
arrayCount(x -> x < anyIf(avg_spread_cents, d = toDate('2026-07-09')), groupArrayIf(avg_spread_cents, d != toDate('2026-07-09'))) + 1 AS tightness_rank,
count() AS sessions_compared,
round(min(avg_spread_cents), 3) AS tightest_session_cents,
round(max(avg_spread_cents), 3) AS widest_session_cents,
toString(min(d)) AS first_session
FROM (
SELECT toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS d,
avgIf(toFloat64(ask_price - bid_price), bid_price > 0 AND ask_price >= bid_price) * 100 AS avg_spread_cents
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPY'
AND sip_timestamp >= toDateTime('2026-06-08 00:00:00')
AND sip_timestamp < toDateTime('2026-07-10 00:00:00')
AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
GROUP BY d
)Chênh lệch giá mua-bán trung bình của SPY là 2.071 cent, xếp thứ 10 trong số 22 phiên gần nhất, nằm trong phạm vi từ 1.809 đến 2.865 cent: không có áp lực nào trên bảng báo giá, ngay cả tại thời điểm mở cửa.
| Options 9/7 (tỷ) | Tỷ lệ options/cổ phiếu | Options SPY 9/7 (triệu) |
|---|---|---|
| 6.9 | 18 | 242 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH
(SELECT count() FROM global_markets.cache_options_quotes WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00') AS jul9_options_rows,
(SELECT count() FROM global_markets.cache_stocks_quotes WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00') AS jul9_stock_quote_rows
SELECT
round(jul9_options_rows / 1e9, 2) AS jul9_options_bn,
round(jul9_options_rows / jul9_stock_quote_rows, 1) AS options_to_stock_ratio,
round((SELECT count() FROM global_markets.cache_options_quotes WHERE ticker >= 'O:SPY26' AND ticker < 'O:SPY27' AND sip_timestamp >= '2026-07-09 13:30:00' AND sip_timestamp < '2026-07-09 20:00:00') / 1e6, 0) AS jul9_spy_options_mBăng báo giá quyền chọn ghi nhận 6.9 tỷ cập nhật NBBO, gấp 18 lần băng báo giá cổ phiếu, riêng mã gốc SPY đã chiếm 242 triệu.
Lãi suất: dữ liệu ngày 9 tháng 7
| Dòng print 9/7 | Ngày print mới nhất | 2Y mới nhất (%) | 10Y mới nhất (%) | 30Y mới nhất (%) | 2s10s mới nhất (%) |
|---|---|---|---|---|---|
| 1 | 2026-07-09 | 4.16 | 4.54 | 5.05 | 0.38 |
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
(SELECT count() FROM global_markets.treasury_yields WHERE date = '2026-07-09') AS jul9_print_rows,
toString(any(date)) AS latest_print_date,
round(toFloat64(any(yield_2_year)), 2) AS latest_2y_pct,
round(toFloat64(any(yield_10_year)), 2) AS latest_10y_pct,
round(toFloat64(any(yield_30_year)), 2) AS latest_30y_pct,
round(toFloat64(any(yield_10_year)) - toFloat64(any(yield_2_year)), 2) AS latest_2s10s_pct
FROM global_markets.treasury_yields
WHERE date = '2026-07-09'Dữ liệu trái phiếu kho bạc ngày 9 tháng 7 được ghi nhận sau khi hoàn tất bài viết, theo độ trễ thông thường của tệp lợi suất hàng ngày, với hàng 1 hiện đã được lưu trữ. Đường cong lợi suất trong ngày (2026-07-09): kỳ hạn 2 năm 4.16%, kỳ hạn 10 năm 4.54%, kỳ hạn 30 năm 5.05%, chênh lệch 2s10s là 0.38 điểm, trong đó kỳ hạn 2 năm giảm nhẹ so với mức của ngày 8 tháng 7 trong khi các kỳ hạn dài vẫn giữ nguyên.
Lịch trình trong ngày
| Ghi nhận ngày GDKHQ | Splits đã thực hiện | Reverse splits | Forward splits | Hồ sơ 424b2 | Hồ sơ Form 4 | Hồ sơ 8K | Tổng hồ sơ | Bài báo | Nhà xuất bản tin | Ticker tin nổi bật | Số lượng tin nổi bật | Khoảng cách tin nổi bật | Tin nổi bật là NVDA |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 127 | 6 | 5 | 1 | 606 | 623 | 149 | 2981 | 184 | 3 | NVDA | 20 | 8 | 1 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH
(
SELECT (count(), uniqExact(publisher))
FROM global_markets.stocks_news
WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-09'
) AS news,
(
SELECT (argMax(t, (n, t)), max(n), max(n) - arraySort(x -> -x, groupArray(n))[2])
FROM (
SELECT t, count() AS n
FROM (
SELECT arrayJoin(tickers) AS t
FROM global_markets.stocks_news
WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-09'
)
WHERE t != 'SPCX'
GROUP BY t
)
) AS top_news
SELECT
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-09') AS ex_dividend_records,
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date = '2026-07-09') AS splits_executed,
(SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-09') AS reverse_splits,
(SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-09') AS forward_splits,
(SELECT countIf(form_type = '424B2') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-09') AS fil_424b2,
(SELECT countIf(form_type = '4') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-09') AS fil_form4,
(SELECT countIf(form_type = '8-K') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-09') AS fil_8k,
(SELECT count() FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-09') AS fil_total,
news.1 AS news_articles, news.2 AS news_publishers,
top_news.1 AS top_news_ticker, top_news.2 AS top_news_n, top_news.3 AS top_news_lead_over_next,
if(top_news.1 = 'NVDA', 1, 0) AS top_news_is_nvdaMột lịch trình thường nhật trong bối cảnh thị trường mở cửa không bình thường: 127 hồ sơ ngày giao dịch không hưởng quyền, 5 đợt gộp cổ phiếu, 1 đợt chia tách cổ phiếu, 2981 hồ sơ gửi SEC (623 Mẫu 4, 606 424B2, 149 8-K). Luồng dữ liệu ghi nhận 184 bài viết từ 3 nhà xuất bản; ticker được đưa tin nhiều nhất là NVDA, với 20 bài viết, 8 vượt xa cái tên tiếp theo.
Sắp tới
Dựa trên dữ liệu của chúng tôi, đây là các thông tin thực tế cho phiên giao dịch tiếp theo, không phải dự báo.
| Ngày phiên kế tiếp | Dòng ngày nghỉ phiên kế tiếp | Ghi nhận GDKHQ kế tiếp | GDKHQ cổ phiếu lớn kế tiếp | Hợp đồng đáo hạn SPY kế tiếp (triệu) | Hợp đồng đáo hạn tháng SPY (triệu) | Quyết toán short mới nhất | Dòng short 15/7 |
|---|---|---|---|---|---|---|---|
| 2026-07-10 | 0 | 153 | 0 | 1.66 | 0.57 | 2026-06-15 | 0 |
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
toString(min(d)) AS next_session_date,
(SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-10') AS next_session_holiday_rows,
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-10') AS ex_div_records_next,
(SELECT countIf(ticker IN ('AAPL', 'MSFT', 'JNJ', 'KO', 'PG', 'XOM', 'CVX', 'JPM', 'WMT', 'PEP', 'HON', 'CAT'))
FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-10') AS household_ex_div_next,
(SELECT round(toFloat64(sum(size)) / 1e6, 2) FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'
AND underlying_symbol = 'SPY' AND substring(ticker, length(ticker) - 14, 6) = '260710') AS spy_next_expiry_contracts_m,
(SELECT round(toFloat64(sum(size)) / 1e6, 2) FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'
AND underlying_symbol = 'SPY' AND substring(ticker, length(ticker) - 14, 6) = '260717') AS spy_monthly_expiry_contracts_m,
(SELECT toString(max(settlement_date)) FROM global_markets.stocks_short_interest
WHERE _ingest_time < '2026-07-11 00:00:00') AS latest_short_settlement,
(SELECT count() FROM global_markets.stocks_short_interest
WHERE settlement_date = '2026-07-15' AND _ingest_time < '2026-07-11 00:00:00') AS jul15_short_rows
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-10 00:00:00' AND window_start < '2026-07-14 00:00:00'
)Phiên giao dịch tiếp theo là 2026-07-10, với 0 hàng ngày lễ: một ngày thứ Sáu bình thường. 153 công ty sẽ vào ngày giao dịch không hưởng quyền (ex-dividend date) vào sáng hôm đó, trong đó có 0 công ty nằm trong danh sách các thương hiệu quen thuộc của chúng tôi. Hợp đồng quyền chọn SPY đáo hạn vào thứ Sáu là kỳ hạn xa có khối lượng giao dịch lớn nhất hiện nay, với 1.66 triệu hợp đồng vào ngày 9 tháng Bảy so với 0.57 triệu hợp đồng cho kỳ đáo hạn tháng Bảy. Về dữ liệu lãi suất bán khống (short interest): kỳ chốt sổ gần nhất là 2026-06-15, với 0 hàng dữ liệu chưa được công bố cho giữa tháng Bảy, FINRA thường công bố khoảng tám ngày làm việc sau ngày chốt sổ (tại sao dữ liệu lãi suất bán khống lại có độ trễ hai tuần).
Phiên giao dịch đã xác thực
| Thanh SPY đầu (ET) | Thanh SPY cuối (ET) | Thanh phút SPY | Thanh phiên thường | Các phiên trong ngày | Dòng nghỉ lễ 9/7 | Ngày đóng cửa kế tiếp | Nhãn đóng cửa kế tiếp | Tên đóng cửa kế tiếp |
|---|---|---|---|---|---|---|---|---|
| 04:00 | 19:59 | 885 | 390 | 1 | 0 | 2026-09-07 | September 7, 2026 | Labor Day |
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
formatDateTime(min(toTimeZone(window_start, 'America/New_York')), '%H:%i') AS first_spy_bar_et,
formatDateTime(max(toTimeZone(window_start, 'America/New_York')), '%H:%i') AS last_spy_bar_et,
count() AS spy_minute_bars,
countIf(window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00') AS regular_session_bars,
uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00') AS day_sessions,
(SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-09') AS jul9_holiday_rows,
(SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-09' AND status = 'closed') AS next_closure_date,
(SELECT concat(monthName(min(date)), ' ', toString(toDayOfMonth(min(date))), ', ', toString(toYear(min(date))))
FROM global_markets.stocks_market_holidays WHERE date > '2026-07-09' AND status = 'closed') AS next_closure_label,
(SELECT argMin(name, date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-09' AND status = 'closed') AS next_closure_name
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-09 00:00:00' AND window_start < '2026-07-10 00:00:00'Một phiên giao dịch thông thường đầy đủ: thanh SPY đầu tiên lúc 04:00 ET, thanh cuối cùng lúc 19:59 ET, với 390 thanh một phút tiêu chuẩn, không có hàng dữ liệu ngày lễ. Ngày đóng cửa tiếp theo: Labor Day, September 7, 2026.
Câu hỏi thường gặp
Điều gì đã xảy ra trên thị trường chứng khoán vào ngày 9 tháng 7 năm 2026?
Mọi ETF chỉ số đều đóng cửa ở mức cao hơn, QQQ +1.67%, IWM +1.29%, SPY +0.85%, DIA +0.29%, 71.5% các cổ phiếu có tính thanh khoản cao đều tăng giá. Các mã thiết bị bán dẫn mở cửa tạo khoảng trống tăng giá (gap up) rồi suy yếu; các cổ phiếu vốn hóa siêu lớn mở cửa tạo khoảng trống giảm giá (gap down) rồi hồi phục.
Tại sao các cổ phiếu thiết bị bán dẫn như KLAC và LRCX lại tăng vọt vào ngày 9 tháng 7 năm 2026?
Dữ liệu của chúng tôi không ghi nhận lý do cụ thể: không có bài báo hay hồ sơ SEC nào cho KLAC, LRCX, TER hoặc WDC từ lúc đóng cửa phiên thứ Tư đến hết phiên thứ Năm. Biến động này đã được phản ánh vào giá từ trước giờ mở cửa, trước 9 giờ 30 sáng theo giờ ET.
Tại sao NVDA giảm trong khi ngành bán dẫn tăng điểm?
NVDA đóng cửa ở mức -0.68% trong khi 12 trên mười bốn mã cổ phiếu ngành bán dẫn đóng cửa trong sắc xanh. Cổ phiếu này không tạo khoảng trống giá (0.16% tại thời điểm mở cửa) và là ticker được đưa tin nhiều nhất với 20 bài báo, sự xuất hiện đồng thời đã được ghi nhận, nhưng nguyên nhân không nằm trong dữ liệu này.
Ngày 9 tháng 7 năm 2026 có phải là một ngày bất thường đối với thị trường không?
Xét ở cấp độ chỉ số thì không: biến động của QQQ xếp hạng 10 trong số 21 phiên gần nhất tính theo quy mô, spread trung bình của SPY xếp hạng 10 trong số 22. Độ phân tán bên dưới là: -6.25 điểm giữa rổ ngành tốt nhất và tệ nhất.
Ghi chú dữ liệu
Giờ giao dịch chính thức là 13:30–20:00 UTC (9:30 sáng–4:00 chiều giờ ET); bảng dữ liệu tiền thị trường (premarket) sử dụng khung giờ 08:00–13:30 UTC. Tám rổ ngành được chọn lọc và tính trọng số ngang nhau, mỗi rổ gồm ba mã chứng khoán có tính thanh khoản cao, với mọi ticker được liệt kê trong SQL của bảng đó. Đây là phương pháp đã công bố, không phải phân loại theo nhà cung cấp: ba mã này chỉ đại diện cho chính chúng, không đại diện cho toàn bộ ngành. Bảng dữ liệu chất xúc tác (catalyst) chỉ tính toán dựa trên nguồn tin của chúng tôi và chỉ số EDGAR.
Ghi chú dữ liệu đầy đủ
Các bảng dữ liệu theo từng ticker được sắp xếp theo thứ tự bảng chữ cái, vì vậy mỗi tham chiếu trong bài viết đều trỏ đến một hàng cố định; các bảng xếp hạng được sắp xếp theo giá trị, mọi tuyên bố về vị thế đều có giới hạn. Các lệnh giao dịch trái phiếu kho bạc (treasury print) và dữ liệu thanh toán lãi suất bán khống (short-interest settlement) giữa tháng Bảy hiện có không hàng dữ liệu, sự xuất hiện của chúng sẽ khiến bài viết này phải được viết lại.
Phương pháp luận
- Nguồn dữ liệu: SQL của mỗi bảng chỉ định các bảng riêng, dữ liệu tổng hợp theo phút, bộ nhớ đệm NBBO của cổ phiếu và quyền chọn, các giao dịch quyền chọn, nguồn tin tức của chúng tôi, chỉ số EDGAR, cổ tức, lãi suất bán khống, ngày nghỉ lễ, lợi suất trái phiếu kho bạc.
- Bảng khối lượng tính nửa giờ cuối phiên bao gồm các lệnh khớp tại phiên đóng cửa. Các thanh dữ liệu một phút loại bỏ mọi lệnh khớp tại phiên này, vì vậy bảng nửa giờ sẽ cộng thêm từng giao dịch có điều kiện khớp lệnh đóng cửa, được đóng dấu thời gian từ 4:00 đến 4:15 chiều giờ ET trên băng tin tổng hợp, vào nhóm dữ liệu cuối cùng của nó.
- Quy ước: các giá trị UTC thô trong mệnh đề WHERE, chỉ sử dụng nhãn ET trong mệnh đề SELECT; khoảng cách (gap) = giá mở cửa của thanh giao dịch thường đầu tiên ÷ giá đóng cửa của phiên thường trước đó − một; các số liệu của phiên trước và tuần trước được tính toán trực tiếp trong truy vấn, không bao giờ lấy từ bài viết trước đó. Kho dữ liệu tính đến ngày 13 tháng bảy năm 2026.