Strasmore Research
Rekap pasar Matt ConnorOleh Matt Connor · Diperbarui 2026-08-02

Rangkuman Pasar 30 Juli 2026: Angka Hari Ini

Rangkuman pasar 30 Juli 2026 berdasarkan tape: papan skor indeks, breadth, sector spread, options flow, quote tape, rates, dan kalender.

Rangkuman pasar untuk Kamis, 30 Juli 2026 ini membaca seluruh sesi berdasarkan kueri tersimpan: perubahan close-over-close SPY mencapai 1.68%, porsi saham yang naik dalam liquid tape sebesar 63.5%, dan options tape mencatat 67.06 juta kontrak. Setiap periode di bawah ini ditetapkan dengan tanggal awal dan akhir yang eksplisit, sehingga menjalankan kembali SQL panel mana pun akan menghasilkan angka yang sama.

Papan skor

Setiap perubahan membandingkan bar menit terakhir sesi reguler pada 30 Juli dengan bar pada Rabu, 29 Juli, yaitu dua sesi perdagangan berturut-turut. Baris disusun menurut abjad, sehingga setiap ETF mempertahankan posisi yang tetap.

QuerySPY / QQQ / DIA / IWM: 30 Juli vs penutupan 29 Juli, jam perdagangan reguler
SQL tepat di balik setiap angka
WITH prior AS (
    SELECT ticker, argMax(close, window_start) AS prior_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
      AND window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00'
    GROUP BY ticker
),
sess AS (
    SELECT ticker,
           argMin(open, window_start) AS day_open,
           argMax(close, window_start) AS day_close,
           max(high) AS day_high,
           min(low) AS day_low,
           round(toFloat64(sum(volume)) / 1e6, 1) AS shares_traded_m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
      AND window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00'
    GROUP BY ticker
)
SELECT
    s.ticker AS ticker,
    round(toFloat64(p.prior_close), 2) AS prior_close,
    round(toFloat64(s.day_open), 2) AS day_open,
    round(toFloat64(s.day_close), 2) AS day_close,
    round((toFloat64(s.day_open) / toFloat64(p.prior_close) - 1) * 100, 2) AS gap_pct,
    round((toFloat64(s.day_close) / toFloat64(s.day_open) - 1) * 100, 2) AS intraday_pct,
    round((toFloat64(s.day_close) / toFloat64(p.prior_close) - 1) * 100, 2) AS pct_change,
    round(toFloat64(s.day_high), 2) AS day_high,
    round(toFloat64(s.day_low), 2) AS day_low,
    s.shares_traded_m
FROM sess s LEFT JOIN prior p ON s.ticker = p.ticker
ORDER BY ticker
Run this yourself

DIA bergerak 1.19%, IWM 1.37%, QQQ 3.34%, dan SPY 1.68% hingga ditutup pada $741.73. Setiap baris membagi pergerakan tersebut menjadi dua bagian: SPY dibuka 0.9% dari penutupan Rabu dan bergerak 0.77% dari pembukaan hingga penutupan. Pergerakan overnight dan intraday tidak harus searah. Pembagian di antara keduanya merupakan sidik jari pertama suatu sesi.

Apakah hari itu tidak biasa?

Angka dari satu sesi tidak banyak berarti tanpa distribusinya. Karena itu, hari tersebut diberi peringkat dalam bulan berjalan sebelumnya dengan logika yang sama.

QueryPergerakan harian SPY dalam konteks trailing (open-to-close, 30 Juni hingga 30 Juli)
SQL tepat di balik setiap angka
SELECT
    round(anyIf(oc_pct, d = toDate('2026-07-30')), 2) AS spy_open_to_close_pct,
    arrayCount(x -> x > abs(anyIf(oc_pct, d = toDate('2026-07-30'))), groupArrayIf(abs(oc_pct), d != toDate('2026-07-30'))) + 1 AS spy_abs_move_rank,
    count() AS spy_sessions_compared,
    toString(min(d)) AS first_session
