Strasmore Research
Tổng hợp thị trường Matt ConnorBởi Matt Connor · Cập nhật 2026-08-08

Tổng kết thị trường 29/6/2026 bằng con số

Ngày 29/6/2026: chỉ số tăng nhờ nhóm tăng trưởng, chênh lệch ngành bốn điểm, cổ phiếu chip nhớ quay đầu, 0DTE và lãi suất. Xem bảng số liệu chi tiết.

Thứ Hai, ngày 29 tháng 6 năm 2026, là một phiên tăng điểm do nhóm tăng trưởng dẫn dắt, với phạm vi dẫn dắt hẹp: QQQ tăng 2.57%, SPY tăng 1.62%; 3968 mã có thanh khoản cao tăng giá so với 2327 mã giảm giá, nhưng gần một nửa số nhóm ngành đều đóng cửa trong sắc đỏ. Mọi con số đều được lấy từ truy vấn đã lưu; hãy mở rộng bất kỳ bảng nào để xem SQL. Lớp dữ liệu theo từng giao dịch của cùng phiên: phân tích chuyên sâu về vi cấu trúc ngày 29 tháng 6.

Bảng tổng hợp

Mỗi thay đổi đều so sánh nến phút cuối của phiên giao dịch thông thường ngày 29 tháng 6 với nến tương ứng của thứ Sáu, ngày 26 tháng 6.

Truy vấnSPY / QQQ / DIA / IWM: ngày 29/6 so với giá đóng cửa ngày 26/6, giờ giao dịch chính thức
tickerGiá đóng cửa ngày 26/6Giá mở cửa ngày 29/6Giá đóng cửa ngày 29/6% thay đổi% so với mức thay đổi tốt nhấtCao nhất trong ngàyThấp nhất trong ngàyKhối lượng cổ phiếu giao dịch (triệu)
DIA517.5520.63521.680.8131.5522.975519.45.5
IWM297.61298.11298.950.4517.5299.16294.6821.7
QQQ705.84713.99723.952.57100724.58705.17238.5
SPY729.09736.525740.881.6263741.56732.0946
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH friday AS (
    SELECT ticker, argMax(close, window_start) AS friday_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
      AND window_start >= '2026-06-26 13:30:00' AND window_start < '2026-06-26 20:00:00'
    GROUP BY ticker
),
monday AS (
    SELECT ticker,
           argMin(open, window_start) AS monday_open,
           argMax(close, window_start) AS monday_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-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
    GROUP BY ticker
)
SELECT
    m.ticker AS ticker,
    toFloat64(f.friday_close) AS jun26_close,
    toFloat64(m.monday_open) AS jun29_open,
    toFloat64(m.monday_close) AS jun29_close,
    round((toFloat64(m.monday_close) / toFloat64(f.friday_close) - 1) * 100, 2) AS pct_change,
    round(100 * (toFloat64(m.monday_close) / toFloat64(f.friday_close) - 1) / max(toFloat64(m.monday_close) / toFloat64(f.friday_close) - 1) OVER (), 1) AS pct_of_best_change,
    toFloat64(m.day_high) AS day_high,
    toFloat64(m.day_low) AS day_low,
    m.shares_traded_m AS shares_traded_m
FROM monday m
JOIN friday f ON m.ticker = f.ticker
ORDER BY m.ticker
Tự chạy truy vấn này

SPY mở cửa ở mức $736.525, so với giá đóng cửa $729.09 của thứ Sáu, và kết phiên ở mức $740.88, thấp hơn mức cao nhất $741.56. Mức tăng +2.57% của QQQ so với +0.81% của DIA cho thấy đây là phiên nghiêng về nhóm cổ phiếu tăng trưởng và công nghệ; IWM vốn hóa nhỏ tăng thêm 0.45%.

Ngày này có bất thường không?

Một mức biến động phần trăm không có nhiều ý nghĩa nếu thiếu thước đo đối chiếu. Bảng này xếp hạng ngày 29/6 so với tháng liền trước, dựa trên độ lớn tuyệt đối của biến động giá đóng cửa qua các phiên.

