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

خلاصه بازار هفته 20 ژوئیه 2026

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

هفتهٔ 20 ژوئیهٔ 2026، نخستین هفتهٔ کامل پس از سررسید اختیار معامله‌های ماهانهٔ ژوئیه بود و 5 جلسه معاملاتی بدون تعطیلی درون آن برگزار شد. تغییر قیمت بسته‌شدن‌به‌بسته‌شدن SPY در این هفته -0.59% بود و در مقایسهٔ باز‌به‌بسته با هفته‌های سال گذشته، رتبهٔ 43 از 53 را به دست آورد. هر عدد زیر از یک پرس‌وجوی ذخیره‌شده خوانده می‌شود و هر بازهٔ زمانی به تاریخ‌های مشخصی متصل است؛ بنابراین اجرای دوبارهٔ SQL همین ارقام را بازمی‌گرداند.

خلاصه هفته در بازار

تغییرات هفتگی از بسته شدن بازار در جمعه 17 ژوئیه تا بسته شدن بازار در جمعه 24 ژوئیه محاسبه شده است. ستون آخر مربوط به هفته قبل است، بنابراین این دو تغییر در کنار هم قرار گرفته‌اند. ردیف‌ها به ترتیب حروف الفبا هستند.

پرس‌وجوSPY / QQQ / DIA / IWM: هفته منتهی به ۲۰ ژوئیه در مقایسه با بسته شدن ۱۷ ژوئیه، همراه با تغییر هفته قبل
کد دقیق SQL پشت هر عدد
SELECT ticker,
    round(argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-17 13:30:00' AND window_start < '2026-07-17 20:00:00'), 2) AS prior_week_close,
    round(argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-24 13:30:00' AND window_start < '2026-07-24 20:00:00'), 2) AS week_close,
    round((argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-24 13:30:00' AND window_start < '2026-07-24 20:00:00')
         / argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-17 13:30:00' AND window_start < '2026-07-17 20:00:00') - 1) * 100, 2) AS week_change_pct,
    round((argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-17 13:30:00' AND window_start < '2026-07-17 20:00:00')
         / argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00') - 1) * 100, 2) AS prior_week_change_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
  AND ((window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00')
    OR (window_start >= '2026-07-17 13:30:00' AND window_start < '2026-07-17 20:00:00')
    OR (window_start >= '2026-07-24 13:30:00' AND window_start < '2026-07-24 20:00:00'))
GROUP BY ticker
ORDER BY ticker

در پایان هفته: شاخص DIA به میزان -0.38% درصد، IWM به میزان -0.98% درصد، QQQ به میزان -1.59% درصد و SPY به میزان -0.59% درصد تغییر کردند و در قیمت 738.85 دلار بسته شدند. ارقام هفته قبل، به همان ترتیب حروف الفبا، به ترتیب -0.95-0.63-4.17% و -1.55% بودند. اولین چیزی که یک جدول امتیازات اندازه می‌گیرد، فاصله این چهار شاخص از یکدیگر است، و این فاصله همیشه کم نیست.

هفته در برابر سال گذشته

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

پرس‌وجوهفته SPY در بافت سال گذشته (بازده هفتگی از باز تا بسته)
کد دقیق SQL پشت هر عدد
SELECT round(anyIf(ret, wk = toDate('2026-07-20')), 2) AS week_open_to_close_pct,
       arrayCount(x -> x > anyIf(ret, wk = toDate('2026-07-20')), groupArrayIf(ret, wk != toDate('2026-07-20'))) + 1 AS rank_best,
       count() AS weeks_compared,
       toString(min(wk)) AS first_week,
       anyIf(sessions_measured, wk = toDate('2026-07-20')) AS sessions_this_week
FROM (
    SELECT toStartOfWeek(toDate(toTimeZone(window_start, 'America/New_York')), 1) AS wk,
           uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions_measured,
           (argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS ret
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2025-07-21 00:00:00')
      AND window_start < toDateTime('2026-07-25 00:00:00')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY wk
    HAVING sessions_measured >= 3
)

با این روش اندازه‌گیری، SPY بازدهی -1.1% داشته و رتبه 43 از 53 هفته گذشته تا 2025-07-21 را کسب کرده است. به شکاف تعریفی توجه کنید: این رقم از اولین باز جلسه عادی هفته شروع می‌شود، در حالی که جدول امتیازات بالا از بسته هفته قبل آغاز می‌شود. هر دو در هر جایی که ظاهر می‌شوند برچسب‌گذاری شده‌اند.

پنج جلسه، یک روند

پرس‌وجوSPY بر اساس جلسه: بسته شدن، تغییر و حجم سهام، ۲۰-۲۴ ژوئیه
کد دقیق SQL پشت هر عدد
SELECT toString(d) AS date,
       round(c, 2) AS spy_close,
       round((c / prev_c - 1) * 100, 2) AS change_pct,
       round(shares_m, 1) AS spy_shares_m
FROM (
    SELECT d, c, shares_m,
           lagInFrame(c) OVER (ORDER BY d ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_c
    FROM (
        SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
               argMax(toFloat64(close), window_start) AS c,
               toFloat64(sum(volume)) / 1e6 AS shares_m
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND ((window_start >= '2026-07-17 13:30:00' AND window_start < '2026-07-17 20:00:00')
            OR (window_start >= '2026-07-20 13:30:00' AND window_start < '2026-07-24 20:00:00'))
          AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
        GROUP BY d
    )
)
WHERE d >= '2026-07-20'
ORDER BY date

جلسه به جلسه، تغییرات SPY به ترتیب -0.15% در دوشنبه، 0.84% در سه‌شنبه، -0.12% در چهارشنبه، -1.22% در پنج‌شنبه و 0.08% در جمعه ثبت شد و در نهایت با قیمت 738.85 دلار و حجم 40.1 میلیون سهم بسته شد. رقم دوشنبه نسبت به بسته شدن 17 ژوئیه، یعنی آخرین جلسه قبل از این دوره، سنجیده شده است.

گستردگی بازار، جلسه به جلسه

یک شاخص تنها یک عدد است. گستردگی بازار تعداد سهامی را می‌سنجد که با آن شاخص حرکت کرده‌اند و این عدد تعیین می‌کند که یک هفته سبز، گسترده بوده یا محدود.

پرس‌وجونمادهای صعودی و نزولی به تفکیک جلسه، با معاملات بالای ۵ میلیون دلار، ۲۰-۲۴ ژوئیه
کد دقیق SQL پشت هر عدد
SELECT toString(d) AS date, advancers, decliners, unchanged, measured_names
FROM (
    SELECT d,
           countIf(c > prev_c) AS advancers,
           countIf(c < prev_c) AS decliners,
           countIf(c = prev_c) AS unchanged,
           count() AS measured_names
    FROM (
        SELECT d, c, dv,
               lagInFrame(c) OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_c
        FROM (
            SELECT ticker,
                   toDate(toTimeZone(window_start, 'America/New_York')) AS d,
                   argMax(toFloat64(close), window_start) AS c,
                   sum(toFloat64(close) * toFloat64(volume)) AS dv
            FROM global_markets.delayed_stocks_minute_aggs
            WHERE ((window_start >= '2026-07-17 13:30:00' AND window_start < '2026-07-17 20:00:00')
                OR (window_start >= '2026-07-20 13:30:00' AND window_start < '2026-07-24 20:00:00'))
              AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
            GROUP BY ticker, d
        )
    )
    WHERE d >= '2026-07-20' AND prev_c > 0 AND dv >= 5000000
    GROUP BY d
)
ORDER BY date

روز دوشنبه، 1268 از 3945 نامِ اندازه‌گیری‌شده افزایش یافت و 2632 کاهش داشت. تا روز جمعه، تقسیم‌بندی به 2273 سهم صعودی در برابر 1635 سهم نزولی از مجموع 3950 رسید. نام‌هایی که در هر دو سوی یک جلسه معاملاتی بسته نشده‌اند، حذف می‌شوند؛ به همین دلیل تعداد اندازه‌گیری‌شده روزبه‌روز اندکی تغییر می‌کند.

همین پرسش، یک‌بار در کل هفته:

پرس‌وجووسعت هفتگی: بسته شدن عادی ۲۴ ژوئیه در مقابل بسته شدن عادی ۱۷ ژوئیه، نمادهای با معاملات بالای ۵ میلیون دلار در طول هفته
کد دقیق SQL پشت هر عدد
SELECT
    countIf(cw > cp AND liquid) AS advancers,
    countIf(cw < cp AND liquid) AS decliners,
    countIf(cw = cp AND liquid) AS unchanged,
    countIf(liquid) AS measured_names,
    countIf(NOT liquid) AS dropped_by_liquidity_filter,
    round(100.0 * countIf(cw > cp AND liquid) / countIf(liquid), 1) AS advancer_pct
FROM (
    SELECT ticker, cp, cw, dv >= 5000000 AS liquid
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start < '2026-07-18 00:00:00') AS cp,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-24 13:30:00') AS cw,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-20 13:30:00') AS dv
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ((window_start >= '2026-07-17 13:30:00' AND window_start < '2026-07-17 20:00:00')
            OR (window_start >= '2026-07-20 13:30:00' AND window_start < '2026-07-25 00:00:00'))
          AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
        GROUP BY ticker
        HAVING cp > 0 AND cw > 0
    )
)

از میان 6100 نامی که از سقف گردش مالی پنج میلیون دلاری در ساعات عادی معامله عبور کرده‌اند، 2437 بالاتر از بسته شدن 17 ژوئیه بسته شدند و 3630 پایین‌تر از آن بسته شدند؛ سهم صعودی‌ها 40% بود. فیلتر نقدشوندگی 5099 نام دیگر را که در طول هفته زیر این سقف معامله کرده‌اند، کنار گذاشت. این نام‌ها در اینجا شمارش می‌شوند، نه اینکه بی‌صدا حذف شوند.

جدول امتیازدهی بخش‌ها

یازده ETF بخشی اس‌پی‌دی‌آر، از بسته شدن 17 ژوئیه تا 24 ژوئیه، به ترتیب از بهترین به بدترین رتبه‌بندی شده‌اند.

پرس‌وجوETF‌های بخشی، تغییر کل هفته: بسته شدن ۲۴ ژوئیه در مقابل بسته شدن ۱۷ ژوئیه
کد دقیق SQL پشت هر عدد
SELECT sector, week_pct, round(max(week_pct) OVER () - week_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((cw / cp - 1) * 100, 2) AS week_pct
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start < '2026-07-18 00:00:00') AS cp,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-24 13:30:00') AS cw
        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-17 13:30:00' AND window_start < '2026-07-17 20:00:00')
            OR (window_start >= '2026-07-24 13:30:00' AND window_start < '2026-07-24 20:00:00'))
        GROUP BY ticker
        HAVING cp > 0 AND cw > 0
    )
)
ORDER BY week_pct DESC

Energy در صدر جدول با 3.33% قرار داشت. Consumer Discretionary در پایین جدول با -5.28.53 واحد درصد عقب‌تر از آن. این شکاف، پراکندگی بخشی هفته است و به خودی خود ارزش خواندن دارد: هفته‌ای که هر یازده بخش در فاصله یک واحد درصد از یکدیگر قرار می‌گیرند، بازاری بسیار متفاوت از بازاری است که دامنه اختلاف به دو رقم می‌رسد.

دلارها کجا رفتند

پرس‌وجونمادهای برتر بر اساس حجم دلاری ساعات عادی، کل هفته ۲۰-۲۴ ژوئیه
کد دقیق SQL پشت هر عدد
SELECT ticker, week_dollar_bn, round(100 * week_dollar_bn / max(week_dollar_bn) OVER (), 1) AS pct_of_leader
FROM (
    SELECT ticker,
           round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 1) AS week_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-07-20 13:30:00' AND window_start < '2026-07-24 20:00:00'
      AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
      AND ticker NOT IN ('SPCX')
    GROUP BY ticker
    ORDER BY week_dollar_bn DESC
    LIMIT 8
)
ORDER BY week_dollar_bn DESC

MU در پنج جلسه معاملاتی، 158.1 میلیارد دلار گردش مالی در ساعات عادی ثبت کرد که از SPY با 133.9 میلیارد دلار و QQQ با 101.5 میلیارد دلار پیشی گرفت. AAPL با رتبه هشتم، معادل 34.5% از دلارهای رهبر بازار را معامله کرد. رکوردهای گردش مالی نشان می‌دهند که بازار هفته خود را صرف چه موضوعاتی کرده است و لزوماً با قیمت هم‌راستا نیستند. نسخهٔ هر سهم از این معیار حجم نسبی نام دارد.

بزرگ‌ترین تغییردهنده‌های هفته

تقسیم سهم، رقم را تغییر می‌دهد بدون آنکه ارزش را جابه‌جا کند: یک تقسیم معکوس یک افزایش ساختگی چهاررقمی ایجاد می‌کند و یک تقسیم عادی یک سقوط ساختگی به همان اندازه. در این هفته 25 تقسیم معکوس و 11 تقسیم عادی انجام شد و هر دو جدول زیر هر سهمی را که تقسیم آن بین بسته شدن 17 ژوئیه و بسته شدن 24 ژوئیه اجرا شده باشد (دقیقاً همان بازه‌ای که تغییر در آن اندازه‌گیری می‌شود) حذف می‌کنند. همچنین هر دو به پنج میلیون دلار گردش مالی در ساعات عادی نیاز دارند.

پرس‌وجوتغییردهنده‌های هفتگی: ده نماد با بیشترین افزایش و کاهش، بسته شدن ساعات عادی، معاملات بالای ۵ میلیون دلار، به استثنای تقسیم سهام
کد دقیق SQL پشت هر عدد
SELECT ticker, board, week_pct, week_dollar_m, sessions_traded,
       round(100 * week_dollar_m / max(week_dollar_m) OVER (), 1) AS pct_of_dollar_max
FROM (
    SELECT 'gainers' AS board, ticker, round((cw / cp - 1) * 100, 1) AS week_pct,
           round(dv / 1e6, 1) AS week_dollar_m, sessions_traded
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start < '2026-07-18 00:00:00') AS cp,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-24 13:30:00') AS cw,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-20 13:30:00') AS dv,
               uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-20 13:30:00') AS sessions_traded
        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-17' AND execution_date <= '2026-07-24')
          AND ((window_start >= '2026-07-17 13:30:00' AND window_start < '2026-07-17 20:00:00')
            OR (window_start >= '2026-07-20 13:30:00' AND window_start < '2026-07-25 00:00:00'))
          AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
        GROUP BY ticker
        HAVING cp > 0 AND cw > 0 AND dv >= 5000000
    )
    ORDER BY week_pct DESC
    LIMIT 10
    UNION ALL
    SELECT 'decliners' AS board, ticker, round((cw / cp - 1) * 100, 1) AS week_pct,
           round(dv / 1e6, 1) AS week_dollar_m, sessions_traded
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start < '2026-07-18 00:00:00') AS cp,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-24 13:30:00') AS cw,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-20 13:30:00') AS dv,
               uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-20 13:30:00') AS sessions_traded
        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-17' AND execution_date <= '2026-07-24')
          AND ((window_start >= '2026-07-17 13:30:00' AND window_start < '2026-07-17 20:00:00')
            OR (window_start >= '2026-07-20 13:30:00' AND window_start < '2026-07-25 00:00:00'))
          AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
        GROUP BY ticker
        HAVING cp > 0 AND cw > 0 AND dv >= 5000000
    )
    ORDER BY week_pct ASC
    LIMIT 10
)
ORDER BY board DESC, abs(week_pct) DESC