FROM (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           (argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS oc_pct
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2026-06-30 13:30:00')
      AND window_start < toDateTime('2026-07-31 00:00:00')
      AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
    GROUP BY d
)
Run this yourself

Pergerakan SPY dari pembukaan hingga penutupan sebesar 0.77% menempati peringkat 3 dari 22 sesi sebelumnya berdasarkan besaran absolut, dalam periode yang ditarik hingga 2026-06-30. Peringkat ini menghitung jumlah sesi lain dalam periode tersebut yang pergerakannya lebih besar, lalu menambahkan satu. Peringkat pertama berarti pergerakan terbesar dalam bulan sebelumnya.

Breadth

Level indeks hanya terdiri dari satu angka. Breadth menghitung berapa banyak saham yang bergerak searah dengannya.

QueryBreadth liquid-tape: penutupan 30 Juli vs penutupan 29 Juli, filter transaksi $1M
SQL tepat di balik setiap angka
SELECT
    countIf(c30 > c29 AND liquid) AS advancers,
    countIf(c30 < c29 AND liquid) AS decliners,
    countIf(c30 = c29 AND liquid) AS unchanged,
    countIf(liquid) AS liquid_tickers,
    countIf(NOT liquid) AS dropped_by_liquidity_filter,
    round(100.0 * countIf(c30 > c29 AND liquid) / countIf(liquid), 1) AS advancer_pct
FROM (
    SELECT ticker, c29, c30, dv30 >= 1000000 AS liquid
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS c29,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00') AS c30,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-30 13:30:00') AS dv30
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-30 20:00:00'
        GROUP BY ticker
        HAVING c29 > 0 AND c30 > 0
    )
)
Run this yourself

Dari 5960 saham dengan nilai transaksi jam reguler yang melampaui ambang satu juta dolar, 3782 ditutup di atas penutupan Rabu dan 2122 ditutup di bawahnya. Porsi saham yang menguat mencapai 63.5%. Penyaringan ini mengecualikan 5492 saham dengan likuiditas lebih rendah, yang tetap dihitung di sini dan tidak diam-diam dihapus.

Keranjang saham mega-cap

Delapan nama mega-cap yang sama muncul di sini pada setiap sesi, disusun menurut abjad agar masing-masing tetap berada di barisnya. Keranjang tetap adalah intinya: pembaca mengenali setiap baris, dan tidak ada pemilihan saham pemenang secara editorial setelah fakta terjadi.

QueryDelapan mega-cap: perubahan vs 29 Juli dan nilai transaksi jam reguler, 30 Juli
SQL tepat di balik setiap angka
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-30 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-30 00:00:00')) AS day_close,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-30 00:00:00') / 1e9, 2) AS day_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AAPL', 'AMZN', 'AVGO', 'GOOGL', 'META', 'MSFT', 'NVDA', 'TSLA')
      AND ((window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00')
        OR (window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00'))
    GROUP BY ticker
)
SELECT
    ticker,
    round(prior_close, 2) AS prior_close,
    round(day_close, 2) AS day_close,
    round((day_close / prior_close - 1) * 100, 2) AS pct_chg,
    day_dollar_bn
FROM per_name
ORDER BY ticker
Run this yourself

AAPL bergerak sebesar -1.24%, META -8.17%, MSFT 15.06%, dan NVDA 2.67% berdasarkan turnover jam perdagangan reguler sebesar 19.63 miliar dolar, dengan TSLA sebesar 3.53%. Kolom dolar menunjukkan seberapa besar porsi tape yang dibawa sendiri oleh delapan nama ini; panel breadth di atas menjadi pemeriksaan untuk melihat sejauh mana bagian pasar lainnya bergerak bersama mereka.

Saham dengan pergerakan terbesar hari ini

Kedua papan tersebut mensyaratkan turnover jam perdagangan reguler sebesar lima juta dolar, mengecualikan setiap nama yang stock split-nya dieksekusi di antara dua penutupan yang diukur, serta mengecualikan satu simbol yang digunakan kembali berdasarkan pengaman ambiguitas internal yang dijelaskan dalam catatan.

QueryGainer dan decliner terbesar: penutupan 30 Juli vs penutupan 29 Juli, transaksi $5M+, split dikecualikan
SQL tepat di balik setiap angka
SELECT ticker, board, day_pct, day_dollar_m
FROM (
    SELECT 'gainers' AS board, ticker, round((c30 / c29 - 1) * 100, 1) AS day_pct, round(dv / 1e6, 1) AS day_dollar_m
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS c29,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00') AS c30,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-30 13:30:00') AS dv
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker NOT IN ('SPCX')
          AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits WHERE execution_date > '2026-07-29' AND execution_date <= '2026-07-30')
          AND window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-30 20:00:00'
        GROUP BY ticker
        HAVING c29 > 0 AND c30 > 0 AND dv >= 5000000
    )
    ORDER BY day_pct DESC
    LIMIT 8
    UNION ALL
    SELECT 'decliners' AS board, ticker, round((c30 / c29 - 1) * 100, 1) AS day_pct, round(dv / 1e6, 1) AS day_dollar_m
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS c29,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00') AS c30,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-30 13:30:00') AS dv
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker NOT IN ('SPCX')
          AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits WHERE execution_date > '2026-07-29' AND execution_date <= '2026-07-30')
          AND window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-30 20:00:00'
        GROUP BY ticker
        HAVING c29 > 0 AND c30 > 0 AND dv >= 5000000
    )
    ORDER BY day_pct ASC
    LIMIT 8
)
ORDER BY board DESC, abs(day_pct) DESC
Run this yourself