Truy vấnQQQ và SPY: ngày 29/6 xếp hạng so với tháng giao dịch liền trước (hạng 1 = biến động tuyệt đối lớn nhất)
QQQ: % thay đổi giá đóng cửaQQQ: xếp hạng biến động tuyệt đốiQQQ: số phiên được so sánhQQQ: % biến động lớn nhất trong thángQQQ: số phiên tăngSPY: % thay đổi giá đóng cửaSPY: xếp hạng biến động tuyệt đốiSPY: số phiên được so sánhSPY: % thay đổi từ mở cửa đến đóng cửaPhiên đầu tiên
2.575214.76101.624210.59May 29, 2026
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-06-29')), 2) AS qqq_close_over_close_pct,
    arrayCount(x -> x > abs(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-06-29'))), groupArrayIf(abs(cc_pct), ticker = 'QQQ' AND d != toDate('2026-06-29'))) + 1 AS qqq_abs_move_rank,
    countIf(ticker = 'QQQ') AS qqq_sessions_compared,
    round(max(if(ticker = 'QQQ', abs(cc_pct), 0)), 2) AS qqq_biggest_move_of_month_pct,
    countIf(ticker = 'QQQ' AND cc_pct > 0) AS qqq_up_sessions,
    round(anyIf(cc_pct, ticker = 'SPY' AND d = toDate('2026-06-29')), 2) AS spy_close_over_close_pct,
    arrayCount(x -> x > abs(anyIf(cc_pct, ticker = 'SPY' AND d = toDate('2026-06-29'))), groupArrayIf(abs(cc_pct), ticker = 'SPY' AND d != toDate('2026-06-29'))) + 1 AS spy_abs_move_rank,
    countIf(ticker = 'SPY') AS spy_sessions_compared,
    round(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-06-29')), 2) AS spy_open_to_close_pct,
    concat(monthName(min(d)), ' ', toString(toDayOfMonth(min(d))), ', ', toString(toYear(min(d)))) AS first_session
FROM (
    SELECT ticker, d,
           (close_px / lagInFrame(close_px) OVER (PARTITION BY ticker ORDER BY d) - 1) * 100 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-05-28 00:00:00')
          AND window_start < toDateTime('2026-06-30 00:00:00')
          AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
        GROUP BY ticker, d
    )
)
WHERE isFinite(cc_pct)
Tự chạy truy vấn này

Lớn, nhưng chưa phải kỷ lục: biến động 2.57% của QQQ xếp hạng 5 trong số 21 phiên kể từ May 29, 2026, trong một tháng mà biến động đơn phiên lớn nhất là 4.76%; biến động 1.62% của SPY xếp hạng 4 trong số 21 phiên. Nguồn gốc của biến động cũng rất quan trọng: mức tăng từ giá mở cửa đến giá đóng cửa của SPY chỉ là 0.59%, vì vậy phần lớn mức tăng hình thành trong khoảng gap qua đêm, trước khi xuất hiện một bar trong giờ giao dịch chính thức. QQQ đóng cửa cao hơn trong 10 phiên đó: một tháng gần như tung đồng xu.

Độ rộng thị trường: đà tăng lan rộng đến đâu?

Một mã tăng giá là ticker có giá đóng cửa phiên thứ Hai cao hơn phiên thứ Sáu, trong nhóm các mã có giá trị giao dịch ít nhất 1 triệu USD. Bộ lọc này loại 5,108 trong số 11,475 ticker giao dịch ở cả hai phiên.

Truy vấnCổ phiếu tăng giá so với giảm giá trong các ticker có giá trị giao dịch ít nhất $1M vào ngày 29/6
Mã tăng giáMã giảm giáKhông đổiticker thanh khoảnticker giao dịch trong cả hai phiênNhãn ticker giao dịch trong cả hai phiênLoại do bộ lọc thanh khoảnNhãn loại do bộ lọc thanh khoản% mã tăng giá
396823277263671147511,47551085,10862.3
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH per_ticker AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-06-27 00:00:00')) AS friday_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-29 00:00:00')) AS monday_close,
        sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-06-29 00:00:00') AS monday_dollar_volume
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE (window_start >= '2026-06-26 13:30:00' AND window_start < '2026-06-26 20:00:00')
       OR (window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00')
    GROUP BY ticker
)
SELECT
    countIf(monday_close > friday_close AND monday_dollar_volume >= 1000000) AS advancers,
    countIf(monday_close < friday_close AND monday_dollar_volume >= 1000000) AS decliners,
    countIf(monday_close = friday_close AND monday_dollar_volume >= 1000000) AS unchanged,
    countIf(monday_dollar_volume >= 1000000) AS liquid_tickers,
    count() AS tickers_traded_both_sessions,
    reverse(arrayStringConcat(extractAll(reverse(toString(count())), '[0-9]{1,3}'), ',')) AS tickers_traded_both_sessions_label,
    count() - countIf(monday_dollar_volume >= 1000000) AS dropped_by_liquidity_filter,
    reverse(arrayStringConcat(extractAll(reverse(toString(count() - countIf(monday_dollar_volume >= 1000000))), '[0-9]{1,3}'), ',')) AS dropped_by_liquidity_filter_label,
    round(100.0 * countIf(monday_close > friday_close AND monday_dollar_volume >= 1000000)
        / countIf(monday_dollar_volume >= 1000000), 1) AS advancer_pct
FROM per_ticker
WHERE friday_close > 0 AND monday_close > 0
Tự chạy truy vấn này

3968 mã tăng giá, 2327 mã giảm giá, 72 mã đứng giá: 62.3% số mã có thanh khoản cao tăng, tính từng mã một. Đây là một phiên tăng có độ rộng lớn.

Phân tích theo từng nhóm ngành: đà tăng hẹp hơn so với bề ngoài

Đếm các mã với tỷ trọng ngang nhau là một cách nhìn; phân bổ tỷ trọng theo quy mô doanh nghiệp là cách khác. Mười một ETF ngành SPDR là cách viết tắt cho phương pháp thứ hai: mỗi ETF đại diện cho một rổ cổ phiếu theo từng ngành, với tỷ trọng theo giá trị vốn hóa thị trường trong S&P 500. Kết quả này khác biệt rõ rệt so với số lượng cổ phiếu tăng giảm.