راه یافتن به هر یک از این جدول‌ها نیازمند یک حرکت واقعی بود. ملایم‌ترین افزایش‌یافته نشان‌داده‌شده 92.3% رشد کرد و ملایم‌ترین کاهش‌یافته -47.8% ثبت کرد. در نقاط افراطی، STAK به میزان 383.7% با 251.6 میلیون دلار معامله جابه‌جا شد و LBGJ به میزان -98.8% با 47.7 میلیون دلار. این کاهش نزدیک به کل ارزش اعلام‌شده آن سهم است، بنابراین جدول رسید خود را نیز دارد: LBGJ در 5 از پنج جلسه، میله‌های ساعات عادی ثبت کرد و هیچ تقسیمی بین دو بسته‌شدنی که جدول اندازه‌گیری می‌کند علیه آن اجرا نشد.

اسپرد اعلامی، جلسه به جلسه

قیمت، عنوان اصلی است. هزینهٔ انجام معامله، اسپرد اعلامی است که در اینجا روی SPY و به صورت جلسه‌ای اندازه‌گیری شده، مستقیماً از نوار خام NBBO و نه از هیچ خلاصه‌ای.

پرس‌وجومیانه اسپرد اعلامی SPY و به‌روزرسانی‌های NBBO به تفکیک جلسه، ساعات عادی، ۲۰-۲۴ ژوئیه
کد دقیق SQL پشت هر عدد
SELECT toString(toDate(sip_timestamp)) AS date,
       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 = 'SPY'
  AND sip_timestamp >= '2026-07-20 13:30:00'
  AND sip_timestamp < '2026-07-24 20:00:00'
  AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
