Strasmore Research
Piyasa özetleri Matt ConnorYazan Matt Connor · Güncellendi 2026-07-24

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.

SorgulaSPY / QQQ / DIA / IWM — 29 Haziran, 26 Haziran kapanışına kıyasla, normal seans
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.ticker

SPY, 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.

SorgulaQQQ ve SPY: 29 Haziran verilerinin son bir aylık seanslara göre sıralaması (sıra 1 = en büyük mutlak hareket)
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.

Sorgula29 Haziran'da en az 1 milyon $ işlem hacmi olan hisselerde yükselenler ve düşenler
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 > 0

3968 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.

SorgulaOn bir sektör sepeti: 29 Haziran, 26 Haziran kapanışına kıyasla, normal seans
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 DESC

Teknoloji 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.

SorgulaBellek/depolama hisseleri: Cuma kapanışına ve gün içi aralığa göre değişim
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 ticker

MU, 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ı.

Sorgulaİki şekilde işlem hacmi liderleri: İşlem tutarına göre ilk 6, hisse adedine göre ilk 4
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) DESC

Hisse 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:

Sorgula30 dakikalık dilimler bazında işlem gören hisse adedi, normal seans (milyar)
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_time

Açı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ü.

SorgulaTüm opsiyon günü için tek satır: hacim, 0DTE, tatil nedeniyle kaydırılmış hafta
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.

SorgulaSpread'i aşmanın maliyeti: NBBO güncellemeleri ve medyan fiyat aralığı, normal seans
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 ticker

SPY'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.

SorgulaHazine tahvil eğrisi, 29 Haziran kapanışı vs 26 Haziran (yalnızca mevcut vadeler)
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

Sorgula29 Haziran kurumsal takvimi ve bilgi akışı, tek satırda
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_jun29

449 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ı

SorgulaSeans kontrolü: SPY gözlemlenen dakika bazlı aralığı ve Cuma kapanış verisi
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.