Penguat terbesar di papan tersebut, CYCU, bergerak 489.5% dengan nilai perdagangan sebesar 474.4 juta dolar. Penurun terdalam, IREZ, mencatat -61.2% dengan nilai perdagangan sebesar 90.8 juta. Halaman ini mencatat besaran pergerakan dan transaksinya; halaman ini tidak mengaitkannya dengan narasi apa pun.

Dispersi sektor

Sebelas dana SPDR select-sector, berdasarkan penutupan 30 Juli dibandingkan dengan penutupan 29 Juli, diurutkan dari kinerja terbaik hingga terburuk. Keranjang ini telah ditetapkan dan bersifat tetap, bukan klasifikasi vendor.

QueryETF sektor, penutupan 30 Juli vs penutupan 29 Juli, berdasarkan peringkat
SQL tepat di balik setiap angka
SELECT sector, day_pct, round(max(day_pct) OVER () - day_pct, 2) AS points_behind_best
FROM (
    SELECT multiIf(ticker = 'XLK', 'Technology', ticker = 'XLC', 'Communications', ticker = 'XLE', 'Energy',
                   ticker = 'XLF', 'Financials', ticker = 'XLI', 'Industrials', ticker = 'XLB', 'Materials',
                   ticker = 'XLP', 'Staples', ticker = 'XLRE', 'Real Estate', ticker = 'XLU', 'Utilities',
                   ticker = 'XLV', 'Health Care', 'Consumer Discretionary') AS sector,
           round((c30 / c29 - 1) * 100, 2) AS day_pct
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start < '2026-07-30 00:00:00') AS c29,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-30 00:00:00') AS c30
        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-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00')
            OR (window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00'))
        GROUP BY ticker
        HAVING c29 > 0 AND c30 > 0
    )
)
ORDER BY day_pct DESC
Run this yourself

Technology berada di posisi teratas dengan 5.52%, sedangkan Communications berada di posisi terbawah dengan -2.69%, tertinggal 8.21 poin persentase. Selisih tersebut merupakan dispersi sektor pada hari itu: pergerakan pasar ketika seluruh sebelas dana berada dalam rentang satu poin akan terlihat sangat berbeda dari pergerakan yang tersebar di beberapa poin.

Di mana dolar diperdagangkan

Query6 teratas berdasarkan nilai transaksi, 4 teratas berdasarkan jumlah saham: jam reguler 30 Juli
SQL tepat di balik setiap angka
SELECT leaderboard, ticker, dollar_volume_bn, shares_m,
    round(1000 * dollar_volume_bn / shares_m, 2) AS implied_avg_price
