Strasmore Research
تحلیل بازار Matt Connorتوسط Matt Connor

خلاصه بازار 29 ژوئیه 2026 با ارقام روز

گزارش روزانه بازار در 29 ژوئیه 2026: عملکرد شاخص‌ها، پهنای بازار، اختلاف بخش‌ها، جریان اختیار معامله، نرخ‌ها و تقویم، همگی بر پایه پرس‌وجوهای ذخیره‌شده.

این گزارش جمع‌بندی بازار در روز چهارشنبه، 29 ژوئیه 2026، کل جلسه معاملاتی را بر اساس پرس‌وجوهای ذخیره‌شده بررسی می‌کند: تغییر پایانی SPY نسبت به جلسه قبل به -1.52% رسید، سهم نمادهای صعودی در معاملات نقدشونده 27.2% بود و در بازار اختیار معامله 66.84 میلیون قرارداد معامله‌شده ثبت شد. بازه زمانی هر پنل در ادامه، تاریخ‌های آغاز و پایان مشخصی دارد؛ بنابراین اجرای دوباره SQL هر پنل، همین ارقام را بازمی‌گرداند.

جدول پایش

هر تغییر، آخرین کندل یک‌دقیقه‌ای جلسه عادی در 29 ژوئیه را با کندل متناظر در سه‌شنبه 28 ژوئیه، یعنی دو جلسه معاملاتی متوالی، مقایسه می‌کند. ردیف‌ها به‌ترتیب الفبایی تنظیم شده‌اند؛ بنابراین هر ETF جایگاه ثابتی دارد.

پرس‌وجوSPY / QQQ / DIA / IWM: ۲۹ ژوئیه در مقایسه با پایانی ۲۸ ژوئیه، ساعات عادی
کد دقیق SQL پشت هر عدد
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-28 13:30:00' AND window_start < '2026-07-28 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-29 13:30:00' AND window_start < '2026-07-29 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 به میزان -2.19%، IWM به میزان -1.63%، QQQ به میزان -2.07% و SPY به میزان -1.52% حرکت کردند و در سطح 729.51 دلار بسته شدند. هر ردیف این حرکت را به دو بخش تقسیم می‌کند: SPY نسبت به قیمت پایانی سه‌شنبه با -0.11% باز شد و از قیمت بازگشایی تا پایانی -1.41% حرکت کرد. حرکت شبانه و حرکت درون‌روزی لزوماً هم‌جهت نیستند و تفکیک این دو، نخستین مشخصه هر جلسه معاملاتی است.

آیا این روز غیرعادی بود؟

عدد مربوط به یک جلسه معاملاتی، بدون درنظرگرفتن توزیع داده‌ها، معنای چندانی ندارد. بنابراین این روز با همان منطق، در میان جلسات ماه گذشته خودش رتبه‌بندی می‌شود.

پرس‌وجوحرکت روزانه SPY در بستر دوره اخیر (بازشدن تا بسته‌شدن، ۲۹ ژوئن تا ۲۹ ژوئیه)
کد دقیق SQL پشت هر عدد
SELECT
    round(anyIf(oc_pct, d = toDate('2026-07-29')), 2) AS spy_open_to_close_pct,
    arrayCount(x -> x > abs(anyIf(oc_pct, d = toDate('2026-07-29'))), groupArrayIf(abs(oc_pct), d != toDate('2026-07-29'))) + 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-29 13:30:00')
      AND window_start < toDateTime('2026-07-30 00:00:00')
      AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
    GROUP BY d
)
Run this yourself

حرکت SPY از زمان بازگشایی تا زمان بسته‌شدن، به میزان -1.41%، بر اساس اندازه مطلق، در میان 22 جلسه معاملاتی اخیر، رتبه 1 را کسب کرد. این بازه تا 2026-06-29 به عقب بازمی‌گردد. رتبه نشان می‌دهد چند جلسه دیگر در این بازه حرکت بزرگ‌تری داشته‌اند؛ سپس عدد یک به آن اضافه می‌شود. بنابراین رتبه نخست به بزرگ‌ترین حرکت در ماه گذشته تعلق می‌گیرد.

