ringkasan pasaran 29 jun 2026
29 Jun 2026 dalam angka: kenaikan indeks dipacu pertumbuhan, sebaran sektor empat mata, perjalanan pusingan saham memori, pita 0DTE, sebut harga sesen dan kadar.
Isnin, 29 Jun 2026 merupakan hari kenaikan yang diterajui pertumbuhan dengan jalur kepimpinan yang sempit: QQQ naik 2.57%, SPY 1.62%, 3968 nama cair meningkat berbanding 2327 yang menurun, namun hampir separuh bakul sektor ditutup merah. Setiap angka dibaca daripada pertanyaan tersimpan; kembangkan mana-mana panel untuk SQL. Lapisan detik-demi-detik sesi yang sama: penerokaan mendalam mikrostruktur 29 Jun.
Papan skor
Setiap perubahan dibandingkan dengan bar minit terakhir sesi biasa 29 Jun berbanding penutup Jumaat 26 Jun.
SQL tepat di sebalik setiap nombor
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.tickerSPY dibuka pada $736.525 berbanding penutup Jumaat $729.09 dan ditutup pada $740.88, di bawah paras tertinggi $741.56. QQQ +2.57% berbanding DIA +0.81% menandakan hari pertumbuhan dan teknologi; IWM bermodal kecil menambah 0.45%.
Adakah hari itu luar biasa?
Peratusan pergerakan tidak bermakna tanpa tanda aras. Panel ini meletakkan kedudukan 29 Jun berbanding bulan sebelumnya berdasarkan saiz mutlak perubahan harga penutup ke penutup.
SQL tepat di sebalik setiap nombor
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)Besar, tetapi bukan rekod: pergerakan 2.57% QQQ berada di kedudukan 5 daripada 21 sesi sejak May 29, 2026, dalam bulan yang pergerakan tunggal terbesarnya berukuran 4.76%; pergerakan 1.62% SPY berada di kedudukan 4 daripada 21. Dari mana datangnya pergerakan itu penting: pergerakan SPY dari buka ke tutup hanyalah 0.59%, jadi sebahagian besar keuntungan berlaku dalam jurang semalaman, sebelum satu bar waktu dagangan biasa pun muncul. QQQ ditutup lebih tinggi dalam 10 daripada sesi tersebut: satu bulan yang seperti lambungan duit syiling.
Keluasan: sejauh manakah luasnya kenaikan?
Peningkatan ialah saham yang harga tutup Isnin mengatasi harga Jumaat, dalam kalangan nama yang didagangkan sekurang-kurangnya $1 juta, satu penapis yang menggugurkan 5,108 daripada 11,475 saham dwi-sesi.
SQL tepat di sebalik setiap nombor
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 > 03968 peningkatan, 2327 penurunan, 72 tidak berubah: 62.3% daripada papan cair meningkat, dikira satu nama pada satu masa, hari yang luas.
Sektor demi sektor: kenaikan lebih sempit daripada yang kelihatan
Mengira nama secara sama rata adalah satu pandangan; memberatkannya mengikut saiz syarikat adalah pandangan lain. Sebelas ETF sektor SPDR adalah singkatan untuk pandangan kedua, satu bakul mengikut nilai pasaran bagi setiap sektor dalam S&P 500. Ia sangat berbeza dengan kiraan keluasan.
SQL tepat di sebalik setiap nombor
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 DESCTeknologi mendahului pada 2.52%, diikuti oleh pengguna budi bicara pada 2.37%; bahan ditutup pada -1.82% dan hartanah pada -0.64%. Terbaik tolak terburuk, serakan sektor hari itu, diukur 4.34 mata peratusan, dengan utiliti, barangan asas, tenaga, hartanah dan bahan semuanya merah pada hari indeks meningkat. Luas mengikut kiraan nama, sempit mengikut berat: itulah yang boleh disembunyikan oleh keuntungan dana indeks.
Sorotan hari: memori dan storan
Empat saham memperdagangkan tema yang sama dengan hasil yang sangat berbeza, hanya pergerakan bersama dan magnitud; data tidak menyatakan sebabnya.
SQL tepat di sebalik setiap nombor
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 tickerMU ialah contoh buku teks bagi julat berbanding perubahan bersih: julat intrahari 12.22%, paras rendah $1023.65 pada 10:18 ET, paras tinggi $1148.79 pada 15:59, namun ditutup 1.97% di atas Jumaat. Western Digital naik 11.15% dan Seagate 8.17%; SanDisk ditutup -1.9% merentasi julat 10.33%, satu-satunya penutupan lebih rendah dalam kelompok ini. Penutupan menyembunyikan apa yang dilalui oleh pemegang saham.
Tempat wang didagangkan
Mengikut dolar yang didagangkan, Micron (MU) mengatasi segala-galanya, termasuk dana indeks: $58.47 bilion berbanding $33.97 bilion SPY. Mengikut jumlah saham, harinya berbeza.
SQL tepat di sebalik setiap nombor
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) DESCJadual jumlah saham mengelirukan: peneraju saham ialah SOXS, ETF semikonduktor songsang dengan leveraj 3x (695.3 juta saham), dan INLF, saham murah yang 353.8 juta sahamnya bernilai sekitar $23 juta sepanjang hari. Jumlah dolar menunjukkan ke mana wang bergerak; jumlah relatif menunjukkan sama ada aktiviti sesuatu nama itu luar biasa untuk dirinya sendiri.
Dalam blok 30 minit New York, 29 Jun menjejaki "senyuman" volum klasik:
SQL tepat di sebalik setiap nombor
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_time2.3 bilion saham dalam setengah jam pembukaan, palung 0.77 bilion pada 13:30, dan blok terbesar, 2.39 bilion, dalam setengah jam penutupan, di mana lelongan penutupan dan aliran penjejakan indeks tertumpu.
Pita opsyen
Opsyen didagangkan 66.33 juta kontrak merentas 11.04 juta cetakan.
SQL tepat di sebalik setiap nombor
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'Panggilan merangkumi 55.7% daripada jumlah kontrak, dan 35.8% daripada semua yang didagangkan telah tamat tempoh pada hari Isnin yang sama, bahagian sifar-hari-ke-tamat-tempoh (0DTE). Kontrak tunggal paling sibuk di mana-mana ialah panggilan SPY $741 pada hari yang sama: 788,133 kontrak pada premium purata $0.474, dengan penutupan SPY mendarat 0.12 dolar di bawah harga laksana, opsyen paling banyak didagangkan pada hari itu tamat di luar wang. SPY didagangkan 12.01 juta kontrak sebagai aset pendasar; QQQ 7.32 juta.
Panel ini juga mengira 40,621 cetakan opsyen sebelum pembukaan ekuiti 9:30, setiap satu pada akar indeks yang diselesaikan secara tunai (RUTW, SPX, SPXW, VIX, VIXW, XSP), dengan 0 cetakan opsyen saham atau ETF dalam tetingkap yang sama. Itulah peraturan, bukan kebetulan: opsyen indeks menyenaraikan sesi waktu dagangan global yang dilanjutkan, opsyen atas saham dan ETF dibuka bersama pasaran saham. Saham didagangkan awal, lihat dagangan prapasaran dan selepas waktu, opsyen mereka tidak.
Tiada kontrak dengan kod tamat tempoh Jumaat, 3 Julai dicetak sepanjang hari (0 cetakan), pasaran ditutup pada hari Jumaat itu, manakala tamat tempoh Khamis, 2 Julai didagangkan 10.73 juta.
Petikan sebut harga: kos perdagangan harian
Setiap harga pada halaman ini berdasarkan aliran sebut harga, Tawaran dan Permintaan Terbaik Nasional, yang diterbitkan semula secara berterusan untuk setiap nama yang tersenarai. Jurang antara bidaan terbaik dan tawaran terbaik, sebaran bida-permintaan, adalah apa yang perlu dibayar oleh pesanan untuk melintas.
SQL tepat di sebalik setiap nombor
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 tickerLebar sebutan median SPY ialah 0.41 mata asas daripada harga pertengahannya, berbanding 0.84 untuk QQQ, 4.6 untuk Micron dan 8.2 untuk Western Digital, yang paling lebar antara keempat-empatnya. Satu mata asas bagi pesanan $10,000 adalah satu dolar, jadi membeli dan menjual serta-merta $10,000 SPY pada sebutan berharga kira-kira $0.41; perjalanan pusingan yang sama dalam Western Digital berharga $8.2. Saiz dagangan tidak berubah; nama yang berubah.
Kesemua empat disebut lebih lebar pada setengah jam pembukaan berbanding dalam tetingkap kawalan tengah hari, SPY 0.41 bps berbanding 0.27, Western Digital 14.33 berbanding 7.55, premium pembukaan 6.78 bps pada nama yang paling lebar. Pusing ganti adalah separuh lagi: 3.98 juta kemas kini NBBO pada SPY dalam waktu biasa, 4.42 juta pada QQQ.
Kadar: keluk hampir tidak berganjak
Treasuries tenang pada hari Isnin. Hasil adalah penutup harian, berbanding 26 Jun.
SQL tepat di sebalik setiap nombor
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
)Hasil 10 tahun ditutup pada 4.38%, tidak berubah pada hari tersebut (0 bp), manakala bil 3 bulan meningkat 4 bp kepada 3.87%. sebaran 2s10s, iaitu hasil 10 tahun tolak hasil 2 tahun, ditutup pada 0.28 mata peratusan (-3 bp): masih positif, tidak berubah.
Kalendar di sebalik hari tersebut
SQL tepat di sebalik setiap nombor
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_jun29449 rekod dividen menjadi ex-dividen pada 29 Jun, miliki saham sebelum tarikh ex-dividen atau bayaran itu bukan milik anda, namun antara 25 nama terkenal yang kami periksa, 0 muncul. Gelombang akhir suku tahun memuncak pada 746 rekod pada July 1. 23 pecahan saham dilaksanakan dan 0 IPO disenaraikan, penampilan sulung Rabu (BSP, ITG, LIME) sudah berada dalam kalendar.
SEC merekodkan 6173 pemfailan bertarikh 29 Jun: 1473 tambahan harga produk berstruktur (borang 424B2) dan 1277 laporan dagangan orang dalam (Borang 4) mengatasi 231 8-K yang menjadi tajuk utama. Suapan berita kami membawa 170 artikel daripada 3 penerbit; tidak termasuk satu simbol guna semula yang dilabel secara kabur (digugurkan dalam pertanyaan), nama paling banyak diliputi ialah NVDA dengan 14 artikel berbanding 12 artikel bagi nama kedua.
Nota data
Data pelik mendapat nota, bukan pengecualian senyap, empat ini menyentuh angka utama.
- Bakul sektor adalah kaedah yang diisytiharkan. "Sektor" bermaksud sebelas ETF sektor SPDR, wajar nilai pasaran, nama yang sama setiap sesi, bukan klasifikasi setiap saham daripada vendor.
- Jumlah dolar adalah proksi seminit, harga tutup × jumlah saham dijumlahkan setiap bar seminit, hampir tetapi tidak sama dengan jumlah nilai cetakan.
- Spread sebut harga tidak termasuk sebut harga tidak sah (rekod NBBO sebelah atau bersilang); panel mengira apa yang digugurkannya (1544 pada SPY). Lebar median sebut harga adalah statistik sebut harga, bukan kos setiap dagangan, pesanan sering dilaksanakan dalam sebut harga.
- Satu cetakan boleh mencemarkan tinggi atau rendah bar seminit. Bar QQQ jam 11:07 ET membawa rendah $709.58 manakala tiada bar sekeliling jatuh di bawah $715.09, satu cetakan $5.51 di bawah pasaran serentak. Setiap tinggi dan rendah di atas telah disemak silang dengan bar bersebelahan; rendah sesi $705.172 QQQ lulus.
Nota data penuh
- Lipuran Perbendaharaan lebih tipis daripada skema. Empat tempoh matang yang diiklankan (6-bulan, 3-, 7- dan 20-tahun) tidak pernah diisi; lengkung menunjukkan tujuh yang wujud, ditambah baris 2s10s.
- "Pecahan songsang" Honeywell yang bercanggah dengan pita. Suapan membawa 1 rekod HON bertarikh 29 Jun: pecahan songsang menukar 2 saham lama kepada 1 saham baru. HON ditutup $231.3 Jumaat dan $227.71 Isnin, tiada penggandaan. Kami tidak menggunakannya.
- Kiraan berita adalah suapan satu vendor, 3 penerbit yang kami bawa, bukan "semua berita pasaran".
- Resit peringkat saham, sebut harga bersilang, pembetulan volum hantu, fail volum jualan pendek FINRA yang dipotong (dan kenapa volum jualan pendek bukan faedah jualan pendek), terletak dalam selaman mendalam.
Sesi, disahkan
SQL tepat di sebalik setiap nombor
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'Bar SPY berjalan dari 04:00 hingga 19:59 waktu New York dengan tepat 390 bar tetingkap biasa, satu sesi lengkap, disahkan daripada pita (set data kalendar bursa hanya membawa penutupan akan datang). Pada hari Jumaat, 3 Julai, merupakan penutupan penuh, 0 bar SPY dicetak sepanjang hari, 4 Julai jatuh pada hari Sabtu; minggu empat sesi ini mempunyai ringkasan tersendiri.
Soalan Lazim
Bagaimanakah prestasi pasaran saham pada 29 Jun 2026?
Hari kenaikan yang diterajui oleh saham pertumbuhan: QQQ ditutup 2.57% di atas Jumaat, SPY 1.62%, DIA 0.81% dan IWM 0.45%, dengan 62.3% daripada saham yang didagangkan $1j atau lebih ditutup lebih tinggi.
Adakah 29 Jun 2026 hari yang besar untuk Nasdaq?
Besar, tetapi tidak luar biasa: pergerakan QQQ 2.57% dari tutup ke tutup menduduki 5 daripada 21 sesi dalam bulan sebelumnya mengikut saiz mutlak, berbanding paras tertinggi bulanan sebanyak 4.76%.
Sektor manakah yang mendahului pada 29 Jun 2026?
Teknologi (2.52%) dan pengguna pilihan (2.37%) mendahului sebelas bakul sektor SPDR; bahan adalah yang terakhir pada -1.82%, dengan jurang 4.34 mata peratusan. Utiliti, barangan keperluan, tenaga dan hartanah juga ditutup lebih rendah.
Apakah bahagian volum opsyen pada 29 Jun 2026 yang merupakan 0DTE?
Opsyen yang tamat tempoh pada hari yang sama adalah 35.8% daripada 66.33 juta kontrak yang didagangkan; kontrak tunggal paling sibuk, opsyen panggil SPY $741 pada hari yang sama (788,133 kontrak), tamat di luar wang.
Mengapakah opsyen didagangkan sebelum pasaran saham dibuka?
Hanya opsyen indeks yang berbuat demikian. Semua 40,621 cetakan opsyen sebelum 9:30 pagi ET pada 29 Jun adalah pada akar indeks yang diselesaikan secara tunai (RUTW, SPX, SPXW, VIX, VIXW, XSP), yang menyenaraikan sesi waktu dagangan global yang dilanjutkan; cetakan opsyen saham dan ETF dalam tempoh itu berjumlah 0.
Metodologi
- Cap masa disimpan dalam UTC, ditukar ke waktu New York dalam pertanyaan. "Tutup" ialah bar minit terakhir sesi biasa, bukan cetakan lelong; perubahan hari membandingkan 29 Jun dengan 26 Jun, dan sesi telah disahkan daripada rentang bar yang diperhatikan.
- Kedudukan bulan tertinggal menggunakan pergerakan tutup-ke-tutup waktu biasa, sesi pertama digugurkan (tiada tutup sebelumnya dalam tetingkap). Tamat tempoh opsyen dihuraikan semula daripada ticker OCC (lajur tamat tempoh jadual itu sendiri rosak).
- Setiap panel dibaca sekali, pada masa penulisan, melalui laluan baca sahaja yang terkawal. Keadaan gudang pada 13 Julai 2026.
Setiap panel ialah hasil pertanyaan tersimpan, carta, jadual dan SQL dalam satu objek. Tampal mana-mana daripadanya ke terminal Strasmore. Sesi seterusnya: 30 Jun.