FROM (
    SELECT
        'by dollars traded' AS leaderboard,
        ticker,
        round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
        round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00'
      AND ticker NOT IN ('SPCX')
    GROUP BY ticker
    ORDER BY dollar_volume_bn DESC
    LIMIT 6
    UNION ALL
    SELECT
        'by shares traded' AS leaderboard,
        ticker,
        round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
        round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00'
      AND ticker NOT IN ('SPCX')
    GROUP BY ticker
    ORDER BY shares_m DESC
    LIMIT 4
)
ORDER BY leaderboard, if(leaderboard = 'by shares traded', shares_m, dollar_volume_bn) DESC
Run this yourself

MU memimpin papan perdagangan dolar dengan turnover jam perdagangan reguler sebesar 43.29 miliar, disusul MSFT sebesar 42.56 miliar. Papan saham menjawab pertanyaan yang berbeda: CYCU memimpin dengan 544 juta saham pada harga rata-rata tersirat sebesar $0.86. Volume dalam dolar menunjukkan perhatian pasar, sedangkan volume saham menunjukkan tingkat perputarannya. Versi ukuran ini untuk masing-masing saham disebut volume relatif.

Tape options

QueryOptions tape: kontrak, porsi call, porsi same-day vs Rabu, kontrak SPY tersibuk
SQL tepat di balik setiap angka
WITH
    (
        SELECT (strike, typ, vol_m, is_0dte)
        FROM (
            SELECT toFloat64(any(strike_price)) AS strike, any(option_type) AS typ,
                   round(toFloat64(sum(size)) / 1e6, 2) AS vol_m,
                   if(substring(ticker, length(ticker) - 14, 6) = '260730', 1, 0) AS is_0dte
            FROM global_markets.options_trades
            WHERE sip_timestamp >= '2026-07-30 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00'
              AND underlying_symbol = 'SPY'
            GROUP BY ticker
            ORDER BY vol_m DESC, strike ASC
            LIMIT 1
        )
    ) AS top_spy,
    (
        SELECT round(toFloat64(argMax(close, window_start)), 2)
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00'
    ) AS spy_regular_close,
    (
        SELECT round(toFloat64(sum(size)) / 1e6, 2)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-29 00:00:00' AND sip_timestamp < '2026-07-30 00:00:00'
    ) AS jul29_contracts_m,
    (
        SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260729') / sum(size), 1)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-29 00:00:00' AND sip_timestamp < '2026-07-30 00:00:00'
    ) AS jul29_pct_0dte
SELECT
    round(count() / 1e6, 2) AS option_prints_m,
    round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
    jul29_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) = '260730') / sum(size), 1) AS pct_0dte,
    jul29_pct_0dte,
    spy_regular_close,
    top_spy.1 AS top_spy_strike,
    top_spy.2 AS top_spy_type,
    top_spy.3 AS top_spy_contracts_m,
    top_spy.4 AS top_spy_is_0dte,
    round(top_spy.1 - spy_regular_close, 2) AS top_spy_strike_minus_close
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-30 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00'
Run this yourself

Tape options mencatat 10.93 juta transaksi untuk 67.06 juta kontrak, dibandingkan dengan 66.84 juta pada Rabu. Call mencakup 54.6% volume kontrak. Kontrak yang berakhir pada sesi yang sama, kelompok zero-days-to-expiry, mencakup 25.3% dibandingkan dengan 33.1% pada Rabu. Pola ini ditentukan oleh waktu kedaluwarsa. Kontrak SPY yang paling aktif adalah 740 C dengan 0.56 juta kontrak. Strike-nya berjarak -1.73 dolar dari penutupan reguler SPY di $741.73, yang diukur sebagai strike dikurangi harga penutupan.

Pita kuotasi

Data kuotasi merupakan dataset paling langka di desk ini dan diukur setiap sesi. Hari-hari biasa juga dicatat.

QueryJumlah pembaruan NBBO saham: 30 Juli vs 29 Juli, dengan pembaruan ticker yang disebutkan (jutaan)
SQL tepat di balik setiap angka
SELECT
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-30')) / 1e6, 2) AS jul30_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-29')) / 1e6, 2) AS jul29_updates_m,
    round((countIf(toDate(sip_timestamp) = toDate('2026-07-30')) / countIf(toDate(sip_timestamp) = toDate('2026-07-29')) - 1) * 100, 1) AS day_over_day_pct,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-30') AND ticker = 'SPY') / 1e6, 2) AS jul30_spy_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-30') AND ticker = 'QQQ') / 1e6, 2) AS jul30_qqq_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-30') AND ticker = 'NVDA') / 1e6, 2) AS jul30_nvda_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-29 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00'