پهنا

سطح شاخص یک عدد است. پهنا نشان می‌دهد چند سهم هم‌جهت با شاخص حرکت کرده‌اند.

پرس‌وجوگستره بازار در معاملات نقدشونده: پایانی ۲۹ ژوئیه در مقایسه با پایانی ۲۸ ژوئیه، با فیلتر معاملات ۱ میلیون دلار
کد دقیق SQL پشت هر عدد
SELECT
    countIf(c29 > c28 AND liquid) AS advancers,
    countIf(c29 < c28 AND liquid) AS decliners,
    countIf(c29 = c28 AND liquid) AS unchanged,
    countIf(liquid) AS liquid_tickers,
    countIf(NOT liquid) AS dropped_by_liquidity_filter,
    round(100.0 * countIf(c29 > c28 AND liquid) / countIf(liquid), 1) AS advancer_pct
FROM (
    SELECT ticker, c28, c29, dv29 >= 1000000 AS liquid
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS c28,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS c29,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-29 13:30:00') AS dv29
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-29 20:00:00'
        GROUP BY ticker
        HAVING c28 > 0 AND c29 > 0
    )
)
Run this yourself

در میان 6066 نمادی که از آستانه گردش مالی یک‌میلیون‌دلاری در ساعات عادی معاملات عبور کردند، 1652 نماد بالاتر از قیمت پایانی سه‌شنبه بسته شدند و 4342 نماد پایین‌تر از آن پایان یافتند؛ سهم نمادهای صعودی 27.2% بود. این فیلتر 5363 نماد کم‌معامله‌تر را کنار گذاشت؛ این نمادها در اینجا شمارش شده‌اند و بی‌سر‌و‌صدا حذف نشده‌اند.

سبد شرکت‌های مگاکپ

همان هشت نماد مگاکپ در هر جلسه معاملاتی در این بخش دیده می‌شوند و به‌صورت الفبایی مرتب شده‌اند تا هرکدام ردیف خود را حفظ کنند. هدف، ایجاد یک سبد ثابت است: خواننده ردیف‌ها را می‌آموزد و هیچ انتخاب سلیقه‌ای پس از وقوع رویدادها برای معرفی برندگان انجام نمی‌شود.