GROUP BY toDate(sip_timestamp)
HAVING countIf(bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) > 0
ORDER BY toDate(sip_timestamp)

میانهٔ اسپرد اعلامی SPY در روز دوشنبه 0.27 واحد پایه از قیمت میانی و در روز جمعه 0.27 واحد پایه بود، بر روی 3.89 میلیون و 4.4 میلیون به‌روزرسانی NBBO. دو ستون آخر افشا هستند نه یافته: 0 قیمت‌گذاری یک‌طرفه و 1084 قیمت‌گذاری متقاطع از میانهٔ دوشنبه شمارش شدند، نه اینکه بی‌صدا حذف شوند. قیمت‌گذاری متقاطع، یعنی پیشنهاد خرید بالاتر از پیشنهاد فروش، یک مصنوع معمولی از فید تلفیقی است که از مکان‌های متعدد با وضوح نانوثانیه به هم دوخته شده است.

هفته‌ی آپشن‌ها پس از انقضای ماهانه

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

پرس‌وجوقراردادهای اختیار معامله، سهام هم‌روز و سهام اختیار خرید به تفکیک جلسه، ۲۰-۲۴ ژوئیه
کد دقیق SQL پشت هر عدد
SELECT toString(toDate(sip_timestamp)) AS date,
       round(toFloat64(sum(size)) / 1e6, 1) AS contracts_m,
       round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = formatDateTime(toDate(sip_timestamp), '%y%m%d')) / sum(size), 1) AS pct_0dte,
       round(100.0 * sumIf(size, substring(ticker, length(ticker) - 8, 1) = 'C') / sum(size), 1) AS pct_call,
       round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260724') / sum(size), 1) AS pct_expiring_jul24
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-20 00:00:00' AND sip_timestamp < '2026-07-25 00:00:00'
GROUP BY toDate(sip_timestamp)
ORDER BY toDate(sip_timestamp)