Run this yourself

Pita kuotasi saham mencatat 560.75 juta pembaruan NBBO, dibandingkan dengan 722.65 juta pada Rabu, atau perubahan dari hari ke hari sebesar -22.4%. SPY mencatat 5.55 juta pembaruan, QQQ 6.75 juta, dan NVDA 2.39 juta.

QueryTujuh saham: median quoted spread RTH dalam basis point, dengan jumlah quote-quality, 30 Juli
SQL tepat di balik setiap angka
SELECT ticker,
       round(quantileExactIf(0.5)(10000 * (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2), bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price), 2) AS median_spread_bps,
       round(count() / 1e6, 2) AS quote_updates_m,
       countIf(bid_price <= 0 OR ask_price <= 0) AS one_sided_quote_count,
       countIf(bid_price > ask_price AND bid_price > 0 AND ask_price > 0) AS crossed_quote_count
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('AAPL', 'DIA', 'IWM', 'NVDA', 'QQQ', 'SPY', 'TSLA')
  AND sip_timestamp >= '2026-07-30 13:30:00' AND sip_timestamp < '2026-07-30 20:00:00'
GROUP BY ticker
HAVING countIf(bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) > 0
ORDER BY ticker
Run this yourself

Spread median kuotasi SPY selama jam perdagangan reguler mencapai 0.27 basis point dari mid, sedangkan QQQ mencapai 0.59 dan NVDA 1.03. Dua kolom terakhir merupakan pengungkapan: kuotasi satu sisi dan kuotasi crossed dihitung untuk setiap nama dan dipisahkan dari median, bukan dihapus secara diam-diam. Kuotasi crossed, yaitu bid di atas ask, merupakan artefak biasa dari consolidated feed yang menggabungkan data dari banyak venue pada resolusi nanodetik.

QueryMedian spread SPY dibandingkan dengan setiap sesi Juli, spread tersempit di posisi pertama
SQL tepat di balik setiap angka
SELECT round(anyIf(spread_bps, d = toDate('2026-07-30')), 2) AS jul30_median_spread_bps,
       arrayCount(x -> x < anyIf(spread_bps, d = toDate('2026-07-30')), groupArrayIf(spread_bps, d != toDate('2026-07-30'))) + 1 AS rank_tightest,
       count() AS sessions_compared,
       toString(min(d)) AS first_session
FROM (
    SELECT toDate(sip_timestamp) AS d,
           quantileExactIf(0.5)(10000 * (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2), bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) AS spread_bps
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'SPY'
      AND sip_timestamp >= '2026-07-01 13:30:00' AND sip_timestamp < '2026-07-30 20:00:00'
      AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
    GROUP BY d
    HAVING countIf(bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) > 0
)
Run this yourself

Jika dibandingkan dengan setiap sesi Juli menggunakan logika yang sama, spread median SPY hari itu sebesar 0.27 basis point berada di posisi 19 dari 21, dihitung dari spread paling ketat, dalam jendela yang dimulai pada 2026-07-01. Dalam pita yang tenang, kalimat itu merupakan inti panel ini: likuiditas pada hari biasa adalah temuan yang dipublikasikan dan memiliki batasan yang jelas.

QueryOptions NBBO tape: total pembaruan vs stock tape, plus segmen root SPY, 30 Juli
SQL tepat di balik setiap angka
WITH
    (SELECT count() FROM global_markets.cache_options_quotes WHERE sip_timestamp >= '2026-07-30 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00') AS jul30_options_rows,
    (SELECT count() FROM global_markets.cache_stocks_quotes WHERE sip_timestamp >= '2026-07-30 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00') AS jul30_stock_quote_rows