پرس‌وجوهشت غول بازار: تغییر نسبت به ۲۸ ژوئیه و ارزش معاملات در ساعات عادی، ۲۹ ژوئیه
کد دقیق SQL پشت هر عدد
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-29 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-29 00:00:00')) AS day_close,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-29 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-28 13:30:00' AND window_start < '2026-07-28 20:00:00')
        OR (window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 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 در -0.63%، META در -1.12%، MSFT در -0.27% و NVDA در -3.51%، در جریان گردش معاملات عادی بازار به ارزش 22.26 میلیارد دلار، جابه‌جا شدند و TSLA به -2.97% رسید. ستون ارزش دلاری نشان می‌دهد این هشت نماد به‌تنهایی چه میزان از جریان معاملات را در اختیار دارند؛ پنل پهنا در بالا نیز نشان می‌دهد سایر بخش‌های بازار تا چه اندازه همراه آن‌ها حرکت کرده‌اند.

نمادهای پُرنوسان روز

هر دو فهرست به گردش معاملات پنج میلیون‌دلاری در ساعات عادی بازار نیاز دارند. همچنین هر نمادی را که تقسیم سهام آن بین دو زمان پایانی مورد سنجش اجرا شده باشد، حذف می‌کنند. یک نماد تکرارشده نیز طبق قاعده ابهام‌زدایی داخلی توضیح‌داده‌شده در یادداشت‌ها کنار گذاشته می‌شود.

پرس‌وجوبیشترین رشد و افت: پایانی ۲۹ ژوئیه در مقایسه با پایانی ۲۸ ژوئیه، با بیش از ۵ میلیون دلار معامله، بدون احتساب تجزیه سهام
کد دقیق SQL پشت هر عدد
SELECT ticker, board, day_pct, day_dollar_m
FROM (
    SELECT 'gainers' AS board, ticker, round((c29 / c28 - 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-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS c28,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS c29,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-29 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-28' AND execution_date <= '2026-07-29')
          AND window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-29 20:00:00'
        GROUP BY ticker
        HAVING c28 > 0 AND c29 > 0 AND dv >= 5000000
    )
    ORDER BY day_pct DESC
    LIMIT 8
    UNION ALL
    SELECT 'decliners' AS board, ticker, round((c29 / c28 - 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-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS c28,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS c29,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-29 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-28' AND execution_date <= '2026-07-29')
          AND window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-29 20:00:00'
        GROUP BY ticker
        HAVING c28 > 0 AND c29 > 0 AND dv >= 5000000
    )
    ORDER BY day_pct ASC
    LIMIT 8
)
ORDER BY board DESC, abs(day_pct) DESC
Run this yourself

بیشترین رشد در فهرست مربوط به DFNS بود که با معامله 544.9 میلیون دلار، 119.8% افزایش یافت. بیشترین افت نیز به YYAI تعلق داشت که با گردش معاملات 8.5 میلیون‌دلاری، -68.1% کاهش یافت. این صفحه اندازه معاملات و رسیدهای آن‌ها را ثبت می‌کند و هیچ روایتی به آن‌ها نسبت نمی‌دهد.

پراکندگی بخش‌ها

یازده صندوق بخشی منتخب SPDR، بر اساس قیمت پایانی 29 ژوئیه در مقایسه با 28 ژوئیه، از بهترین تا ضعیف‌ترین عملکرد رتبه‌بندی شده‌اند. این سبد از پیش تعیین و ثابت است و بر مبنای طبقه‌بندی فروشنده تنظیم نشده است.

پرس‌وجوETFهای بخشی، پایانی ۲۹ ژوئیه در مقایسه با پایانی ۲۸ ژوئیه، رتبه‌بندی‌شده
کد دقیق SQL پشت هر عدد
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((c29 / c28 - 1) * 100, 2) AS day_pct
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start < '2026-07-29 00:00:00') AS c28,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-29 00:00:00') AS c29
        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-28 13:30:00' AND window_start < '2026-07-28 20:00:00')
            OR (window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00'))
        GROUP BY ticker
        HAVING c28 > 0 AND c29 > 0
    )
)
ORDER BY day_pct DESC
Run this yourself

Energy با 1.89% در صدر جدول قرار گرفت و Industrials با -3.21% در انتهای جدول بود؛ 5.1 واحد درصد عقب‌تر. این فاصله همان پراکندگی بخش‌ها در آن روز است: بازاری که عملکرد هر یازده بخش در محدوده یک واحد درصد باشد، با بازاری که عملکردها در چندین واحد درصد از هم فاصله داشته باشند، تفاوت زیادی دارد.

دلارها کجا معامله شدند

پرس‌وجو۶ نماد برتر بر اساس ارزش معاملات و ۴ نماد برتر بر اساس تعداد سهام معامله‌شده: ساعات عادی ۲۹ ژوئیه
کد دقیق SQL پشت هر عدد
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-29 13:30:00' AND window_start < '2026-07-29 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-29 13:30:00' AND window_start < '2026-07-29 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 با گردش معاملات 44.99 میلیارد دلاری در ساعات عادی بازار، در صدر جدول معاملات دلاری قرار گرفت و SPY با 42.29 میلیارد دلار پس از آن ایستاد. جدول معاملات بر مبنای تعداد سهم، پرسش متفاوتی را پاسخ می‌دهد: SNXX با معامله 173.4 میلیون سهم و میانگین قیمت ضمنی 7.32 دلار، در صدر قرار گرفت. حجم معاملات بر مبنای ارزش دلاری، توجه بازار را نشان می‌دهد؛ حجم معاملات بر مبنای تعداد سهم، میزان جابه‌جایی معاملات را نشان می‌دهد؛ و نسخه مربوط به هر نماد از این معیار، حجم نسبی است.

نوار معاملات اختیار معامله

پرس‌وجوجریان معاملات اختیار معامله: قراردادها، سهم اختیار خرید، سهم معاملات همان‌روز در مقایسه با سه‌شنبه، پرتراکنش‌ترین قرارداد SPY
کد دقیق SQL پشت هر عدد
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) = '260729', 1, 0) AS is_0dte
            FROM global_markets.options_trades
            WHERE sip_timestamp >= '2026-07-29 00:00:00' AND sip_timestamp < '2026-07-30 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-29 13:30:00' AND window_start < '2026-07-29 20:00:00'
    ) AS spy_regular_close,
    (
        SELECT round(toFloat64(sum(size)) / 1e6, 2)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-28 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00'
    ) AS jul28_contracts_m,
    (
        SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260728') / sum(size), 1)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-28 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00'
    ) AS jul28_pct_0dte