حجم قراردادها در روز دوشنبه 64 میلیون و در روز جمعه 71.1 میلیون بود. سهم همان روز، یعنی قراردادهایی که در همان جلسه‌ای که معامله می‌شوند منقضی می‌شوند، در دوشنبه 40.2% و در برابر جمعه 49%، جلسه‌ی انقضای هفته، ثبت شد. تماس‌ها 53.5% از حجم قراردادهای جمعه را به خود اختصاص دادند. و جاذبه‌ی آن جمعه از همان جلسه‌ی آغازین قابل مشاهده بود: 15.1% از حجم دوشنبه در قراردادهایی قرار داشت که برای انقضا در آن تاریخ تعیین شده بودند.

نرخ‌ها در طول هفته

پرس‌وجومنحنی خزانه‌داری به تفکیک جلسه، از چاپ ۱۷ ژوئیه تا ۲۴ ژوئیه
کد دقیق 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,
       round((toFloat64(yield_10_year) - (SELECT toFloat64(any(yield_10_year)) FROM global_markets.treasury_yields WHERE date = '2026-07-17')) * 100) AS chg_10y_from_prior_close_bp
FROM global_markets.treasury_yields
WHERE date >= '2026-07-17' AND date <= '2026-07-24'
ORDER BY date

از انتشار 17 ژوئیه اندازه‌گیری شده، نرخ ده‌ساله به میزان 16 واحد پایه تغییر کرد و در آخرین انتشار ثبت‌شده به 4.71% رسید. نرخ دو‌ساله 4.37% و نرخ سی‌ساله 5.17% بود. شکاف دو تا ده‌ساله در پایان این سری در 34 واحد پایه قرار گرفت. فایل خزانه‌داری تقریباً یک جلسه از داده‌های لحظه‌ای عقب‌تر است، بنابراین این بخش شامل 5 انتشار است که هر یک در جدول تاریخ‌گذاری شده‌اند.