SELECT
    round(jul30_options_rows / 1e9, 2) AS jul30_options_bn,
    round(jul30_options_rows / jul30_stock_quote_rows, 1) AS options_to_stock_ratio,
    round((SELECT count() FROM global_markets.cache_options_quotes WHERE ticker >= 'O:SPY26' AND ticker < 'O:SPY27' AND sip_timestamp >= '2026-07-30 13:30:00' AND sip_timestamp < '2026-07-30 20:00:00') / 1e6, 0) AS jul30_spy_options_m
Run this yourself

Pita NBBO options mencatat 10.32 miliar pembaruan, atau 18.4 kali lipat dari pita kuotasi saham, dengan root SPY saja mencatat 441 juta pembaruan selama jam perdagangan reguler.

Suku Bunga

QueryPrint Treasury curve yang tercatat, 27 Juli hingga 30 Juli
SQL tepat di balik setiap angka
SELECT toString(date) AS date,
       round(toFloat64(yield_2_year), 2) AS yield_2y_pct,
       round(toFloat64(yield_10_year), 2) AS yield_10y_pct,
       round(toFloat64(yield_30_year), 2) AS yield_30y_pct,
       round((toFloat64(yield_10_year) - toFloat64(yield_2_year)) * 100) AS spread_2s10s_bp
FROM global_markets.treasury_yields
WHERE date >= '2026-07-27' AND date <= '2026-07-30'
ORDER BY date
Run this yourself

File Treasury tertinggal sekitar satu sesi dari pergerakan pasar, sehingga panel ini melaporkan transaksi yang tercatat di dalamnya: baris bertanggal 4 dalam rentang tersebut. Data terbaru, bertanggal 2026-07-30, menempatkan yield dua tahun di 4.23%, yield sepuluh tahun di 4.68%, dan yield tiga puluh tahun di 5.21%, dengan spread dua hingga sepuluh tahun sebesar 45 basis points.

Kalender di balik hari itu

QueryEx-dividend, split, listing, berita, dan komposisi pengajuan SEC 30 Juli
SQL tepat di balik setiap angka
WITH
    (
        SELECT (argMax(t, (n, t)), max(n))
        FROM (
            SELECT t, count() AS n
            FROM (
                SELECT arrayJoin(tickers) AS t
                FROM global_markets.stocks_news
                WHERE published_utc >= '2026-07-30 04:00:00' AND published_utc < '2026-07-31 04:00:00'
            )
            WHERE t != 'SPCX'
            GROUP BY t
        )
    ) AS top_news,
    (
        SELECT (count(), uniqExact(cik), countIf(form_type = '4'), countIf(form_type = '8-K'), countIf(form_type = '424B2'), countIf(form_type = '10-Q'))
        FROM global_markets.stocks_sec_edgar_index
        WHERE filing_date = '2026-07-30'
    ) AS fil
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-30') AS ex_dividend_records,
    (SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-30') AS reverse_splits,
    (SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-30') AS forward_splits,
    (SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-30') AS listings,
    (SELECT count() FROM global_markets.stocks_news WHERE published_utc >= '2026-07-30 04:00:00' AND published_utc < '2026-07-31 04:00:00') AS news_articles,
    (SELECT uniqExact(JSONExtractString(publisher, 'name')) FROM global_markets.stocks_news WHERE published_utc >= '2026-07-30 04:00:00' AND published_utc < '2026-07-31 04:00:00') AS news_publishers,
    top_news.1 AS top_news_ticker,
    top_news.2 AS top_news_n,
    fil.1 AS fil_total,
    fil.2 AS fil_filers,
    fil.3 AS fil_form4,
    fil.4 AS fil_8k,
    fil.5 AS fil_424b2,
    fil.6 AS fil_10q
Run this yourself

Catatan dividen 200 memasuki tanggal ex-dividend pada 30 Juli, 3 reverse split dan 3 forward split dieksekusi, serta 3 pencatatan baru masuk ke tape. Feed berita memuat 173 artikel dari 2 penerbit, dengan NVDA sebagai ticker yang paling banyak diberitakan dalam periode feed ini, sebanyak 11 artikel. Indeks harian EDGAR memuat 5544 filing untuk tanggal tersebut dari 2743 filer yang berbeda: 745 laporan insider Form 4, 460 laporan berjalan 8-K, 1426 suplemen penetapan harga 424B2, dan 252 laporan kuartalan 10-Q. Indeks tersebut diterbitkan menurut jadwalnya sendiri, dan panel ini melaporkan apa pun yang tercantum di dalamnya saat pembuatan data.

Dalam agenda

Dua sesi perdagangan berikutnya dibaca dari tabel yang sama, dengan sengaja melihat melampaui periode tersebut. Jumat, 31 Juli, adalah tanggal perdagangan terakhir bulan ini menurut kalender.

Query31 Juli dan 3 Agustus dalam kalender: penutupan bursa, ex-dividend, split, expiry Jumat, dan jeda data short interest
SQL tepat di balik setiap angka
SELECT
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date >= '2026-07-31' AND date <= '2026-08-03' AND status != 'open') AS closures_next_two_sessions,
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= '2026-07-31' AND ex_dividend_date <= '2026-08-03') AS exdiv_records_next_two_sessions,
    (SELECT countIf(ticker IN ('AAPL', 'MSFT', 'JPM', 'KO', 'JNJ', 'XOM', 'CVX', 'PG', 'WMT', 'HD')) FROM global_markets.stocks_dividends WHERE ex_dividend_date >= '2026-07-31' AND ex_dividend_date <= '2026-08-03') AS household_exdivs,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= '2026-07-31' AND execution_date <= '2026-08-03') AS splits_next_two_sessions,
    round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260731') / sum(size), 1) AS jul31_expiry_pct_of_thu_volume,
    (SELECT toString(max(settlement_date)) FROM global_markets.stocks_short_interest WHERE settlement_date <= '2026-07-30') AS latest_short_interest_settlement
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-30 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00'
Run this yourself