SELECT
    round(count() / 1e6, 2) AS option_prints_m,
    round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
    jul28_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) = '260729') / sum(size), 1) AS pct_0dte,
    jul28_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-29 00:00:00' AND sip_timestamp < '2026-07-30 00:00:00'
Run this yourself

در نوار معاملات اختیار، 11.03 میلیون معامله برای 66.84 میلیون قرارداد ثبت شد؛ این رقم در کنار 59.28 میلیون قرارداد روز سه‌شنبه قرار گرفت. اختیارهای خرید 53.6% درصد از حجم قراردادها را تشکیل دادند. قراردادهایی که در همان جلسه منقضی می‌شوند، یعنی گروه اختیارهای با سررسید صفر روز، در برابر رقم 29% روز سه‌شنبه به 33.1% رسیدند؛ ریتمی که زمان‌بندی سررسید تعیین می‌کند. پرمعامله‌ترین قرارداد SPY، قرارداد 735 P بود که با 0.36 میلیون قرارداد معامله شد. قیمت اعمال آن 5.49 دلار با قیمت پایانی عادی SPY، یعنی $729.51، فاصله داشت؛ این فاصله از تفاضل قیمت اعمال و قیمت پایانی به دست می‌آید.

نوار مظنه

داده‌های مظنه کمیاب‌ترین مجموعه‌داده این میز معاملاتی است و در هر جلسه اندازه‌گیری می‌شود. روزهای عادی نیز در سابقه ثبت می‌شوند.

پرس‌وجوتعداد به‌روزرسانی‌های NBBO سهام: ۲۹ ژوئیه در مقایسه با ۲۸ ژوئیه، همراه با به‌روزرسانی‌های نمادهای مشخص (میلیون)
کد دقیق SQL پشت هر عدد
SELECT
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-29')) / 1e6, 2) AS jul29_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-28')) / 1e6, 2) AS jul28_updates_m,
    round((countIf(toDate(sip_timestamp) = toDate('2026-07-29')) / countIf(toDate(sip_timestamp) = toDate('2026-07-28')) - 1) * 100, 1) AS day_over_day_pct,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-29') AND ticker = 'SPY') / 1e6, 2) AS jul29_spy_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-29') AND ticker = 'QQQ') / 1e6, 2) AS jul29_qqq_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-29') AND ticker = 'NVDA') / 1e6, 2) AS jul29_nvda_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-28 00:00:00' AND sip_timestamp < '2026-07-30 00:00:00'
Run this yourself