فروشندگان استقراضی: پرونده‌های روزانه

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

پرس‌وجوپوشش فایل حجم فروش استقراضی روزانه: نمادهای موجود در فایل و سهام فروخته شده، ۲۰-۲۴ ژوئیه
کد دقیق SQL پشت هر عدد
SELECT date, tickers_on_file, short_shares_bn,
       round(100.0 * tickers_on_file / max(tickers_on_file) OVER (), 1) AS pct_of_fullest_file
FROM (
    SELECT toString(date) AS date,
           uniqExact(ticker) AS tickers_on_file,
           round(sum(short_shares) / 1e9, 2) AS short_shares_bn
    FROM (
        SELECT date, ticker, max(short_volume) AS short_shares
        FROM global_markets.stocks_short_volume
        WHERE date >= '2026-07-20' AND date <= '2026-07-24'
        GROUP BY date, ticker
    )
    GROUP BY date
)
ORDER BY date

5 پرونده روزانه برای هفته در دسترس است. اولین پرونده شامل 15098 نماد و 4.71 میلیارد سهم با برچسب فروش استقراضی است؛ آخرین پرونده شامل 15062 نماد، یا 99.7% از تعداد نمادهای کامل‌ترین پرونده است. هر ادعایی درباره حجم فروش استقراضی یک نام خاص که از پرونده‌ای با حجم بسیار کمتر از پرونده‌های مجاور استخراج شده باشد، تا زمانی که آن پرونده دوباره بارگذاری نشود، قابل تأیید نیست.