Truy vấn11 nhóm ngành: ngày 29/6 so với giá đóng cửa ngày 26/6, giờ giao dịch chính thức
Ngànhticker% thay đổiBiên độ (%)Giá trị giao dịch (triệu)% cao hơn ngành kém nhất
TechnologyXLK2.523.9120754.34
Consumer discretionaryXLY2.372.1711424.2
Communication servicesXLC1.660.786693.48
IndustrialsXLI0.891.2312312.72
FinancialsXLF0.280.6415932.1
Health careXLV0.260.7618972.08
UtilitiesXLU-0.321.187591.5
Consumer staplesXLP-0.381.237641.44
EnergyXLE-0.521.5110981.3
Real estateXLRE-0.641.452171.18
MaterialsXLB-1.822.286260
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH per_etf AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-06-27 00:00:00')) AS friday_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-29 00:00:00')) AS monday_close,
        maxIf(toFloat64(high), window_start >= '2026-06-29 00:00:00') AS day_high,
        minIf(toFloat64(low), window_start >= '2026-06-29 00:00:00') AS day_low,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-06-29 00:00:00') / 1e6, 0) AS dollar_volume_m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('XLB', 'XLC', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')
      AND ((window_start >= '2026-06-26 13:30:00' AND window_start < '2026-06-26 20:00:00')
        OR (window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'))
    GROUP BY ticker
)
SELECT
    sector,
    ticker,
    round((monday_close / friday_close - 1) * 100, 2) AS pct_change,
    round((day_high / day_low - 1) * 100, 2) AS range_pct,
    dollar_volume_m,
    round((monday_close / friday_close - 1) * 100 - min((monday_close / friday_close - 1) * 100) OVER (), 2) AS pct_above_worst_sector
FROM (
    SELECT *,
        multiIf(ticker = 'XLB', 'Materials',
                ticker = 'XLC', 'Communication services',
                ticker = 'XLE', 'Energy',
                ticker = 'XLF', 'Financials',
                ticker = 'XLI', 'Industrials',
                ticker = 'XLK', 'Technology',
                ticker = 'XLP', 'Consumer staples',
                ticker = 'XLRE', 'Real estate',
                ticker = 'XLU', 'Utilities',
                ticker = 'XLV', 'Health care',
                'Consumer discretionary') AS sector
    FROM per_etf
)
ORDER BY pct_change DESC
Tự chạy truy vấn này

Công nghệ dẫn đầu ở mức 2.52%, tiếp đến là hàng tiêu dùng không thiết yếu ở mức 2.37%; vật liệu đóng cửa tại -1.82% và bất động sản tại -0.64%. Chênh lệch giữa ngành tăng mạnh nhất và giảm mạnh nhất trong ngày, tức độ phân tán giữa các ngành, đạt 4.34 điểm phần trăm. Tiện ích, hàng tiêu dùng thiết yếu, năng lượng, bất động sản và vật liệu đều giảm trong khi chỉ số tăng. Nếu xét theo số lượng mã, đà tăng có vẻ rộng; nhưng xét theo tỷ trọng, đà tăng lại hẹp. Đó là điều mức tăng của một quỹ chỉ số có thể che giấu.

Điểm nhấn trong ngày: bộ nhớ và lưu trữ

Bốn mã cổ phiếu cùng giao dịch theo một chủ đề, nhưng kết quả rất khác nhau. Dữ liệu chỉ cho thấy mức độ và biên độ đồng biến, không cho biết nguyên nhân.

Truy vấnCác mã memory/storage: thay đổi so với giá đóng cửa thứ Sáu và biên độ trong ngày
tickerGiá đóng cửa ngày 26/6Giá đóng cửa ngày 29/6% thay đổiCao nhất trong ngàymức cao trong ngày (ET)Thấp nhất trong ngàymức thấp trong ngày (ET)Biên độ (%)
MU1122.9211451.971148.7915:591023.6510:1812.22
SNDK2091.082051.29-1.92090.7109:30189510:1810.33
STX895.27968.48.17987.5714:48880.0110:0012.22
WDC586.32651.711.15652.9815:5959009:3110.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-06-27 00:00:00')) AS friday_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-29 00:00:00')) AS monday_close,
        maxIf(toFloat64(high), window_start >= '2026-06-29 00:00:00') AS day_high,
        minIf(toFloat64(low), window_start >= '2026-06-29 00:00:00') AS day_low,
        argMinIf(window_start, toFloat64(low), window_start >= '2026-06-29 00:00:00') AS low_bar,
        argMaxIf(window_start, toFloat64(high), window_start >= '2026-06-29 00:00:00') AS high_bar
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('MU', 'SNDK', 'STX', 'WDC')
      AND ((window_start >= '2026-06-26 13:30:00' AND window_start < '2026-06-26 20:00:00')
        OR (window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'))
    GROUP BY ticker
)
SELECT
    ticker,
    round(friday_close, 2) AS jun26_close,
    round(monday_close, 2) AS jun29_close,
    round((monday_close / friday_close - 1) * 100, 2) AS pct_chg,
    round(day_high, 2) AS day_high,
    formatDateTime(toTimeZone(high_bar, 'America/New_York'), '%H:%i') AS day_high_et,
    round(day_low, 2) AS day_low,
    formatDateTime(toTimeZone(low_bar, 'America/New_York'), '%H:%i') AS day_low_et,
    round((day_high / day_low - 1) * 100, 2) AS range_pct
FROM per_name
ORDER BY ticker
Tự chạy truy vấn này

MU là ví dụ điển hình về sự khác biệt giữa biên độ dao động và thay đổi ròng: biên độ trong phiên là 12.22%, mức thấp $1023.65 lúc 10:18 ET, mức cao $1148.79 tại 15:59, nhưng đóng cửa cao hơn thứ Sáu 1.97%. Western Digital tăng 11.15% và Seagate tăng 8.17%; SanDisk đóng cửa giảm -1.9% trong biên độ 10.33%, là mã duy nhất trong nhóm đóng cửa thấp hơn. Giá đóng cửa che khuất những gì người nắm giữ thực sự trải qua.

Dòng tiền giao dịch ở đâu

Xét theo giá trị giao dịch, Micron (MU) vượt xa mọi mã khác, kể cả các quỹ chỉ số: $58.47 tỷ so với $33.97 tỷ của SPY. Nhưng xét theo số cổ phiếu, kết quả lại khác.

Truy vấnCác mã dẫn đầu về volume theo hai cách: top 6 theo giá trị giao dịch, top 4 theo số cổ phiếu giao dịch
tickerbảng xếp hạngkhối lượng giao dịch (tỷ USD)giá trị USD (triệu)cổ phiếu (triệu)% so với mã dẫn đầu bảng
MUby dollars traded58.47None53.5100
SPYby dollars traded33.97None4658.1
QQQby dollars traded27.67None38.547.3
NVDAby dollars traded21.66None111.837
TSLAby dollars traded20.66None51.435.3
SNDKby dollars traded19.73None1033.7
SOXSby shares traded2.84None695.3100
INLFby shares traded0.0223353.850.9
TZAby shares traded1.3None330.747.6
BITOby shares traded2.03None250.736.1
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT ticker, leaderboard, dollar_volume_bn, if(dollar_volume_bn < 1, dollar_volume_m, NULL) AS dollar_value_m, shares_m,
    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(close) * toFloat64(volume)) / 1e6, 0) AS dollar_volume_m,
        round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
    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(close) * toFloat64(volume)) / 1e6, 0) AS dollar_volume_m,
        round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
    GROUP BY ticker
    ORDER BY shares_m DESC
    LIMIT 4
)
ORDER BY leaderboard ASC, if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m) DESC
Tự chạy truy vấn này