نوار مظنه سهام، 722.65 میلیون به‌روزرسانی NBBO را در برابر 536.07 میلیون در روز سه‌شنبه ثبت کرد؛ تغییری روزبه‌روز معادل 34.8%. SPY تعداد 7.32 میلیون به‌روزرسانی، QQQ تعداد 8.72 میلیون و NVDA تعداد 4.41 میلیون به‌روزرسانی داشت.

پرس‌وجوهفت نماد: اسپرد میانه مظنه در ساعات عادی بر حسب واحد پایه، همراه با شمارش کیفیت مظنه، ۲۹ ژوئیه
کد دقیق SQL پشت هر عدد
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-29 13:30:00' AND sip_timestamp < '2026-07-29 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

اسپرد میانه مظنه SPY در ساعات عادی بازار، 0.27 واحد پایه از میانه بود؛ این رقم برای QQQ برابر 0.75 و برای NVDA برابر 1.55 بود. دو ستون آخر افشای اطلاعات هستند: مظنه‌های یک‌طرفه و متقاطع برای هر نماد شمارش می‌شوند و به‌جای حذف بی‌سروصدا، از محاسبه میانه کنار گذاشته می‌شوند. مظنه متقاطع، یعنی زمانی که قیمت خرید بالاتر از قیمت فروش باشد، در یک فید تجمیعی که از چندین محل معاملاتی در وضوح زمانی نانوثانیه‌ای ساخته شده است، رخدادی عادی محسوب می‌شود.

پرس‌وجورتبه اسپرد میانه SPY در مقایسه با همه نشست‌های ژوئیه، از کمترین اسپرد
کد دقیق SQL پشت هر عدد
SELECT round(anyIf(spread_bps, d = toDate('2026-07-29')), 2) AS jul29_median_spread_bps,
       arrayCount(x -> x < anyIf(spread_bps, d = toDate('2026-07-29')), groupArrayIf(spread_bps, d != toDate('2026-07-29'))) + 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-29 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

در مقایسه با تمام جلسات معاملاتی ژوئیه بر اساس منطق یکسان، اسپرد میانه SPY در آن روز، معادل 0.27 واحد پایه، از سمت کمترین اسپرد، در جایگاه 20 از 20 قرار گرفت؛ این بازه از 2026-07-01 آغاز می‌شود. در یک نوار معاملاتی آرام، اهمیت این جمله در همین است: یک روز عادی از نظر نقدشوندگی، خود یک یافته است که منتشر شده و دامنه آن مشخص است.

پرس‌وجونوار NBBO اختیار معامله: مجموع به‌روزرسانی‌ها در مقایسه با نوار سهام، به‌علاوه بخش نماد پایه SPY، ۲۹ ژوئیه
کد دقیق SQL پشت هر عدد
WITH
    (SELECT count() FROM global_markets.cache_options_quotes WHERE sip_timestamp >= '2026-07-29 00:00:00' AND sip_timestamp < '2026-07-30 00:00:00') AS jul29_options_rows,
    (SELECT count() FROM global_markets.cache_stocks_quotes WHERE sip_timestamp >= '2026-07-29 00:00:00' AND sip_timestamp < '2026-07-30 00:00:00') AS jul29_stock_quote_rows