تقویم پشت هفته

پرس‌وجوپرونده‌های SEC به تفکیک جلسه و نوع فرم، ۲۰-۲۴ ژوئیه
کد دقیق SQL پشت هر عدد
SELECT toString(filing_date) AS date,
       count() AS filings,
       countIf(form_type = '4') AS form4,
       countIf(form_type = '8-K') AS form8k,
       countIf(form_type = '424B2') AS f424b2
FROM global_markets.stocks_sec_edgar_index
WHERE filing_date >= '2026-07-20' AND filing_date <= '2026-07-24'
GROUP BY filing_date
ORDER BY date

نخستین جلسه در پرونده شامل 3012 پرونده بود که 632 مورد از آنها گزارش‌های فرم 4 داخلی و 166 مورد از آنها 8-K بودند. آخرین جلسه شامل 3814 پرونده بود که 644 مورد فرم 4 و 223 مورد 8-K داشتند. 5 از جلسات هفته دارای شاخص روزانه EDGAR در پرونده هستند؛ این شاخص طبق برنامه زمانی خود منتشر می‌شود که گاهی از نوار عقب می‌ماند.

پرس‌وجوتقویم شرکتی هفته: سود سهام، تقسیم سهام، عرضه اولیه، اخبار
کد دقیق SQL پشت هر عدد
SELECT
    (SELECT count() FROM global_markets.stocks_sec_edgar_index WHERE filing_date >= '2026-07-20' AND filing_date <= '2026-07-24') AS filings_week,
    (SELECT uniqExact(filing_date) FROM global_markets.stocks_sec_edgar_index WHERE filing_date >= '2026-07-20' AND filing_date <= '2026-07-24') AS filing_days_on_file,
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= '2026-07-20' AND ex_dividend_date <= '2026-07-24') AS ex_dividends_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-20' AND ex_dividend_date <= '2026-07-24') AS household_ex_dividends_week,
    (SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date >= '2026-07-20' AND execution_date <= '2026-07-24') AS reverse_splits_week,
    (SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date >= '2026-07-20' AND execution_date <= '2026-07-24') AS forward_splits_week,
    (SELECT count() FROM global_markets.stocks_ipos WHERE listing_date >= '2026-07-20' AND listing_date <= '2026-07-24') AS listings_week,
    (SELECT count() FROM global_markets.stocks_news WHERE published_utc >= '2026-07-20 04:00:00' AND published_utc < '2026-07-25 04:00:00') AS news_week,
    (SELECT uniqExact(JSONExtractString(publisher, 'name')) FROM global_markets.stocks_news WHERE published_utc >= '2026-07-20 04:00:00' AND published_utc < '2026-07-25 04:00:00') AS news_publishers_week

بقیه مدارک هفته: 17106 پرونده SEC در 5 روز نمایه‌شده، 592 رکورد بدون سود نقدی، 1 مورد از آنها از ده نام خانوادگی که این پنل بررسی می‌کند، 25 تقسیم سهم معکوس و 11 مستقیم، 4 فهرست‌بندی جدید، و 1704 مقاله از 2 ناشر. این جفت آخر توجه یک خوراک خبری را اندازه می‌گیرد، نه رسانه‌های جهان را.

جلسات تأیید شده