Bảng xếp hạng theo số cổ phiếu có thể gây hiểu lầm. Các mã dẫn đầu là SOXS, ETF semiconductor inverse đòn bẩy 3x (695.3 triệu cổ phiếu), và INLF, một penny stock có 353.8 triệu cổ phiếu được giao dịch với tổng giá trị khoảng $23 triệu trong cả ngày. Giá trị giao dịch cho thấy dòng tiền dịch chuyển ở đâu; relative volume cho biết mức độ hoạt động của một mã có bất thường so với chính mã đó hay không.

Nếu chia theo các khung 30 phút tại New York, ngày 29 tháng 6 cho thấy đường cong khối lượng “hình nụ cười” điển hình:

Truy vấnSố cổ phiếu giao dịch theo mỗi khung 30 phút, giờ giao dịch chính thức (tỷ cổ phiếu)
giờ ETcổ phiếu (tỷ)% so với nhóm lớn nhất% trên mức đáy
09:302.396.3199.9
10:001.979.5147.6
10:301.4259.485.1
11:001.2351.660.6
11:301.146.243.7
12:000.9138.218.8
12:300.8535.410.4
13:000.9238.620.2
13:300.7732.10
14:000.8234.26.4
14:300.8234.57.4
15:001.054436.9
15:302.39100211.4
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
    formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
    round(sum(toFloat64(volume)) / 1e9, 2) AS shares_bn,
    round(100 * sum(toFloat64(volume)) / max(sum(toFloat64(volume))) OVER (), 1) AS pct_of_biggest_bucket,
    round(100 * (sum(toFloat64(volume)) / min(sum(toFloat64(volume))) OVER () - 1), 1) AS pct_above_trough
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
GROUP BY et_time
ORDER BY et_time
Tự chạy truy vấn này

2.3 tỷ cổ phiếu trong nửa giờ đầu, chạm đáy ở mức 0.77 tỷ vào lúc 13:30, và đạt mức cao nhất là 2.39 tỷ trong nửa giờ cuối. Đây là thời điểm đấu giá đóng cửa và các dòng tiền bám theo chỉ số tập trung.

Bảng giao dịch quyền chọn

Quyền chọn ghi nhận 66.33 triệu hợp đồng qua 11.04 triệu giao dịch khớp lệnh.

Truy vấnMột dòng cho toàn bộ ngày giao dịch options: volume, 0DTE, tuần bị dịch do ngày lễ
giao dịch quyền chọn (triệu)hợp đồng (triệu)% quyền chọn call trong khối lượng% đáo hạn trong ngàyhợp đồng đáo hạn Thứ Năm 2/7 (triệu)giao dịch Thứ Sáu 3/7giao dịch trước giờ mở cửanhãn giao dịch trước giờ mở cửagiao dịch trước giờ mở cửa, không gồm chỉ sốtài sản cơ sở trước giờ mở cửahợp đồng SPY (triệu)hợp đồng QQQ (triệu)tài sản cơ sở của hợp đồng hàng đầugiá thực hiện của hợp đồng hàng đầuloại hợp đồng hàng đầungày đáo hạn của hợp đồng hàng đầukhối lượng hợp đồng hàng đầunhãn khối lượng hợp đồng hàng đầugiá bình quân hợp đồng hàng đầugiá thực hiện hàng đầu trừ giá đóng cửa SPY
11.0466.3355.735.810.7304062140,6210RUTW, SPX, SPXW, VIX, VIXW, XSP12.017.32SPY741C2026-06-29788133788,1330.4740.12
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH
    (
        SELECT (any(underlying_symbol), any(toFloat64(strike_price)), any(option_type),
                any(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))),
                sum(size), count(), round(avg(toFloat64(price)), 3))
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'
        GROUP BY ticker
        ORDER BY sum(size) DESC
        LIMIT 1
    ) AS top_contract,
    (
        SELECT round(toFloat64(argMax(close, window_start)), 2)
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
    ) AS spy_regular_close