SELECT
    round(jul29_options_rows / 1e9, 2) AS jul29_options_bn,
    round(jul29_options_rows / jul29_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-29 13:30:00' AND sip_timestamp < '2026-07-29 20:00:00') / 1e6, 0) AS jul29_spy_options_m
Run this yourself

نوار NBBO اختیار معامله 13.55 میلیارد به‌روزرسانی ثبت کرد؛ یعنی 18.8 برابر نوار مظنه سهام. تنها ریشه SPY نیز در ساعات عادی بازار 600 میلیون به‌روزرسانی داشت.

نرخ‌ها

پرس‌وجوثبت‌های منحنی خزانه‌داری در پرونده، ۲۴ تا ۲۹ ژوئیه
کد دقیق SQL پشت هر عدد
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-24' AND date <= '2026-07-29'
ORDER BY date
Run this yourself

داده‌های خزانه‌داری حدود یک جلسه معاملاتی از بازار عقب‌تر است؛ بنابراین این پنل معاملات ثبت‌شده در آن را گزارش می‌کند: ردیف‌های دارای تاریخ 4 در بازه موردنظر. آخرین رکورد، به تاریخ 2026-07-29، بازده اوراق دوساله را 4.22%، بازده اوراق ده‌ساله را 4.67% و بازده اوراق سی‌ساله را 5.2% نشان می‌دهد؛ در نتیجه، فاصله دوساله تا ده‌ساله برابر با 45 واحد پایه است.

تقویم پشت روز

پرس‌وجوتاریخ‌های بدون سود نقدی، تجزیه سهام، عرضه‌ها، اخبار و ترکیب گزارش‌های SEC در ۲۹ ژوئیه
کد دقیق SQL پشت هر عدد
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-29 04:00:00' AND published_utc < '2026-07-30 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-29'
    ) AS fil
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-29') AS ex_dividend_records,
    (SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-29') AS reverse_splits,
    (SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-29') AS forward_splits,
    (SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-29') AS listings,
    (SELECT count() FROM global_markets.stocks_news WHERE published_utc >= '2026-07-29 04:00:00' AND published_utc < '2026-07-30 04:00:00') AS news_articles,
    (SELECT uniqExact(JSONExtractString(publisher, 'name')) FROM global_markets.stocks_news WHERE published_utc >= '2026-07-29 04:00:00' AND published_utc < '2026-07-30 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

85 سابقه سود نقدی در 29 ژوئیه بدون سود نقدی شد؛ 2 تجزیه معکوس و 1 تجزیه عادی سهام اجرا شد و 1 نماد جدید در بازار معامله شد. خوراک خبری شامل 190 مقاله از 2 ناشر بود و NVDA پرتکرارترین نماد در بازه این خوراک، در 13 مقاله پوشش داده شد. شاخص روزانه EDGAR برای این تاریخ 5742 اظهارنامه از 3064 اظهارکننده متمایز دارد: 712 گزارش داخلی Form 4، 440 گزارش جاری 8-K، 884 پیوست قیمت‌گذاری 424B2 و 174 گزارش فصلی 10-Q. این شاخص طبق زمان‌بندی مستقل خود منتشر می‌شود و این بخش، هر آنچه را در زمان تولید در اختیار دارد، گزارش می‌کند.

در دستور کار

برای باقی‌مانده هفته، همان جداول را بررسی کنید و عمداً فراتر از این بازه زمانی را ببینید.

پرس‌وجو۳۰ و ۳۱ ژوئیه در تقویم: تعطیلی‌ها، تاریخ‌های بدون سود نقدی، تجزیه سهام، سررسید جمعه و تأخیر گزارش موقعیت‌های فروش استقراضی
کد دقیق SQL پشت هر عدد
SELECT
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date >= '2026-07-30' AND date <= '2026-07-31' AND status != 'open') AS closures_rest_of_week,
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= '2026-07-30' AND ex_dividend_date <= '2026-07-31') AS exdiv_records_rest_of_week,
    (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-30' AND ex_dividend_date <= '2026-07-31') AS household_exdivs,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= '2026-07-30' AND execution_date <= '2026-07-31') AS splits_rest_of_week,
    round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260731') / sum(size), 1) AS jul31_expiry_pct_of_wed_volume,
    (SELECT toString(max(settlement_date)) FROM global_markets.stocks_short_interest WHERE settlement_date <= '2026-07-29') AS latest_short_interest_settlement
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-29 00:00:00' AND sip_timestamp < '2026-07-30 00:00:00'
Run this yourself

جدول تعطیلات نشان می‌دهد که در پنجشنبه 30 ژوئیه و جمعه 31 ژوئیه، 0 تعطیلی ثبت شده است. در این دو جلسه معاملاتی، تاریخ بدون سود نقدی 611 سابقه پرداخت سود ثبت می‌شود؛ 0 مورد از میان ده نام بزرگ خانوار که بررسی شدند. همچنین اجرای 12 تجزیه سهام برنامه‌ریزی شده است. از حجم معاملات اختیار معامله در روز چهارشنبه، 19.7% پیشاپیش به قراردادهایی مربوط بود که تاریخ سررسیدشان جمعه 31 ژوئیه تعیین شده بود. جدیدترین تسویه مربوط به موقعیت‌های فروش استقراضی ثبت‌شده، 2026-07-15 است؛ گزارشی که با تأخیری منتشر می‌شود که توضیح جداگانه‌ای برای خود دارد.

تأیید جلسه معاملاتی

پرس‌وجوراستی‌آزمایی نشست: نخستین/آخرین کندل SPY به وقت ET، تعداد کندل‌های عادی، ثبت‌های تعطیلات، تعطیلی بعدی
کد دقیق SQL پشت هر عدد
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-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS regular_session_bars,
    uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS day_sessions,
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-29') AS jul29_holiday_rows,
    (SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-29' 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-29' 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-29 00:00:00' AND window_start < '2026-07-30 00:00:00'
Run this yourself

یک جلسه کامل عادی: نخستین کندل SPY در ساعت 04:00 به وقت ET، آخرین کندل در ساعت 19:59 به وقت ET، 390 کندل در ساعات عادی، 1 جلسه در بازه مورد بررسی، و 0 ردیف تعطیلات برای این تاریخ. تعطیلی برنامه‌ریزی‌شده بعدی Labor Day در تاریخ 2026-09-07 است.

پرسش‌های متداول

بازار سهام در چهارشنبه 29 ژوئیه 2026 چگونه عمل کرد؟

SPY نسبت به بسته‌شدن روز قبل -1.52% تغییر کرد و به 000/729.51 دلار رسید؛ QQQ در -2.07%، DIA در -2.19% و IWM در -1.63% قرار گرفتند. در میان نمادهای نقدشونده، 1652 افزایش یافت و 4342 کاهش پیدا کرد.

کدام بخش در 29 ژوئیه 2026 صدرنشین بود؟

Energy با 1.89%، بر اساس عملکرد یازده صندوق بخشی منتخب SPDR. ضعیف‌ترین مورد در میان این یازده صندوق، Industrials بود که -3.21% را ثبت کرد.

بازار اختیار معامله در 29 ژوئیه 2026 چقدر فعال بود؟

66.84 میلیون قرارداد معامله شد؛ این رقم در جلسه معاملاتی قبل 59.28 میلیون بود. قراردادهای همان‌روز 33.1% از حجم معاملات را تشکیل دادند و اختیارهای خرید 53.6% را به خود اختصاص دادند.

کدام سهم در 29 ژوئیه 2026 بیشترین ارزش معاملات را داشت؟

MU با 44.99 میلیارد دلار ارزش معاملات در ساعات عادی بازار، در صدر قرار گرفت و پس از آن SPY با 42.29 میلیارد دلار قرار داشت.

یادداشت‌های داده‌ای

این نسخه، مجموعه روزانه را از سر می‌گیرد؛ نسخه روزانه قبلی 10 ژوئیه 2026 بود و گزارش هفتگی هفته پیش از این نسخه را پوشش می‌دهد. پنل‌های نام‌گذاری‌شده هر نماد، به ترتیب الفبایی مرتب شده‌اند تا ارجاع‌های متن به ردیف‌های ثابت اشاره کنند؛ جدول‌های رتبه‌بندی و نمادهای دارای بیشترین جابه‌جایی بر اساس مقدار مرتب شده‌اند و هر ادعای مربوط به جایگاه در آن‌ها به‌صورت یک کران کنترلی رمزگذاری شده است. سبد شرکت‌های مگاکپ و سبد یازده‌صندوقی بخش‌ها، مجموعه‌هایی مشخص و ثابت هستند، نه طبقه‌بندی‌های فروشندگان داده. جدول‌های نمادهای دارای بیشترین جابه‌جایی، حداقل گردش پنج میلیون دلاری در ساعات عادی معاملات را اعمال می‌کنند، هر نمادی را که تقسیم سهام آن بین دو قیمت پایانی مورد سنجش اجرا شده باشد کنار می‌گذارند و یک نماد تکراری را نیز طبق قاعده داخلی رفع ابهام حذف می‌کنند؛ بنابراین هر اشاره، در نهایت به نامی قابل راستی‌آزمایی منتهی می‌شود. پنل‌های مظنه، مظنه‌های یک‌طرفه و متقاطع را برای هر نماد شمارش می‌کنند و آن‌ها را بی‌سروصدا حذف نمی‌کنند. فایل وزارت خزانه‌داری و نمایه روزانه EDGAR هرکدام طبق برنامه زمانی خود منتشر می‌شوند؛ بنابراین این پنل‌ها آنچه را در اختیار دارند گزارش می‌کنند و زمان رسیدن داده را مفروض نمی‌گیرند. در اینجا هیچ شاخص نوسان ضمنی وجود ندارد؛ این مجموعه‌ها در این انبار داده مجوز ندارند. ازاین‌رو، نوسان از روی نوار معاملات و با استفاده از دامنه‌ها، سهم معاملات اختیار در همان روز و رفتار مظنه‌ها خوانده می‌شود.

روش‌شناسی

  • منبع داده‌های بازار: نوار تجمیعی معاملات. delayed_stocks_minute_aggs برای قیمت‌ها و حجم‌ها، options_trades برای نوار معاملات اختیار معامله و cache_stocks_quotes و cache_options_quotes برای پنل‌های NBBO.
  • قیمت پایانی: آخرین میله دقیقه‌ای نشست عادی بازار؛ هرگز یک معامله فرضی در ساعت 16:00 و هرگز معامله‌ای در ساعات طولانی‌شده بازار نیست.
  • مدیریت منطقه زمانی: همه مُهرهای زمانی بر مبنای UTC ذخیره شده‌اند؛ عبارت‌های WHERE از مقادیر خام UTC استفاده می‌کنند و toTimeZone فقط در فهرست‌های SELECT برای برچسب‌های ET ظاهر می‌شود.
  • تأیید نشست معاملاتی: بر اساس جدول تعطیلات و میله‌های مشاهده‌شده انجام می‌شود و هرگز صرفاً بر مبنای تقویم نیست.
  • مقایسه با نشست قبلی: در خود query و بر مبنای 28 ژوئیه محاسبه شده و از پست قبلی منتقل نشده است.
  • اعشار: ستون‌های قیمت، اندازه و حجم پیش از هر تقسیم یا ضرب، به Float64 تبدیل می‌شوند.
  • تجمیع‌های قطعی: در همه‌جا از چندک‌های دقیق و قواعد رفع تساوی مبتنی بر کلیدهای تاپل استفاده شده است؛ هر ادعا درباره ترتیب یا علامت در متن، با یک کران کنترلی کدگذاری شده است.
  • تاریخ as-of انبار داده: 1 اوت 2026؛ یعنی سه روز پس از نشست و پس از تأخیر معمول یک تا دو روزه در ورود داده‌های نوار معاملات. رسیدهای محدودشده بالا، در صورت مفقود بودن یک مجموعه‌داده هنگام تولید، از انتشار پست جلوگیری می‌کنند.

پیوندهای داخلی: گزارش روزانه قبلی، گزارش هفتگی، زمان سررسید اختیار معامله، تعریف spread خرید و فروش و spread دو تا ده‌ساله.

اگر بخواهید پنجره زمانی را به نشست دیگری تغییر دهید، همه queryهای بالا بدون تغییر روی پایانه Strasmore اجرا می‌شوند.