29 Haziran 2026 Piyasa Özeti
29 Haziran 2026 piyasa verileri: Büyüme odaklı endeks yükselişi, sektör bazlı dağılım ve 0DTE işlemleri. Detaylı analiz için raporu inceleyin.
29 Haziran 2026 Pazartesi günü, sınırlı bir liderlik aralığıyla büyüme odaklı bir yükseliş günü olarak gerçekleşti: QQQ 2.57%, SPY 1.62% kazanç sağladı, 3968 likit varlıklar 2327 düşüş gösteren varlıklara karşı yükseldi; ancak sektör sepetlerinin yaklaşık yarısı kırmızı kapattı. Tüm veriler kayıtlı bir sorgudan okunmaktadır; SQL koduna erişmek için ilgili paneli genişletin. Aynı seansın anlık verileri: 29 Haziran mikro yapısı derinlemesine incelemesi.
Skor tabelası
Her değişim, 29 Haziran tarihli son düzenli seans dakikalık barı ile 26 Haziran Cuma günkü verileri karşılaştırmaktadır.
Her verinin arkasındaki tam SQL
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, Cuma günkü $729.09 kapanışına kıyasla $736.525 seviyesinden açılış yaparak $740.88 seviyesinde, $741.56 zirvesinin altında kapanış yaptı. QQQ'nun DIA'nın +0.81% değerine karşı +2.57% performansı, büyüme ve teknoloji odaklı bir günü işaret etmektedir; küçük ölçekli şirketleri içeren IWM ise 0.45% artış gösterdi.
Gün olağan dışı mıydı?
Yüzdesel değişimler, bir kıyaslama ölçütü olmadan anlam ifade etmez. Bu panel, 29 Haziran verisini, mutlak kapanış bazlı büyüklük açısından son bir ay ile kıyaslamaktadır.
Her verinin arkasındaki tam SQL
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)Büyük bir değişim ancak rekor değil: QQQ'nun 2.57% oranındaki hareketi, May 29, 2026 tarihinden bu yana geçen 21 seansın 5'sine denk gelmektedir; bu ay içindeki en büyük tekil hareket 4.76% olarak ölçülmüştür; SPY'ın 1.62% oranı ise 21 içindeki 4'lik dilimdedir. Hareketin kaynağı önemlidir: SPY'ın açılıştan kapanışa kadarki süregelen hareketi sadece 0.59% seviyesindeydi, bu nedenle kazancın çoğu, henüz tek bir normal işlem saati barı oluşmadan önce, gece boyu oluşan boşlukla (gap) gerçekleşti. QQQ, bu seansların 10'sinde daha yüksek kapattı: yazı-tura atışı kadar belirsiz bir ay.
Piyasa Genişliği: Yükseliş ne kadar kapsamlıydı?
En az 1 milyon dolar işlem hacmi olan hisseler arasında, Pazartesi kapanışı Cuma kapanışından yüksek olan hisseler yükselen olarak kabul edilir; bu filtre, iki oturum boyunca işlem gören 11,475 hissenin 5,108'ini kapsam dışı bırakır.
Her verinin arkasındaki tam SQL
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 yükselen, 2327 düşen, 72 sabit: Likit piyasadaki 62.3% oranında artış görüldü — her bir hisse tek tek sayıldı, geniş kapsamlı bir gün yaşandı.
Sektör bazında: Yükseliş göründüğünden daha dar kapsamlıydı
Hisseleri eşit ağırlıklı saymak bir yaklaşımdır; şirket büyüklüğüne göre ağırlıklandırmak ise bir diğeridir. On bir SPDR sektör ETF'si ikinci yaklaşımı temsil eder; her bir sektör için S&P 500'den bir piyasa değerine göre ağırlıklandırılmış sepet sunar. Bu veriler, kapsam sayımıyla keskin bir şekilde uyuşmamaktadır.
Her verinin arkasındaki tam SQL
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 DESCTeknoloji 2.52% ile liderlik ederken, tüketici tercihlerini takip eden sektör 2.37% seviyesinde gerçekleşti; materyaller -1.82%, gayrimenkul ise -0.64% ile kapandı. En iyi ile en kötü arasındaki fark —günün sektör dağılımı— 4.34 yüzde puanı olarak ölçüldü; endeks yükseldiği bir günde kamu hizmetleri, temel tüketim, enerji, gayrimenkul ve materyallerin tamamı kırmızı kapattı. İsim sayısına göre geniş, ağırlığa göre dar: bir endeks fonunun kazancı bunu gizleyebilir.
Günün öne çıkanları: bellek ve depolama
Dört şirket aynı temada işlem gördü ancak sonuçlar birbirinden farklıydı; veriler sadece hareket yönü ve büyüklüğü göstermekte, nedenini belirtmemektedir.
Her verinin arkasındaki tam SQL
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, fiyat aralığı ile net değişim arasındaki fark için tipik bir örnektir: 12.22% gün içi aralık — 10:18 ET itibarıyla $1023.65 düşük seviye, 15:59 itibarıyla $1148.79 yüksek seviye — buna rağmen Cuma gününe kıyasla 1.97% üzerinde bir kapanış. Western Digital 11.15% yükseldi ve Seagate 8.17%; SanDisk ise 10.33% aralığında -1.9% kapanış yaptı — kümenin tek düşük kapanışı bu oldu. Kapanış fiyatı, yatırımcıların gün içinde yaşadıklarını gizlemektedir.
İşlemlerin yoğunlaştığı alanlar
İşlem hacmi bazında Micron (MU), endeks fonları dahil tüm varlıkların önüne geçti: SPY'ın $33.97 milyar dolarlık hacmine karşılık $58.47 milyar dolar. Hisse adedi bazında ise durum farklıydı.
Her verinin arkasındaki tam SQL
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) DESCHisse adedi verileri yanıltıcı olabilir: Hisse adediyle öne çıkanlar, 3x kaldıraçlı ters yarı iletken ETF'si olan SOXS (695.3 milyon hisse) ve gün boyu yaklaşık $23 milyon dolar değerinde olan 353.8 milyon hisseye sahip penny stock INLF idi. İşlem hacmi paranın nereye hareket ettiğini gösterir; göreceli hacim ise bir varlığın hareketliliğinin kendisine kıyasla olağan olup olmadığını gösterir.
30 dakikalık New York seans dilimlerinde, 29 Haziran klasik hacim "gülümsemesini" yansıtmaktadır:
Her verinin arkasındaki tam SQL
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_timeAçılışın ilk yarım saatinde 2.3 milyar hisse, saat 13:30 civarında 0.77 milyar dolarlık bir dip noktası ve kapanış müzayedeleri ile endeks takip eden akışların yoğunlaştığı kapanışın son yarım saatinde ise en büyük dilim olan 2.39 milyar hisse işlem görmüştür.
Opsiyon piyasası
11.04 milyon işlem hacmiyle toplamda 66.33 milyon kontrat işlem gördü.
Her verinin arkasındaki tam SQL
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'Kontrat hacminin 55.7%'ini call opsiyonları oluşturdu ve işlem gören tüm varlıkların 35.8%'u aynı Pazartesi günü vadeliydi — vadesine sıfır gün kalan (0DTE) hisse senedi. En yoğun işlem gören tek kontrat, aynı gün vadeli SPY $741 call opsiyonuydu: ortalama $0.474 prim ile 788,133 kontrat; SPY kapanışı kullanım fiyatının 0.12 dolar altında gerçekleşti — günün en çok işlem gören opsiyonu "out of the money" olarak tamamlandı. SPY dayanak varlık olarak 12.01 milyon kontrat, QQQ ise 7.32 milyon kontrat işlem gördü.
Panel ayrıca, saat 09:30 hisse senedi açılışından önce 40,621 opsiyon işlemi kaydetti — bunların tamamı nakit uzlaşmalı bir endeks kökenli (RUTW, SPX, SPXW, VIX, VIXW, XSP) olup, aynı zaman diliminde 0 hisse veya ETF opsiyon işlemi gerçekleşti. Bu bir tesadüf değil, kuraldır: endeks opsiyonları küresel işlem saatlerini kapsarken, hisse ve ETF opsiyonları borsa açılışıyla birlikte açılır. Hisseler erken işlem görür — piyasa öncesi ve piyasa sonrası işlemler kısmına bakınız] — ancak opsiyonları görmez.
3 Temmuz Cuma vadeli hiçbir kontrat gün boyu işlem görmedi (0 işlem) — o Cuma piyasalar kapalıdır — 2 Temmuz Perşembe vadeli kontratlar ise 10.73 milyon işlem gördü.
Fiyat akışı: İşlem maliyeti ne kadar oldu
Bu sayfadaki her fiyat bir fiyat akışına dayanmaktadır; her listelenmiş varlık için sürekli olarak yeniden yayınlanan Ulusal En İyi Alış ve Satış Fiyatı (NBBO) baz alınmaktadır. En iyi alış ve en iyi satış arasındaki fark, bid-ask spread, bir emrin karşı taraf bulması için ödediği maliyettir.
Her verinin arkasındaki tam SQL
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 tickerSPY'nin medyan fiyat genişliği, orta fiyatının 0.41 baz puanı iken; QQQ için 0.84, Micron için 4.6 ve en geniş aralığa sahip olan Western Digital için 8.2 olmuştur. 10.000 dolarlık bir emirde bir baz puan bir dolardır; bu nedenle SPY üzerinden 10.000 dolarlık bir alım ve anında satış yapmanın maliyeti yaklaşık 0.41 dolardır; Western Digital'daki aynı işlem döngüsü ise 8.2 dolara mal olmaktadır. İşlem hacmi değişmemiş, sadece hisse senedi değişmiştir.
Dört varlık da açılıştaki ilk yarım saatte, öğle saatlerindeki kontrol penceresine kıyasla daha geniş aralıklarda işlem görmüştür: SPY için 0.41 bps'e karşı 0.27, Western Digital için 14.33'e karşı 7.55; en geniş aralıklı varlıkta açılış primi 6.78 bp olmuştur. İşlem hacmi diğer yarısını oluşturmaktadır: Normal saatlerde SPY için 3.98 milyon, QQQ için ise 4.42 milyon NBBO güncellemesi gerçekleşmiştir.
Faizler: eğri neredeyse hiç hareket etmedi
Hazine tahvilleri sakin bir Pazartesi günü geçirdi. Getiriler günlük kapanışlar olup 26 Haziran'a göre değişimleri göstermektedir.
Her verinin arkasındaki tam SQL
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
)10 yıllık tahvil günü 4.38% seviyesinde, gün içinde değişmeden (0 bp) kapattı; 3 aylık bono ise 3.87% seviyesine 4 bp eklendi. 10 yıllık ile 2 yıllık arasındaki 2s10s spread — 10 yıllık eksi 2 yıllık — 0.28 yüzde puan (-3 bp) seviyesinden kapattı: pozitif kalmaya devam ediyor, hafifçe düzleşti.
Günün arkasındaki takvim
Her verinin arkasındaki tam SQL
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 temettü kayıtları 29 Haziran tarihinde temettü hariç tarihine (ex-dividend) girdi — ödemeyi alabilmek için hisseyi temettü hariç tarihinden önce elinde bulundurmak gerekir — ancak kontrol edilen 25 tanınmış marka arasında 0 marka görüldü. Çeyrek sonu dalgası July 1 tarihinde 745 kayıt ile zirve yaptı. 23 hisse bölünmesi gerçekleşti ve 0 halka arz listelendi; Çarşamba gününün yeni girişleri (BSP, ITG, LIME) şimdiden takvimde yerini aldı.
SEC, 29 Haziran tarihli 6173 başvuru kaydetti: 1473 yapılandırılmış ürün fiyatlandırma ekleri (form 424B2) ve 1277 içeriden öğrenenlerin işlem raporları (Form 4), manşetlerde yer alan 231 adet 8-K raporunun çok gerisinde kaldı. Haber akışımız 3 yayıncıdan 170 makale aktardı; belirsiz etiketlenmiş ve sorgudan çıkarılmış bir tekrar eden sembol hariç tutulduğunda, en çok haber yapılan isim 12 makale ile ikinci sıradaki isme karşı 14 makale ile NVDA oldu.
Veri notları
Hatalı veriler sessizce dışlanmaz, not düşülür — bu dört madde ana rakamları etkiler.
- Sektör sepetleri beyan edilmiş bir yöntemdir. "Sektör" ifadesi, piyasa değerine göre ağırlıklandırılmış on bir SPDR sektör ETF'sini ifade eder; her oturumda aynı isimler kullanılır, bir sağlayıcının hisse başına sınıflandırması değildir.
- Dolar hacmi dakikalık bir göstergedir — kapanış fiyatı × hacim toplamının dakikalık bar bazında toplamıdır; işlem değerleri toplamına yakındır ancak birebir aynı değildir.
- Alıntılanan spreadler geçersiz fiyatları kapsamaz (tek taraflı veya çapraz NBBO kayıtları); panel, silinen miktarı sayar (SPY için 1544). Medyan alıntılanan genişlik bir fiyatlama istatistiğidir, işlem başına maliyet değildir — emirler genellikle fiyatın içinde gerçekleşir.
- Tek bir işlem, bir dakikalık barın en yüksek veya en düşük değerini bozabilir. QQQ'nun Doğu Saati ile 11:07'deki barı $709.58 seviyesinde bir en düşük değer taşırken, çevresindeki hiçbir bar $715.09 seviyesinin altına düşmemiştir — bir işlem, eş zamanlı piyasanın $5.51 altında gerçekleşmiştir. Yukarıdaki tüm en yüksek ve en düşük değerler komşu barlarla çapraz kontrol edilmiştir; QQQ'nun $705.172 seviyesindeki oturum en düşüğü onaylanmıştır.
Veri notlarının tamamı
- Hazine kapsamı şemadan daha dardır. Reklamı yapılan dört vade (6 aylık, 3, 7 ve 20 yıllık) hiçbir zaman doldurulmamıştır; eğri, mevcut olan yedi vadeyi ve 2s10s satırını gösterir.
- Honeywell "ters bölünme" verisi kayıtlarla çelişmektedir. Veri akışı, 29 Haziran tarihli 1 HON kaydını içeriyor: 2 eski hisseyi 1 yeni hisseye dönüştüren bir ters bölünme. HON Cuma günü $231.3, Pazartesi günü ise $227.71 seviyesinden kapandı — iki katına çıkma durumu yoktur. Bu düzeltmeyi uygulamadık.
- Haber sayısı tek bir sağlayıcının akışıdır, kullandığımız 3 yayıncıdır — "tüm piyasa haberleri" değildir.
- Tick seviyesindeki kayıtlar — çapraz fiyatlar, hayalet hacim düzeltmesi, kırpılmış FINRA kısa hacim dosyası (ve kısa hacmin açık pozisyon olmadığını neden gösterir) detaylı incelemede yer almaktadır.
Seans, doğrulandı
Her verinin arkasındaki tam SQL
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'SPY mumları, New York saatiyle 04:00 ile 19:59 arasında, tam olarak 390 düzenli pencere mumu ile seans tamamlanmıştır; bu veri, borsa takvimi veri setinin yalnızca yaklaşan kapanışları içermesi nedeniyle doğrudan işlem kayıtlarından doğrulanmıştır. 3 Temmuz Cuma günü tam bir kapanış gerçekleşmiştir — 0 SPY mumları gün boyu oluşmuştur; 4 Temmuz Cumartesi gününe denk gelmiştir; dört seanslık haftanın özeti burada yer almaktadır.
SSS
29 Haziran 2026 tarihinde borsa nasıl performans gösterdi?
Büyüme hisselerinin öncülük ettiği yükseliş günü: QQQ, Cuma gününe kıyasla 2.57% oranında, SPY 1.62%, DIA 0.81% ve IWM 0.45% oranında yukarıda kapattı; işlem hacmi 1 milyon dolar veya üzerinde olan hisselerin 62.3%'si yükselişle tamamlandı.
29 Haziran 2026 Nasdaq için önemli bir gün müydü?
Önemli ancak olağanüstü değil: QQQ'nun 2.57% oranındaki kapanış değişimi, aylık en yüksek değer olan 4.76% ile kıyaslandığında, geçmiş ayın 21 seansı arasında mutlak büyüklük bakımından 5. sırada yer aldı.
29 Haziran 2026 tarihinde hangi sektörler öne çıktı?
Teknoloji (2.52%) ve tüketici harcamaları (2.37%), on bir SPDR sektör sepetine liderlik etti; emtia sektörü 4.34 puanlık bir farkla en son sırada, -1.82% seviyesinde kaldı. Kamu hizmetleri, temel tüketim, enerji ve gayrimenkul sektörleri de düşüşle kapattı.
29 Haziran 2026 tarihindeki opsiyon hacminin ne kadarı 0DTE idi?
Aynı gün vadeli opsiyonlar, işlem gören 66.33 milyon kontratın 35.8%'unu oluşturdu; en yoğun tek kontrat olan, aynı gün vadeli 741 dolar değerindeki SPY call opsiyonu (788,133 kontrat), kullanım fiyatının altında kaldı.
Opsiyonlar borsa açılmadan önce neden işlem görür?
Sadece endeks opsiyonları bu şekilde işlem görür. 29 Haziran günü Doğu Saati ile 09:30'dan önce gerçekleşen tüm 40,621 opsiyon işlemi, genişletilmiş küresel işlem saatlerini listeleyen nakit uzlaşılı endeks temelleri (RUTW, SPX, SPXW, VIX, VIXW, XSP) üzerindeydi; bu zaman dilimindeki hisse ve ETF opsiyon işlemleri 0 adet olarak kaydedildi.
Metodoloji
- Zaman damgaları UTC formatında saklanır ve sorgular içerisinde New York saatine dönüştürülür. "Close" ifadesi, açık artırma fiyatı değil, düzenli seansın son dakikasıdır; gün değişimleri 29 Haziran ile 26 Haziran verileri üzerinden karşılaştırılmıştır ve seans, gözlemlenen bar aralığı üzerinden doğrulanmıştır.
- Son bir aylık sıralama, düzenli saatlerdeki kapanıştan kapanışa hareketleri kullanır; ilk seans kapsam dışı bırakılmıştır (pencere içinde önceki kapanış bulunmamaktadır). Opsiyon vadeleri OCC ticker verilerinden yeniden ayrıştırılmıştır (tablodaki kendi vade sütunu hatalıdır).
- Her panel, yazım aşamasında kısıtlı salt okunur yol üzerinden bir kez okunur. Veri ambarı durumu 13 Temmuz 2026 itibarıyla geçerlidir.
Her panel; grafik, tablo ve SQL içeren tek bir nesne olarak saklanan bir sorgu sonucudur. Herhangi birini Strasmore terminaline yapıştırılabilir. Bir sonraki seans: 30 Haziran.