پرس‌وجوتأیید جلسات: جلسات، میله‌ها، ردیف‌های تعطیل، بسته شدن صعودی و نزولی، تعطیلی بعدی
کد دقیق SQL پشت هر عدد
WITH spy AS (
    SELECT d, c, lagInFrame(c) OVER (ORDER BY d ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS p
    FROM (
        SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
               argMax(toFloat64(close), window_start) AS c
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND ((window_start >= '2026-07-17 13:30:00' AND window_start < '2026-07-17 20:00:00')
            OR (window_start >= '2026-07-20 13:30:00' AND window_start < '2026-07-24 20:00:00'))
          AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
        GROUP BY d
    )
)
SELECT
    uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions_in_week,
    toString(min(toDate(toTimeZone(window_start, 'America/New_York')))) AS first_session,
    toString(max(toDate(toTimeZone(window_start, 'America/New_York')))) AS last_session,
    count() AS regular_bars_in_week,
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date >= '2026-07-20' AND date <= '2026-07-24') AS holiday_rows_in_week,
    (SELECT countIf(c > p) FROM spy WHERE d >= '2026-07-20') AS up_sessions,
    (SELECT countIf(c < p) FROM spy WHERE d >= '2026-07-20') AS down_sessions,
    (SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-24' 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-24' 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-20 13:30:00' AND window_start < '2026-07-24 20:00:00'
  AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199

5 جلسه، از 2026-07-20 تا 2026-07-24، با 0 ردیف تعطیلات در هر نقطه از بازه. اس‌پی‌وای در این جلسات 1950 کندل دقیقه‌ای جلسه عادی چاپ کرد. 2 جلسه بالاتر از بسته قبلی بسته شدند و 3 جلسه پایین‌تر بسته شدند. بسته شدن برنامه‌ریزی‌شده بعدی Labor Day در 2026-09-07 است.

در پیش رو

در هفته آینده، از جداول خود ما بخوانید:

پرس‌وجوهفته آینده در تقویم: تعطیلی‌ها، سود سهام بدون حق تقدم، تقسیم سهام و برداشت سررسید
کد دقیق SQL پشت هر عدد
SELECT
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date >= '2026-07-27' AND date <= '2026-07-31' AND status != 'open') AS closures_next_week,
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= '2026-07-27' AND ex_dividend_date <= '2026-07-31') AS ex_dividends_next_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-27' AND ex_dividend_date <= '2026-07-31') AS household_ex_div_next_week,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= '2026-07-27' AND execution_date <= '2026-07-31') AS splits_next_week,
    (SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260731') / sum(size), 1) FROM global_markets.options_trades WHERE sip_timestamp >= '2026-07-24 00:00:00' AND sip_timestamp < '2026-07-25 00:00:00') AS jul31_expiry_pct_of_friday_volume,
    (SELECT toString(max(settlement_date)) FROM global_markets.stocks_short_interest WHERE settlement_date <= '2026-07-24') AS latest_short_interest_settlement

جدول تعطیلات نشان‌دهنده 0 تعطیلی در هفته آینده است. 368 تاریخ بدون-سود-نقدی (ex-dividend) در این بازه قرار می‌گیرد که 0 آن از مجموعه خانوارهاست، در کنار 15 تقسیم سهم برنامه‌ریزی‌شده. از حجم اختیار معامله (options) روز جمعه، 14.2% پیش‌تر در قراردادهایی بود که جمعه آینده منقضی می‌شوند. جدیدترین تاریخ تسویه بهره‌ی کوتاه‌مدت (short interest) در پرونده 2026-07-15 است؛ پرونده‌ای که با تأخیری به‌اندازه‌ی کافی برای توضیح جداگانه خود منتشر می‌شود.

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

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

شاخص SPY در بازه 17 تا 24 ژوئیه، نسبت به بسته شدن قبلی، -0.59% درصد تغییر کرد. شاخص QQQ با -1.59% درصد، DIA با -0.38% درصد و IWM با -0.98% درصد همراه بودند. در میان نام‌های نقدشونده، 2437 افزایش یافت و 3630 کاهش داشت.

کدام بخش در هفته 20 ژوئیه 2026 پیشتاز بود؟

Energy با 3.33% درصد. ضعیف‌ترین بخش از میان یازده صندوق قابل معامله بخشی (ETF) اس‌پی‌دی‌آر، Consumer Discretionary با -5.2% درصد بود که 8.53 واحد درصد عقب‌تر قرار داشت.

در هفته 20 ژوئیه 2026 چند جلسه معاملاتی برگزار شد؟

5 جلسه، از 2026-07-20 تا 2026-07-24، با 0 ردیف تعطیلات در این بازه. تعطیلی برنامه‌ریزی‌شده بعدی Labor Day است.

کدام نماد در هفته 20 ژوئیه 2026 بیشترین حجم معاملات دلاری را داشت؟

MU با 158.1 میلیارد دلار گردش مالی در ساعات عادی معاملات، پیش از SPY با 133.9 میلیارد دلار.

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

تمام برچسب‌های زمانی ذخیره‌شده به UTC هستند. ساعات عادی هر جلسه 13:30-20:00 UTC دقیقه است و مرزهای هفته از بسته شدن عادی 17 ژوئیه تا 24 ژوئیه تعیین می‌شوند. هر پنل مقایسه پایانی‌به‌پایانی در اینجا آخرین میله یک‌دقیقه‌ای ساعات عادی را در هر طرف مقایسه می‌خواند، بنابراین یک چاپ خارج از ساعات عادی هرگز نمی‌تواند بسته شدن هفتگی را تعیین کند. رتبه‌بندی سال گذشته از بازده هفتگی باز‌تا‌بسته استفاده می‌کند، بنابراین با جدول امتیازات پایانی‌به‌پایانی مطابقت نخواهد داشت؛ هر دو تعریف در جایی که ظاهر می‌شوند برچسب‌گذاری شده‌اند. پهنای هفتگی و تابلوهای نوسان‌دهنده یک فیلتر گردش مالی پنج میلیون دلاری ساعات عادی را اعمال می‌کنند و پهنای هفتگی تعداد نام‌هایی را که این فیلتر کنار گذاشته منتشر می‌کند. تابلوهای نوسان‌دهنده هر نامی را که تقسیم سهام آن پس از بسته شدن 17 ژوئیه و تا 24 ژوئیه اجرا شده باشد، حذف می‌کنند، یعنی دقیقاً بازه‌ای که تغییر در آن اندازه‌گیری می‌شود، که هم تقسیم سهام ثبت‌شده در آخر هفته میانی و هم تقسیم ثبت‌شده در یک جلسه معاملاتی را شامل می‌شود. این تابلوها صندوق‌های اهرمی و معکوس را حذف نمی‌کنند، که می‌توانند در یک هفته جهت‌دار بر یک تابلوی نوسان‌دهنده غالب شوند. پایین تابلوی کاهش‌یافته می‌تواند نزدیک به از دست رفتن کامل ارزش قیمت‌گذاری‌شده برای هفته باشد و آن تابلو منتشر می‌کند که هر نام در چند جلسه از پنج جلسه چاپ شده است. پنل اسپرد SPY نقل‌قول‌های یک‌طرفه و متقاطع را به‌جای حذف بی‌صدا، شمارش می‌کند و میانه از روی نقل‌قول‌های معتبر باقی‌مانده گرفته می‌شود. فایل خزانه‌داری حدود یک جلسه از نوار عقب‌تر است و شاخص روزانه EDGAR طبق برنامه خودش منتشر می‌شود، بنابراین پنل‌های نرخ‌ها و پرونده‌ها گزارش می‌دهند که در واقع چند روز را پوشش می‌دهند. هیچ شاخص تلویحی نوسانی در اینجا ظاهر نمی‌شود: آن سری‌ها برای این انبار داده مجوز ندارند، بنابراین نوسان از طریق دامنه‌ها، سهم آپشن‌های همان روز و رفتار نقل‌قول از نوار خوانده می‌شود.

روششناسی

  • منبع دادههای بازار: نوار تلفیقی. delayed_stocks_minute_aggs برای قیمتها و حجمها، cache_stocks_quotes برای پنل NBBO، options_trades برای هفته آپشنها.
  • قیمت بسته شدن: آخرین میله دقیقهای جلسه معاملاتی عادی، نه چاپ فرضی ساعت 16:00 و نه چاپ خارج از ساعات عادی.
  • جلسات معاملاتی: با استفاده از جدول تعطیلات و میلههای مشاهدهشده تأیید شده، نه با فرض از روی تقویم.
  • مدیریت منطقه زمانی: بندهای WHERE از حروف UTC خام استفاده میکنند و toTimeZone تنها در فهرستهای SELECT برای برچسبهای ET ظاهر میشود.
  • اعداد اعشاری: ستونهای قیمت، اندازه و حجم قبل از هر تقسیم یا ضرب به Float64 تبدیل میشوند.
  • تجمیعهای قطعی: چندکهای دقیق در سراسر متن، و هر ادعای ترتیب یا علامت در نثر به عنوان یک کران اطمینان رمزگذاری شده است.
  • تاریخ پایه انبار داده: 26 ژوئیه 2026.

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

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