SELECT
    round(count() / 1e6, 2) AS option_prints_m,
    round(toFloat64(sum(size)) / 1e6, 2) AS 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) = '260629') / sum(size), 1) AS same_day_expiry_pct,
    round(toFloat64(sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260702')) / 1e6, 2) AS thu_jul2_expiry_contracts_m,
    countIf(substring(ticker, length(ticker) - 14, 6) = '260703') AS fri_jul3_expiry_prints,
    countIf(sip_timestamp < '2026-06-29 13:30:00') AS premarket_prints,
    reverse(arrayStringConcat(extractAll(reverse(toString(countIf(sip_timestamp < '2026-06-29 13:30:00'))), '[0-9]{1,3}'), ',')) AS premarket_prints_label,
    countIf(sip_timestamp < '2026-06-29 13:30:00'
        AND underlying_symbol NOT IN ('SPX', 'SPXW', 'XSP', 'RUTW', 'VIX', 'VIXW')) AS premarket_non_index_prints,
    arrayStringConcat(arraySort(groupUniqArrayIf(underlying_symbol, sip_timestamp < '2026-06-29 13:30:00')), ', ') AS premarket_underlyings,
    round(toFloat64(sumIf(size, underlying_symbol = 'SPY')) / 1e6, 2) AS spy_contracts_m,
    round(toFloat64(sumIf(size, underlying_symbol = 'QQQ')) / 1e6, 2) AS qqq_contracts_m,
    top_contract.1 AS top_contract_underlying,
    top_contract.2 AS top_contract_strike,
    top_contract.3 AS top_contract_type,
    top_contract.4 AS top_contract_expiry,
    top_contract.5 AS top_contract_volume,
    reverse(arrayStringConcat(extractAll(reverse(toString(assumeNotNull(top_contract.5))), '[0-9]{1,3}'), ',')) AS top_contract_volume_label,
    round(top_contract.7, 3) AS top_contract_avg_price,
    round(top_contract.2 - spy_regular_close, 2) AS top_strike_minus_spy_close
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'
Tự chạy truy vấn này

Quyền chọn mua (call option) chiếm 55.7% tổng khối lượng hợp đồng. 35.8% tổng số hợp đồng giao dịch hết hạn ngay trong ngày thứ Hai đó, tỷ trọng quyền chọn đáo hạn trong ngày (0DTE). Hợp đồng đơn lẻ sôi động nhất là quyền chọn mua SPY đáo hạn trong ngày, với giá thực hiện $741: 788,133 hợp đồng được giao dịch ở mức premium bình quân $0.474. Giá đóng cửa của SPY thấp hơn giá thực hiện 0.12 USD, nên quyền chọn được giao dịch nhiều nhất trong ngày kết thúc ở trạng thái out of the money. SPY có 12.01 triệu hợp đồng được giao dịch với tư cách tài sản cơ sở; QQQ có 7.32 triệu.

Bảng này cũng ghi nhận 40,621 giao dịch quyền chọn trước khi thị trường cổ phiếu mở cửa lúc 9:30. Tất cả đều thuộc các chỉ số thanh toán bằng tiền mặt (RUTW, SPX, SPXW, VIX, VIXW, XSP). Trong cùng khung giờ, có 0 giao dịch quyền chọn cổ phiếu hoặc ETF. Đây là quy định, không phải sự tình cờ: quyền chọn chỉ số có các phiên giao dịch toàn cầu kéo dài, còn quyền chọn trên cổ phiếu và ETF mở cửa cùng thị trường cổ phiếu. Cổ phiếu được giao dịch sớm, trong phiên trước giờ mở cửa và sau giờ đóng cửa, nhưng quyền chọn của chúng thì không.

Không có hợp đồng nào mang mã đáo hạn thứ Sáu, ngày 3 tháng 7 được giao dịch trong cả ngày (0 giao dịch). Thị trường đóng cửa vào thứ Sáu đó, trong khi các hợp đồng đáo hạn vào thứ Năm, ngày 2 tháng 7, ghi nhận 10.73 triệu hợp đồng được giao dịch.

Bảng giá: chi phí giao dịch trong ngày

Mọi mức giá trên trang này đều lấy từ luồng báo giá National Best Bid and Offer, được cập nhật liên tục cho từng mã niêm yết. Khoảng cách giữa giá bid tốt nhất và giá offer tốt nhất, spread bid-ask, là chi phí mà một lệnh phải trả để khớp qua spread.

Truy vấnChi phí để vượt qua spread: cập nhật NBBO và độ rộng quoted trung vị, giờ giao dịch chính thức
tickercập nhật NBBO (triệu)spread trung vị (bps)spread 30 phút đầu phiên (bps)spread giữa phiên (bps)Giá mở cửa trừ giữa ngày (bps)Bỏ qua báo giá không hợp lệ
MU0.754.66.554.112.44414
QQQ4.420.840.980.550.42629
SPY3.980.410.410.270.141544
WDC0.128.214.337.556.7843
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
    ticker,
    round(count() / 1e6, 2) AS nbbo_updates_m,
    round(quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price >= bid_price), 2) AS median_spread_bps,
    round(quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price >= bid_price AND sip_timestamp >= '2026-06-29 13:30:00' AND sip_timestamp < '2026-06-29 14:00:00'), 2) AS open_30min_spread_bps,
    round(quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price >= bid_price AND sip_timestamp >= '2026-06-29 17:00:00' AND sip_timestamp < '2026-06-29 17:30:00'), 2) AS midday_spread_bps,
    round(quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price >= bid_price AND sip_timestamp >= '2026-06-29 13:30:00' AND sip_timestamp < '2026-06-29 14:00:00')
        - quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price >= bid_price AND sip_timestamp >= '2026-06-29 17:00:00' AND sip_timestamp < '2026-06-29 17:30:00'), 2) AS open_minus_midday_bps,
    countIf(NOT (bid_price > 0 AND ask_price >= bid_price)) AS dropped_invalid_quotes
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'QQQ', 'MU', 'WDC')
  AND sip_timestamp >= '2026-06-29 13:30:00' AND sip_timestamp < '2026-06-29 20:00:00'
GROUP BY ticker
ORDER BY ticker
Tự chạy truy vấn này

Độ rộng báo giá trung vị của SPY bằng 0.41 điểm cơ bản so với giá giữa, trong khi QQQ là 0.84, Micron là 4.6 và Western Digital là 8.2, rộng nhất trong bốn mã. Một điểm cơ bản của lệnh trị giá $10.000 tương đương một đô la. Vì vậy, mua rồi bán ngay $10.000 SPY theo giá báo sẽ tốn khoảng $0.41; cùng giao dịch khứ hồi đó với Western Digital sẽ tốn $8.2. Quy mô giao dịch không thay đổi; chính mã cổ phiếu mới tạo ra khác biệt.

Cả bốn mã đều có spread rộng hơn trong nửa giờ đầu phiên so với khung đối chứng giữa ngày. Với SPY, mức này là 0.41 bps so với 0.27; với Western Digital là 14.33 so với 7.55. Điều đó tương đương mức phí bảo hiểm đầu phiên 6.78 bps ở mã có spread rộng nhất. Tần suất cập nhật là phần còn lại: SPY có 3.98 triệu lần cập nhật NBBO trong giờ giao dịch chính thức, còn QQQ có 4.42 triệu.

Lãi suất: đường cong hầu như không biến động

Thị trường Trái phiếu Kho bạc Mỹ trải qua phiên thứ Hai yên ắng. Lợi suất là mức đóng cửa trong ngày, thay đổi so với ngày 26 tháng 6.