Tabel hari libur menunjukkan penutupan 0 pada Jumat, 31 Juli, dan Senin, 3 Agustus. Catatan dividen 544 memasuki tanggal ex-dividend selama dua sesi tersebut, 0 di antaranya berasal dari sepuluh nama perusahaan rumah tangga yang diperiksa, dan 14 stock split dijadwalkan untuk dieksekusi. Dari volume option pada Kamis, 26.7% sudah berada dalam kontrak yang dijadwalkan kedaluwarsa pada Jumat, 31 Juli. Data settlement short interest terbaru yang tersedia adalah 2026-07-15, dan data ini dipublikasikan dengan jeda yang cukup panjang hingga memiliki penjelasan tersendiri.

Sesi perdagangan, terverifikasi

QueryVerifikasi sesi: bar SPY pertama/terakhir ET, jumlah regular bar, penerimaan hari libur, penutupan berikutnya
SQL tepat di balik setiap angka
SELECT
    formatDateTime(min(toTimeZone(window_start, 'America/New_York')), '%H:%i') AS first_spy_bar_et,
    formatDateTime(max(toTimeZone(window_start, 'America/New_York')), '%H:%i') AS last_spy_bar_et,
    countIf(window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00') AS regular_session_bars,
    uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00') AS day_sessions,
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-30') AS jul30_holiday_rows,
    (SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-30' AND date <= '2026-12-31' AND status = 'closed') AS next_closure_date,
    (SELECT argMin(name, date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-30' AND date <= '2026-12-31' AND status = 'closed') AS next_closure_name
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-30 00:00:00' AND window_start < '2026-07-31 00:00:00'
Run this yourself

Sesi reguler penuh: bar SPY pertama pada 04:00 ET, bar terakhir pada 19:59 ET, 390 bar jam reguler, 1 sesi dalam jendela tersebut, dan 0 baris hari libur untuk tanggal itu. Penutupan terjadwal berikutnya adalah Labor Day pada 2026-09-07.

FAQ

Bagaimana kinerja pasar saham pada Kamis, 30 Juli 2026?

SPY berubah 1.68% dari penutupan ke penutupan menjadi $741.73, dengan QQQ di 3.34%, DIA di 1.19%, dan IWM di 1.37%. Di antara saham-saham likuid, 3782 naik dan 2122 turun.

Sektor mana yang memimpin pada 30 Juli 2026?

Technology, di 5.52%, berdasarkan sebelas dana SPDR select-sector. Yang terlemah dari sebelas dana tersebut, Communications, mencatat -2.69%.

Seberapa ramai pasar options pada 30 Juli 2026?

67.06 juta kontrak diperdagangkan, dibandingkan dengan 66.84 juta pada sesi sebelumnya. Kontrak dengan jatuh tempo pada hari yang sama mencakup 25.3% volume, sedangkan call mencakup 54.6%.

Saham mana yang mencatat nilai transaksi dolar terbesar pada 30 Juli 2026?

MU, dengan volume dolar jam perdagangan reguler sebesar 43.29 miliar, di atas MSFT yang mencapai 42.56 miliar.

Catatan data

Edisi harian sebelumnya adalah 29 Juli 2026, dan rekap mingguan memuat pekan sebelum edisi ini. Panel berdasarkan ticker yang disebutkan diurutkan secara alfabetis agar rujukan dalam prosa mengarah ke baris tetap; papan peringkat dan papan saham penggerak diurutkan berdasarkan nilai, dan setiap klaim posisi yang dimuatnya dikodekan sebagai batas kewajaran. Keranjang mega-cap dan keranjang sektor yang terdiri atas sebelas fund merupakan kumpulan tetap yang telah ditentukan, bukan klasifikasi vendor. Papan saham penggerak menerapkan batas turnover jam perdagangan reguler sebesar lima juta dolar, mengecualikan saham yang stock split-nya dieksekusi di antara dua penutupan yang diukur, serta mengecualikan satu simbol yang digunakan kembali berdasarkan pengaman ambiguitas internal. Dengan demikian, setiap sorotan selalu mengarah ke nama yang dapat diverifikasi. Panel kuotasi menghitung kuotasi satu sisi dan crossed quotes untuk setiap nama, bukan menghapusnya secara diam-diam. File Treasury dan indeks harian EDGAR masuk sesuai jadwal masing-masing. Karena itu, panel tersebut melaporkan data yang tersedia, bukan mengasumsikan bahwa data sudah masuk. Tidak ada indeks implied volatility di sini. Seri tersebut tidak dilisensikan ke warehouse ini. Volatilitas dibaca dari tape melalui rentang pergerakan, porsi opsi pada hari yang sama, dan perilaku kuotasi.

Metodologi

  • Sumber data pasar: consolidated tape. delayed_stocks_minute_aggs untuk harga dan volume, options_trades untuk options tape, cache_stocks_quotes dan cache_options_quotes untuk panel NBBO.
  • Penutupan: bar menit terakhir pada sesi reguler, bukan print pukul 16:00 yang diasumsikan dan bukan print extended-hours.
  • Penanganan zona waktu: seluruh timestamp tersimpan dalam UTC; klausa WHERE menggunakan literal UTC mentah, sedangkan toTimeZone hanya muncul dalam daftar SELECT untuk label ET.
  • Verifikasi sesi: berdasarkan tabel hari libur dan bar yang teramati, bukan berdasarkan kalender semata.
  • Perbandingan dengan sesi sebelumnya: dihitung dalam query dari 29 Juli, bukan diambil dari unggahan sebelumnya.
  • Desimal: kolom harga, size, dan volume dikonversi ke Float64 sebelum pembagian atau perkalian apa pun.
  • Agregat deterministik: quantile eksak dan tie-break berbasis tuple-key digunakan secara konsisten; setiap klaim mengenai urutan atau tanda dalam teks dikodekan sebagai batas sanity check.
  • Tanggal as-of warehouse: 1 Agustus 2026, dua hari setelah sesi tersebut, berada di batas keterlambatan ingest tape yang biasanya satu hingga dua hari; receipt berbatas di atas akan mempertahankan unggahan ini jika suatu dataset diketahui hilang saat pembuatan.

Tautan silang: rekap harian sebelumnya, rekap mingguan, saat options kedaluwarsa, apa itu bid-ask spread, dan spread two-to-ten-year.

Setiap query di atas dapat dijalankan tanpa perubahan pada terminal Strasmore jika Anda ingin mengarahkan ulang suatu window ke sesi lain.