Truy vấnĐường cong Treasury, giá đóng cửa ngày 29/6 so với ngày 26/6 (chỉ các kỳ hạn có dữ liệu)
Điểm trên đường congLợi suất ngày 29/6 (%)Biến động 1 ngày (bp)
1 month3.711
3 month3.874
1 year3.973
2 year4.13
5 year4.142
10 year4.380
30 year4.86-1
2s10s spread0.28-3
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
    t.1 AS curve_point,
    round(t.2, 2) AS jun29_yield_pct,
    round((t.2 - t.3) * 100) AS one_day_change_bp
FROM (
    SELECT arrayJoin([
        ('1 month',  toFloat64(mon.yield_1_month),  toFloat64(fri.yield_1_month)),
        ('3 month',  toFloat64(mon.yield_3_month),  toFloat64(fri.yield_3_month)),
        ('1 year',   toFloat64(mon.yield_1_year),   toFloat64(fri.yield_1_year)),
        ('2 year',   toFloat64(mon.yield_2_year),   toFloat64(fri.yield_2_year)),
        ('5 year',   toFloat64(mon.yield_5_year),   toFloat64(fri.yield_5_year)),
        ('10 year',  toFloat64(mon.yield_10_year),  toFloat64(fri.yield_10_year)),
        ('30 year',  toFloat64(mon.yield_30_year),  toFloat64(fri.yield_30_year)),
        ('2s10s spread', toFloat64(mon.yield_10_year - mon.yield_2_year), toFloat64(fri.yield_10_year - fri.yield_2_year))
    ]) AS t
    FROM (SELECT * FROM global_markets.treasury_yields WHERE date = '2026-06-29') AS mon,
         (SELECT * FROM global_markets.treasury_yields WHERE date = '2026-06-26') AS fri
)
Tự chạy truy vấn này

Lợi suất kỳ hạn 10 năm đóng cửa ở mức 4.38%, không đổi trong ngày (0 điểm cơ bản), trong khi tín phiếu kỳ hạn 3 tháng tăng 4 điểm cơ bản lên 3.87%. spread 2s10s, tức chênh lệch giữa lợi suất kỳ hạn 10 năm và 2 năm, đóng cửa ở mức 0.28 điểm phần trăm (-3 điểm cơ bản): vẫn dương nhưng đường cong phẳng hơn đôi chút.

Lịch phía sau ngày giao dịch

Truy vấnLịch doanh nghiệp và luồng thông tin ngày 29/6, trong một dòng
Hồ sơ không hưởng cổ tức ngày 29/6Cổ phiếu tên tuổi không hưởng cổ tứcSố cổ phiếu tên tuổi đã kiểm traNgày không hưởng cổ tức sôi động nhất trong kỳHồ sơ trong ngày không hưởng cổ tức sôi động nhấtCác đợt chia tách đã thực hiệnIPO niêm yết ngày 29/6IPO ra mắt ngày 1/7Hồ sơ SECHồ sơ bản cáo bạch 424B2Hồ sơ Form 4 của nội bộHồ sơ 8-KBài viết tin tứcNhà xuất bản tin tứcBài viết về NVDABài viết được đưa tin nhiều thứ haiNVDA trừ cổ phiếu được đưa tin nhiều thứ haiHồ sơ chia tách HONHON chia tách từHON chia tách thànhGiá đóng cửa HON ngày 26/6Giá đóng cửa HON ngày 29/6
449025July 1746230BSP, ITG, LIME617314731277231170314122121231.3227.71
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH
    (
        SELECT (argMax(d, n), max(n))
        FROM (
            SELECT ex_dividend_date AS d, count() AS n
            FROM global_markets.stocks_dividends
            WHERE ex_dividend_date BETWEEN '2026-06-22' AND '2026-07-02'
            GROUP BY d
        )
    ) AS peak_ex_div,
    (
        SELECT (countIf(form_type = '424B2'), countIf(form_type = '4'), countIf(form_type = '8-K'), count())
        FROM global_markets.stocks_sec_edgar_index
        WHERE filing_date = '2026-06-29'
    ) AS filings,
    (
        SELECT (count(), uniqExact(publisher), countIf(has(tickers, 'NVDA')))
        FROM global_markets.stocks_news
        WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-06-29'
    ) AS news,
    (
        SELECT max(n)
        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-06-29'
            )
            WHERE t NOT IN ('NVDA', 'SPCX')
            GROUP BY t
        )
    ) AS runner_up_articles,
    (
        SELECT (any(split_from), any(split_to), count())
        FROM global_markets.stocks_splits
        WHERE ticker = 'HON' AND execution_date = '2026-06-29'
    ) AS hon_split,
    (
        SELECT (
            round(toFloat64(argMaxIf(close, window_start, window_start < '2026-06-27 00:00:00')), 2),
            round(toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-29 00:00:00')), 2)
        )
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'HON'
          AND ((window_start >= '2026-06-26 13:30:00' AND window_start < '2026-06-26 20:00:00')
            OR (window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'))
    ) AS hon_close
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-06-29') AS ex_dividend_records_jun29,
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-06-29'
        AND ticker IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'GOOGL', 'GOOG', 'META', 'TSLA', 'JPM', 'JNJ',
                       'XOM', 'KO', 'PG', 'V', 'MA', 'HD', 'WMT', 'CVX', 'MRK', 'PEP',
                       'SPY', 'QQQ', 'DIA', 'IWM', 'VTI')) AS household_name_ex_dividends,
    length(['AAPL', 'MSFT', 'NVDA', 'AMZN', 'GOOGL', 'GOOG', 'META', 'TSLA', 'JPM', 'JNJ',
            'XOM', 'KO', 'PG', 'V', 'MA', 'HD', 'WMT', 'CVX', 'MRK', 'PEP',
            'SPY', 'QQQ', 'DIA', 'IWM', 'VTI']) AS household_names_checked,
    concat(monthName(peak_ex_div.1), ' ', toString(toDayOfMonth(peak_ex_div.1))) AS busiest_ex_div_day_of_window,
    peak_ex_div.2 AS busiest_ex_div_day_records,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date = '2026-06-29') AS splits_executed,
    (SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-06-29') AS ipos_listed_jun29,
    (SELECT arrayStringConcat(groupArray(ticker), ', ') FROM (
        SELECT ticker FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-01' ORDER BY ticker
    )) AS jul1_ipo_debuts,
    filings.4 AS sec_filings,
    filings.1 AS prospectus_424b2_filings,
    filings.2 AS insider_form4_filings,
    filings.3 AS filings_8k,
    news.1 AS news_articles,
    news.2 AS news_publishers,
    news.3 AS nvda_articles,
    runner_up_articles AS next_most_covered_articles,
    news.3 - runner_up_articles AS nvda_minus_next_most_covered,
    hon_split.3 AS hon_split_records,
    hon_split.1 AS hon_split_from,
    hon_split.2 AS hon_split_to,
    hon_close.1 AS hon_close_jun26,
    hon_close.2 AS hon_close_jun29
Tự chạy truy vấn này

449 hồ sơ cổ tức chuyển sang ngày giao dịch không hưởng quyền vào ngày 29 tháng 6. Bạn phải sở hữu cổ phiếu trước ngày giao dịch không hưởng quyền thì mới được nhận khoản chi trả. Tuy nhiên, trong số 25 doanh nghiệp quen thuộc mà chúng tôi kiểm tra, chỉ có 0 doanh nghiệp xuất hiện. Làn sóng hồ sơ cuối quý đạt đỉnh ở 746 hồ sơ vào July 1. Có 23 đợt chia tách cổ phiếu được thực hiện và 0 IPO niêm yết. Các mã ra mắt vào thứ Tư (BSP, ITG, LIME) đã có trong lịch.

SEC ghi nhận 6173 hồ sơ đề ngày 29 tháng 6. Trong đó có 1473 bản bổ sung định giá sản phẩm cấu trúc (mẫu 424B2) và 1277 báo cáo giao dịch nội bộ (Mẫu 4). Số này vượt xa 231 báo cáo 8-K thường xuất hiện trên các bản tin. News feed của chúng tôi có 170 bài viết từ 3 nhà xuất bản. Sau khi loại một ticker được gắn nhãn không rõ ràng và bị dùng lại (đã loại khỏi truy vấn), cái tên được đưa tin nhiều nhất là NVDA với 14 bài viết, so với 12 bài của mã đứng thứ hai.

Ghi chú dữ liệu

Dữ liệu bất thường được ghi chú, không âm thầm loại bỏ. Bốn điểm dưới đây tác động đến các con số chính.

  • Các nhóm ngành được xác định theo một phương pháp nhất quán. “Sector” ở đây có nghĩa là 11 ETF ngành SPDR, phân bổ theo giá trị vốn hóa thị trường và giữ nguyên các mã trong mỗi phiên. Đây không phải là phân loại theo từng ticker của một nhà cung cấp dữ liệu.
  • Dollar volume là một chỉ báo theo phút, được tính bằng giá đóng cửa × khối lượng rồi cộng theo từng thanh một phút. Con số này gần với tổng giá trị các giao dịch khớp lệnh, nhưng không hoàn toàn giống.
  • Spread niêm yết loại trừ các báo giá không hợp lệ (bản ghi NBBO một chiều hoặc bị chéo). Bảng dữ liệu ghi nhận số báo giá bị loại (1544 trên SPY). Độ rộng báo giá trung vị là một thống kê về báo giá, không phải chi phí của từng giao dịch; lệnh thường được khớp bên trong mức giá chào mua/chào bán.
  • Một giao dịch đơn lẻ có thể làm sai lệch mức cao hoặc thấp của một thanh một phút. Thanh QQQ lúc 11:07 ET ghi nhận mức thấp $709.58, trong khi không có thanh liền kề nào giảm dưới $715.09. Một giao dịch duy nhất thấp hơn $5.51 so với thị trường tại cùng thời điểm. Mọi mức cao và thấp nêu trên đều được đối chiếu với các thanh liền kề. Mức thấp trong phiên của QQQ là $705.172 đã vượt qua bước kiểm tra này.
Ghi chú dữ liệu đầy đủ
  • Phạm vi dữ liệu trái phiếu Kho bạc hẹp hơn so với schema. Bốn kỳ hạn được giới thiệu (6 tháng, 3 năm, 7 năm và 20 năm) chưa từng có dữ liệu. Đường cong hiển thị bảy kỳ hạn hiện có, cùng với dòng 2s10s.
  • Một giao dịch “reverse split” của Honeywell bị dữ liệu giao dịch phủ nhận. Nguồn dữ liệu có bản ghi HON 1, ngày 29 tháng 6: một reverse split chuyển đổi 2 cổ phiếu cũ thành 1 cổ phiếu mới. HON đóng cửa ở mức $231.3 vào thứ Sáu và $227.71 vào thứ Hai, không hề tăng gấp đôi. Chúng tôi không áp dụng điều chỉnh này.
  • Số lượng tin tức đến từ nguồn cấp dữ liệu của một nhà cung cấp, gồm 3 đơn vị xuất bản mà chúng tôi theo dõi, không phải “toàn bộ tin tức thị trường”.
  • Các bản ghi giao dịch ở cấp tick, báo giá bị chéo, phần điều chỉnh khối lượng ảo, tệp short volume của FINRA bị cắt ngắn (và lý do short volume không phải short interest), được trình bày trong phần phân tích chuyên sâu.

Phiên giao dịch đã được xác minh

Truy vấnKiểm tra phiên: khoảng thời gian minute-bar quan sát được của SPY và phiên đóng cửa thứ Sáu trên tape
Các nến SPY ngày 3/7Nến SPY đầu tiên (ET)bar SPY cuối cùng (ET)bar phút SPYbar phiên chínhmức thấp đơn lẻ QQQ 1107mức thấp bar liền kề QQQ 1107print đơn lẻ QQQ thấp hơn mức liền kề
004:0019:59897390709.58715.095.51
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH
    (
        SELECT (
            round(toFloat64(minIf(low, formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') = '11:07')), 2),
            round(toFloat64(minIf(low, formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') IN ('11:04', '11:05', '11:06', '11:08', '11:09', '11:10'))), 2)
        )
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'QQQ' AND window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
    ) AS qqq_lone
SELECT
    (SELECT count() FROM global_markets.delayed_stocks_minute_aggs
     WHERE ticker = 'SPY' AND window_start >= '2026-07-03 00:00:00' AND window_start < '2026-07-04 00:00:00') AS jul3_spy_bars,
    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-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00') AS regular_session_bars,
    qqq_lone.1 AS qqq_1107_lone_low,
    qqq_lone.2 AS qqq_1107_adjacent_bars_low,
    round(qqq_lone.2 - qqq_lone.1, 2) AS qqq_lone_print_below_adjacent
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-06-29 00:00:00' AND window_start < '2026-06-30 00:00:00'
Tự chạy truy vấn này

Các nến của SPY chạy từ 04:00 đến 19:59 theo giờ New York, với đúng 390 nến trong khung giờ giao dịch thông thường. Đây là một phiên đầy đủ, được xác minh từ dữ liệu giao dịch thực tế (bộ dữ liệu lịch giao dịch của sàn chỉ ghi nhận các ngày đóng cửa sắp tới). Thứ Sáu, ngày 3 tháng 7, là ngày đóng cửa hoàn toàn; 0 nến SPY được khớp lệnh trong cả ngày, còn ngày 4 tháng 7 rơi vào thứ Bảy. Tuần giao dịch gồm bốn phiên có bản tổng kết riêng.

Câu hỏi thường gặp

Thị trường chứng khoán diễn biến thế nào vào ngày 29/6/2026?

Một phiên tăng do nhóm tăng trưởng dẫn dắt: QQQ đóng cửa cao hơn 2.57% so với thứ Sáu, SPY tăng 1.62%, DIA tăng 0.81% và IWM tăng 0.45%. Trong số các ticker có giá trị giao dịch từ 1 triệu USD trở lên, 62.3% kết thúc phiên ở mức cao hơn.

Ngày 29/6/2026 có phải là một phiên lớn đối với Nasdaq không?

Đáng kể nhưng không bất thường: mức biến động đóng cửa so với phiên trước của QQQ là 2.57%, xếp hạng 5 trong tổng số 21 phiên của tháng gần nhất xét theo độ lớn tuyệt đối. Mức cao nhất trong tháng là 4.76%.

Những nhóm ngành nào dẫn dắt thị trường ngày 29/6/2026?

Công nghệ (2.52%) và hàng tiêu dùng không thiết yếu (2.37%) dẫn đầu 11 nhóm ngành SPDR. Vật liệu đứng cuối với mức -1.82%, tạo ra chênh lệch 4.34 điểm phần trăm. Các nhóm tiện ích, hàng tiêu dùng thiết yếu, năng lượng và bất động sản cũng đóng cửa giảm.

Quyền chọn 0DTE chiếm bao nhiêu trong khối lượng giao dịch quyền chọn ngày 29/6/2026?

Các hợp đồng đáo hạn trong ngày chiếm 35.8% trong tổng số 66.33 triệu hợp đồng được giao dịch. Hợp đồng đơn lẻ sôi động nhất là call SPY có giá thực hiện $741, đáo hạn trong ngày, với 788,133 hợp đồng. Hợp đồng này kết thúc ngoài vùng có lợi nhuận (out of the money).

Vì sao quyền chọn được giao dịch trước khi thị trường cổ phiếu mở cửa?

Chỉ quyền chọn chỉ số được giao dịch trong thời gian này. Tất cả 40,621 giao dịch quyền chọn trước 9:30 sáng theo giờ ET ngày 29/6 đều thuộc các mã chỉ số thanh toán bằng tiền mặt (RUTW, SPX, SPXW, VIX, VIXW, XSP). Các mã này có phiên giao dịch mở rộng trên toàn cầu. Trong cùng khung giờ, số giao dịch quyền chọn cổ phiếu và ETF là 0.

Phương pháp luận

  • Dấu thời gian được lưu theo UTC và chuyển sang giờ New York trong các truy vấn. “Close” là thanh dữ liệu theo phút cuối cùng của phiên giao dịch thông thường, không phải giao dịch khớp trong phiên đấu giá. Biến động trong ngày được tính bằng cách so sánh ngày 29 tháng 6 với ngày 26 tháng 6. Phiên giao dịch đã được xác minh dựa trên khoảng thời gian của các thanh dữ liệu quan sát được.
  • Xếp hạng theo tháng gần nhất sử dụng biến động giá đóng cửa qua các phiên trong giờ giao dịch thông thường. Phiên đầu tiên bị loại vì không có giá đóng cửa liền trước trong khoảng thời gian này. Ngày đáo hạn quyền chọn được phân tích lại từ ticker của OCC vì cột ngày đáo hạn của bảng bị lỗi.
  • Mỗi panel được đọc một lần tại thời điểm tác giả biên soạn, thông qua đường dẫn chỉ đọc có kiểm soát. Trạng thái kho dữ liệu được chốt tại ngày 13 tháng 7 năm 2026.

Mỗi panel là một kết quả truy vấn được lưu trữ, gồm biểu đồ, bảng và SQL trong cùng một đối tượng. Bạn có thể dán bất kỳ đối tượng nào vào terminal Strasmore. Phiên tiếp theo: ngày 30 tháng 6.

#recap#daily#spy#qqq#market structure