Strasmore Research
ملخص الأسواق Matt Connorبقلم Matt Connor · آخر تحديث في 2026-08-03

مراجعة السوق في 28 يوليو 2026 بالأرقام

مراجعة جلسة 28 يوليو 2026 استناداً إلى بيانات التداول: مؤشرات السوق، اتساعه، فروق القطاعات، تدفقات الخيارات، الأسعار، الفائدة والتقويم، وكل رقم مدعوم باستعلام.

تقرأ هذه المراجعة السوقية لجلسة الثلاثاء، 28 يوليو 2026، الجلسة كاملةً استناداً إلى استعلامات مخزّنة: بلغ التغير في إغلاق SPY مقارنةً بالإغلاق السابق 0.24%، وبلغت حصة الأسهم الصاعدة في السوق السائل 58.6%، فيما سجلت سوق الخيارات 59.28 مليون عقد. وترتبط كل فترة أدناه بتاريخَي بداية ونهاية محددين، لذلك تعيد إعادة تشغيل SQL لأي لوحة العرض هذه الأرقام نفسها.

لوحة النتائج

تقارن كل حركة بين شمعة الدقيقة الأخيرة من الجلسة الاعتيادية في 28 يوليو ونظيرتها في جلسة الاثنين 27 يوليو، وهما جلستان متتاليتان للتداول. وتظهر الصفوف بترتيب أبجدي، لذلك يحتفظ كل ETF بموضع ثابت.

الاستعلامSPY / QQQ / DIA / IWM: 28 يوليو مقابل إغلاق 27 يوليو، خلال الساعات العادية
استعلام 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-27 13:30:00' AND window_start < '2026-07-27 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-28 13:30:00' AND window_start < '2026-07-28 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 بمقدار 1.07%، وIWM بمقدار 0.15%، وQQQ بمقدار -0.96%، وSPY بمقدار 0.24% ليغلق عند $740.76. ويقسم كل صف الحركة إلى جزأين: افتتح SPY عند مستوى يبعد 0.02% عن إغلاق الاثنين، ثم تحرك بمقدار 0.21% من الافتتاح إلى الإغلاق. ولا يشترط أن تتفق حركة ما بين الجلسات مع الحركة خلال الجلسة، كما أن توزيع الحركة بينهما يمثل البصمة الأولى للجلسة.

هل كان اليوم غير اعتيادي؟

لا تعني حركة جلسة واحدة الكثير من دون معرفة توزيع الحركات، لذلك يُرتَّب اليوم ضمن شهره السابق وفق المنطق نفسه.

الاستعلامحركة SPY اليومية في السياق المتتابع (من الافتتاح إلى الإغلاق، من 29 يونيو إلى 28 يوليو)
استعلام SQL الدقيق وراء كل رقم
SELECT
    round(anyIf(oc_pct, d = toDate('2026-07-28')), 2) AS spy_open_to_close_pct,
    arrayCount(x -> x > abs(anyIf(oc_pct, d = toDate('2026-07-28'))), groupArrayIf(abs(oc_pct), d != toDate('2026-07-28'))) + 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-29 00:00:00')
      AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
    GROUP BY d
)
Run this yourself

احتل تحرك SPY من الافتتاح إلى الإغلاق، البالغ 0.21%، المرتبة 14 من أصل 21 جلسة سابقة من حيث القيمة المطلقة، ضمن نافذة تمتد إلى 2026-06-29. ويحسب الترتيب عدد الجلسات الأخرى في النافذة التي سجلت تحركاً أكبر، ثم يضيف واحداً. لذلك كانت المرتبة الأولى ستعني أكبر تحرك خلال الشهر السابق.

اتساع السوق

مستوى المؤشر رقم واحد. أما اتساع السوق فيحصي عدد الأسهم التي تحركت معه.

الاستعلاماتساع نطاق التداول السائل: إغلاق 28 يوليو مقابل إغلاق 27 يوليو، مع حد تداول $1M
استعلام SQL الدقيق وراء كل رقم
SELECT
    countIf(c28 > c27 AND liquid) AS advancers,
    countIf(c28 < c27 AND liquid) AS decliners,
    countIf(c28 = c27 AND liquid) AS unchanged,
    countIf(liquid) AS liquid_tickers,
    countIf(NOT liquid) AS dropped_by_liquidity_filter,
    round(100.0 * countIf(c28 > c27 AND liquid) / countIf(liquid), 1) AS advancer_pct
FROM (
    SELECT ticker, c27, c28, dv28 >= 1000000 AS liquid
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS c27,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS c28,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-28 13:30:00') AS dv28
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-28 20:00:00'
        GROUP BY ticker
        HAVING c27 > 0 AND c28 > 0
    )
)
Run this yourself

من بين 6008 سهماً تجاوزت قيمة تداولاتها خلال ساعات السوق الاعتيادية عتبة مليون دولار، أغلقت 3519 أسهماً فوق إغلاق يوم الاثنين، بينما أغلقت 2423 أسهماً دونه، لتبلغ حصة الأسهم الصاعدة 58.6%. واستبعد الفلتر 5346 من الأسهم الأقل سيولة، وقد أُدرجت هنا بدلاً من تجاهلها بصمت.

سلة الشركات العملاقة

تظهر أسماء الشركات العملاقة الثمانية نفسها هنا في كل جلسة، مرتبةً أبجدياً بحيث يحتفظ كل اسم بصفه. وتكمن الفكرة في استخدام سلة ثابتة: إذ يتعرّف القارئ إلى الصفوف، ولا يختار التحرير فائزين بأثر رجعي.

الاستعلامثمانية أسهم ضخمة: التغير مقابل 27 يوليو وقيمة التداول خلال الساعات العادية، 28 يوليو
استعلام SQL الدقيق وراء كل رقم
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-28 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-28 00:00:00')) AS day_close,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-28 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-27 13:30:00' AND window_start < '2026-07-27 20:00:00')
        OR (window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 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.97%، وMETA بمقدار -0.05%، وMSFT بمقدار 1.12%، وNVDA بمقدار 0.23%، ضمن تداولات ساعات السوق العادية البالغة 21.11 مليار دولار، بينما بلغ الرقم لدى TSLA -0.57%. يوضح عمود القيمة بالدولار حجم التداول الذي تستحوذ عليه هذه الأسماء الثمانية وحدها؛ أما لوحة اتساع السوق أعلاه فتبيّن مدى مشاركة بقية السوق في هذه الحركة.

الأسهم الأكثر تحركاً خلال اليوم

تشترط كلتا القائمتين تداولات بقيمة خمسة ملايين دولار خلال ساعات التداول الاعتيادية، وتستبعدان أي ورقة مالية نُفِّذ تجزئة لسهمها بين إغلاقي الجلسة اللذين تقيسهما، كما تستبعدان رمزاً واحداً أُعيد استخدامه بموجب ضابط الالتباس المعتمد في المؤسسة والوارد في الملاحظات.

الاستعلامأكبر الرابحين والخاسرين: إغلاق 28 يوليو مقابل إغلاق 27 يوليو، تداول $5M+، باستثناء التجزئات
استعلام SQL الدقيق وراء كل رقم
SELECT ticker, board, day_pct, day_dollar_m
FROM (
    SELECT 'gainers' AS board, ticker, round((c28 / c27 - 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-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS c27,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS c28,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-28 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-27' AND execution_date <= '2026-07-28')
          AND window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-28 20:00:00'
        GROUP BY ticker
        HAVING c27 > 0 AND c28 > 0 AND dv >= 5000000
    )
    ORDER BY day_pct DESC
    LIMIT 8
    UNION ALL
    SELECT 'decliners' AS board, ticker, round((c28 / c27 - 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-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS c27,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS c28,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-28 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-27' AND execution_date <= '2026-07-28')
          AND window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-28 20:00:00'
        GROUP BY ticker
        HAVING c27 > 0 AND c28 > 0 AND dv >= 5000000
    )
    ORDER BY day_pct ASC
    LIMIT 8
)
ORDER BY board DESC, abs(day_pct) DESC
Run this yourself

ارتفع السهم الأفضل أداءً في القائمة، STKH، بنسبة 166.7%، مع تداولات بلغت 113.2 مليون دولار. أما الأكثر انخفاضاً، YYAI، فسجّل تغيراً قدره -71%، مع تداولات بلغت 18.3 مليون دولار. تسجل هذه الصفحة الأحجام والأسعار المنفذة، ولا تنسب إليها أي قصة.

تباين أداء القطاعات

صناديق SPDR الأحد عشر المختارة حسب القطاع، وفق إغلاق 28 يوليو مقارنةً بإغلاق 27 يوليو، مرتبة من الأفضل إلى الأسوأ. هذه السلة محددة وثابتة، وليست تصنيفاً من جهة مورّدة.

الاستعلامصناديق القطاعات المتداولة، إغلاق 28 يوليو مقابل إغلاق 27 يوليو، مرتبة
استعلام 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((c28 / c27 - 1) * 100, 2) AS day_pct
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start < '2026-07-28 00:00:00') AS c27,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-28 00:00:00') AS c28
        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-27 13:30:00' AND window_start < '2026-07-27 20:00:00')
            OR (window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00'))
        GROUP BY ticker
        HAVING c27 > 0 AND c28 > 0
    )
)
ORDER BY day_pct DESC
Run this yourself

تصدّر Health Care القائمة عند 2.36%، بينما جاء Technology في ذيلها عند -1.9%، متأخراً بفارق 4.26 نقطة مئوية. ويمثل هذا الفارق تباين أداء القطاعات خلال اليوم: فالسوق الذي تنهي فيه القطاعات الأحد عشر جميعاً ضمن نقطة مئوية واحدة يختلف كثيراً عن سوق يمتد فيه التفاوت عبر عدة نقاط.

أين جرى تداول الدولارات

الاستعلامأعلى 6 حسب قيمة التداول، وأعلى 4 حسب عدد الأسهم المتداولة: الساعات العادية في 28 يوليو
استعلام 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-28 13:30:00' AND window_start < '2026-07-28 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-28 13:30:00' AND window_start < '2026-07-28 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 قائمة التداول بالدولار بإجمالي تداول خلال ساعات السوق العادية بلغ 39.21 مليار دولار، وجاء QQQ خلفه عند 29.98 مليار دولار. أما قائمة التداول بالأسهم فتجيب عن سؤال مختلف: فقد تصدّرها ONFO بإجمالي 182.4 مليون سهم، وبمتوسط سعر ضمني بلغ $0.16. يكشف حجم التداول بالدولار عن موضع اهتمام السوق، بينما يكشف حجم التداول بالأسهم عن معدل تبدّل المراكز، أما المقياس المقابل لكل سهم على حدة فهو الحجم النسبي.

شريط تداول الخيارات

الاستعلامتداولات الخيارات: العقود، نسبة عقود الشراء، نسبة التداول في اليوم نفسه مقابل الاثنين، وأنشط عقد 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) = '260728', 1, 0) AS is_0dte
            FROM global_markets.options_trades
            WHERE sip_timestamp >= '2026-07-28 00:00:00' AND sip_timestamp < '2026-07-29 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-28 13:30:00' AND window_start < '2026-07-28 20:00:00'
    ) AS spy_regular_close,
    (
        SELECT round(toFloat64(sum(size)) / 1e6, 2)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00'
    ) AS jul27_contracts_m,
    (
        SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260727') / sum(size), 1)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00'
    ) AS jul27_pct_0dte
SELECT
    round(count() / 1e6, 2) AS option_prints_m,
    round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
    jul27_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) = '260728') / sum(size), 1) AS pct_0dte,
    jul27_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-28 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00'
Run this yourself

سجّل شريط الخيارات 10.07 مليون صفقة على 59.28 مليون عقد، مقارنةً بـ64.69 مليون عقد يوم الاثنين. استحوذت عقود Call على 55% من حجم العقود. وبلغت عقود الاستحقاق في الجلسة نفسها، أي فئة العقود ذات الأيام الصفرية حتى الاستحقاق، 29% مقابل 39.3% يوم الاثنين، وفق الإيقاع الذي يحدده توقيت الاستحقاق. وكان عقد SPY الأكثر نشاطاً هو عقد 742 C، بإجمالي 0.72 مليون عقد، فيما كان سعر تنفيذه يبعد 1.24 دولاراً عن سعر الإغلاق العادي لسهم SPY البالغ $740.76، محسوباً على أساس سعر التنفيذ ناقص سعر الإغلاق.

شريط الأسعار المعروضة

تُعد بيانات الأسعار المعروضة أندر مجموعات البيانات لدى مكتب التداول، ويجري قياسها في كل جلسة. كما تُسجَّل الأيام العادية أيضاً.

الاستعلامعدد تحديثات NBBO للأسهم: 28 يوليو مقابل 27 يوليو، مع تحديثات الرموز المسماة (بالملايين)
استعلام SQL الدقيق وراء كل رقم
SELECT
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-28')) / 1e6, 2) AS jul28_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-27')) / 1e6, 2) AS jul27_updates_m,
    round((countIf(toDate(sip_timestamp) = toDate('2026-07-28')) / countIf(toDate(sip_timestamp) = toDate('2026-07-27')) - 1) * 100, 1) AS day_over_day_pct,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-28') AND ticker = 'SPY') / 1e6, 2) AS jul28_spy_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-28') AND ticker = 'QQQ') / 1e6, 2) AS jul28_qqq_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-28') AND ticker = 'NVDA') / 1e6, 2) AS jul28_nvda_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00'
Run this yourself

سجّل شريط أسعار الأسهم 536.07 مليون تحديث لـ NBBO، مقارنةً بـ 553.53 مليون يوم الاثنين، بواقع تغير يومي قدره -3.2%. وسجّل SPY 4.72 مليون تحديث، وQQQ 5.94 مليوناً، وNVDA 3.01 مليوناً.

الاستعلامسبعة أسهم: الوسيط المعتاد لفارق الأسعار المعروض بالنقاط الأساسية، مع أعداد جودة الأسعار، 28 يوليو
استعلام 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-28 13:30:00' AND sip_timestamp < '2026-07-28 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 نقطة أساس من السعر المتوسط، مقابل 0.74 في QQQ و1.52 في NVDA. ويعرض العمودان الأخيران حالة الإفصاح: إذ تُحتسب الأسعار المعروضة من جانب واحد والأسعار المتقاطعة لكل ورقة مالية، وتُستبعد من حساب الوسيط بدلاً من إسقاطها بصمت. والسعر المعروض المتقاطع، حيث يتجاوز سعر الشراء سعر البيع، أثر اعتيادي لخلاصة موحّدة جُمعت من منصات تداول متعددة بدقة النانوثانية.

الاستعلامترتيب الوسيط المعتاد لفارق SPY مقابل كل جلسات يوليو، من الأضيق أولاً
استعلام SQL الدقيق وراء كل رقم
SELECT round(anyIf(spread_bps, d = toDate('2026-07-28')), 2) AS jul28_median_spread_bps,
       arrayCount(x -> x < anyIf(spread_bps, d = toDate('2026-07-28')), groupArrayIf(spread_bps, d != toDate('2026-07-28'))) + 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-28 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 نقطة أساس، في المرتبة 16 من أصل 19، عند العد بدءاً من أضيق السبريد، ضمن نافذة تبدأ في 2026-07-01. وفي شريط أسعار هادئ، تكمن أهمية هذه العبارة في أنها توثق أن السيولة كانت اعتيادية، مع نشر النتيجة وتحديد نطاقها.

الاستعلامشريط NBBO للخيارات: إجمالي التحديثات مقابل شريط الأسهم، إضافة إلى نطاق SPY، 28 يوليو
استعلام SQL الدقيق وراء كل رقم
WITH
    (SELECT count() FROM global_markets.cache_options_quotes WHERE sip_timestamp >= '2026-07-28 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00') AS jul28_options_rows,
    (SELECT count() FROM global_markets.cache_stocks_quotes WHERE sip_timestamp >= '2026-07-28 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00') AS jul28_stock_quote_rows
SELECT
    round(jul28_options_rows / 1e9, 2) AS jul28_options_bn,
    round(jul28_options_rows / jul28_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-28 13:30:00' AND sip_timestamp < '2026-07-28 20:00:00') / 1e6, 0) AS jul28_spy_options_m
Run this yourself

سجّل شريط NBBO للخيارات 10.23 مليار تحديث، أي 19.1 ضعف عدد تحديثات شريط أسعار الأسهم، بينما بلغ عدد التحديثات خلال ساعات التداول الاعتيادية لجذر SPY وحده 382 مليوناً.

أسعار الفائدة

الاستعلامأسعار منحنى الخزانة المسجلة، من 23 يوليو إلى 28 يوليو
استعلام 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-23' AND date <= '2026-07-28'
ORDER BY date
Run this yourself

يتأخر ملف وزارة الخزانة عن السوق بنحو جلسة واحدة، لذلك يعرض هذا القسم الصفقات المنفذة المسجلة لديه: صفوف مؤرخة بعدد 4 ضمن الفترة. وأظهر أحدثها، المؤرخ في 2026-07-28، أن عائد السند لأجل عامين بلغ 4.26%، وعائد السند لأجل عشرة أعوام بلغ 4.61%، وعائد السند لأجل ثلاثين عاماً بلغ 5.09%، أي فارقاً بين عائدي السندين لأجل عامين وعشرة أعوام قدره 35 نقطة أساس.

The calendar behind the day

الاستعلامالأسهم التي ينفصل عنها التوزيع، والتجزئات، والإدراجات، والأخبار، ومزيج إيداعات SEC في 28 يوليو
استعلام 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-28 04:00:00' AND published_utc < '2026-07-29 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-28'
    ) AS fil
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-28') AS ex_dividend_records,
    (SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-28') AS reverse_splits,
    (SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-28') AS forward_splits,
    (SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-28') AS listings,
    (SELECT count() FROM global_markets.stocks_news WHERE published_utc >= '2026-07-28 04:00:00' AND published_utc < '2026-07-29 04:00:00') AS news_articles,
    (SELECT uniqExact(JSONExtractString(publisher, 'name')) FROM global_markets.stocks_news WHERE published_utc >= '2026-07-28 04:00:00' AND published_utc < '2026-07-29 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

147 dividend records went ex-dividend on July 28, 3 reverse and 0 forward splits executed, and 2 new listings hit the tape. The news feed carried 161 articles from 2 publishers, with MSFT the most-covered ticker in this one feed's window at 9 articles. The EDGAR daily index holds 5915 filings for the date from 2898 distinct filers: 856 insider Form 4 reports, 315 8-K current reports, 900 424B2 pricing supplements and 100 10-Q quarterly reports. That index lands on its own schedule, and this panel reports whatever it holds at generation time.

على جدول الأعمال

اقرأ بقية الأسبوع من الجداول نفسها، مع تعمّد النظر إلى ما بعد الفترة الحالية.

الاستعلامعلى التقويم من 29 إلى 31 يوليو: الإغلاقات، والأسهم التي ينفصل عنها التوزيع، والتجزئات، وانتهاء الصلاحية يوم الجمعة، وتأخر بيانات الفائدة على المكشوف
استعلام SQL الدقيق وراء كل رقم
SELECT
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date >= '2026-07-29' 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-29' 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-29' AND ex_dividend_date <= '2026-07-31') AS household_exdivs,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= '2026-07-29' 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_tue_volume,
    (SELECT toString(max(settlement_date)) FROM global_markets.stocks_short_interest WHERE settlement_date <= '2026-07-28') AS latest_short_interest_settlement
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-28 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00'
Run this yourself

يُظهر جدول العطلات إغلاق 0 جلسات خلال الأربعاء 29 يوليو، والخميس 30 يوليو، والجمعة 31 يوليو. وتصبح سجلات توزيعات 696 من الأسهم ex-dividend خلال هذه الجلسات الثلاث، من بينها 0 سجلاً تخص عشرة أسماء معروفة جرى التحقق منها، كما يُ scheduled تنفيذ 15 عمليات split. وكان 17.5% من حجم تداول الخيارات يوم الثلاثاء قائماً بالفعل في عقود تستحق يوم الجمعة 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-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS regular_session_bars,
    uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS day_sessions,
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-28') AS jul28_holiday_rows,
    (SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-28' 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-28' 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-28 00:00:00' AND window_start < '2026-07-29 00:00:00'
Run this yourself

جلسة نظامية كاملة: أول شمعة لـ SPY عند 04:00 بتوقيت ET، وآخرها عند 19:59، وعدد شموع ساعات التداول النظامية 390، وعدد الجلسات 1 ضمن النافذة، وعدد صفوف العطلات 0 لذلك التاريخ. والإغلاق المجدول التالي هو Labor Day في 2026-09-07.

الأسئلة الشائعة

كيف كان أداء سوق الأسهم يوم الثلاثاء 28 يوليو 2026؟

تغيّر SPY بنسبة 0.24% من إغلاق إلى إغلاق ليصل إلى $740.76، بينما بلغ QQQ -0.96%، وDIA 1.07%، وIWM 0.15%. ومن بين الأسهم ذات السيولة المرتفعة، ارتفع 3519 وتراجع 2423.

أي قطاع تصدّر لوحة الأداء في 28 يوليو 2026؟

Health Care، عند 2.36%، وفقاً للقياس عبر صناديق SPDR الأحد عشر الخاصة بالقطاعات. أما الأضعف بين الصناديق الأحد عشر فكان Technology، الذي سجّل -1.9%.

ما مدى نشاط سوق الخيارات في 28 يوليو 2026؟

تم تداول 59.28 مليون عقد، مقارنةً بـ64.69 مليوناً في الجلسة السابقة. شكّلت العقود التي تنتهي في اليوم نفسه 29% من حجم التداول، بينما شكّلت عقود Call 55%.

أي سهم تداول بأعلى قيمة دولارية في 28 يوليو 2026؟

MU، بحجم تداول دولاري بلغ 39.21 مليار خلال ساعات التداول الاعتيادية، متقدماً على QQQ الذي بلغ حجمه 29.98 ملياراً.

ملاحظات البيانات

تسد هذه النسخة فجوة 28 يوليو في السلسلة اليومية: تغطي النشرة اليومية ليوم 27 يوليو الجلسة السابقة، وتغطي النشرة اليومية ليوم 29 يوليو الجلسة اللاحقة، بينما يلخص الملخص الأسبوعي الأسبوع الذي سبقهما. تُرتَّب اللوحات المسماة بحسب كل ticker أبجدياً، بحيث تشير الإحالات الوصفية إلى صفوف ثابتة؛ أما قوائم المتصدرين ولوحات الأسهم الأكثر تحركاً فتُرتَّب حسب القيمة، وتُشفَّر كل مطالبة ترتيبية فيها على شكل حد للتحقق من سلامتها. وتُعد سلة الشركات العملاقة وسلة القطاعات المكوَّنة من أحد عشر صندوقاً مجموعتين ثابتتين ومحدّدتين، وليستا تصنيفين من مزوّد بيانات. وتطبّق لوحات الأسهم الأكثر تحركاً حداً أدنى لدوران التداول خلال الساعات النظامية قدره خمسة ملايين دولار، وتستبعد أي اسم نُفِّذ تجزئته بين إغلاقي الجلستين اللذين تقيسهما، كما تستبعد رمزاً واحداً معاد الاستخدام بموجب ضابط الغموض المعتمد لدينا، حتى تحيل كل إشارة إلى اسم قابل للتحقق. وتحصي لوحات الأسعار عروض الشراء وعروض البيع المتقاطعة لكل اسم بدلاً من إسقاطها بصمت. يصل ملف الخزانة ومؤشر EDGAR اليومي وفق جدولين مستقلين، ولذلك تعرض تلك اللوحات ما يتضمنه كل منهما بدلاً من افتراض وصول البيانات. ولا يظهر هنا أي مؤشر للتقلب الضمني؛ فهذه السلاسل غير مرخّصة لهذا المستودع، ولذلك يُستدل على التقلب من شريط التداول عبر النطاقات، وحصة الخيارات في اليوم نفسه، وسلوك عروض الأسعار.

المنهجية

  • مصدر بيانات السوق: شريط التداول الموحّد. تُستخدم delayed_stocks_minute_aggs للأسعار والأحجام، وoptions_trades لشريط الخيارات، وcache_stocks_quotes وcache_options_quotes للّوحات الخاصة بأفضل عرض وطلب وطنيين.
  • سعر الإغلاق: شريط الدقيقة الأخير في الجلسة النظامية، وليس أبداً صفقة مفترضة عند الساعة 16:00 أو صفقة خلال ساعات التداول الممتدة.
  • معالجة المنطقة الزمنية: جميع الطوابع الزمنية المخزنة بتوقيت UTC؛ وتستخدم عبارات WHERE قيماً زمنية خاماً بتوقيت UTC، بينما تظهر toTimeZone في قوائم SELECT فقط لعرض التسميات بتوقيت ET.
  • التحقق من الجلسة: بالاستناد إلى جدول العطلات والأشرطة المرصودة، وليس إلى افتراض مستند إلى التقويم.
  • المقارنات مع الجلسة السابقة: تُحسب داخل الاستعلام من بيانات 27 يوليو، ولا تُنقل من منشور سابق.
  • الكسور العشرية: تُحوَّل أعمدة الأسعار والأحجام والكميات إلى Float64 قبل إجراء أي قسمة أو ضرب.
  • التجميعات الحتمية: تُستخدم الكميات الدقيقة ومفاتيح الربط الثلاثية لكسر التعادلات في جميع المواضع؛ كما يُشفَّر كل ادعاء بشأن الترتيب أو الإشارة في النص ضمن حدّ للتحقق من السلامة.
  • تاريخ البيانات المعتمد في مستودع البيانات: 1 أغسطس 2026، أي بعد أربعة أيام من الجلسة، وبعد فترة التأخر المعتادة لاستيعاب بيانات الشريط، التي تتراوح بين يوم ويومين؛ وتُبقي الإيصالات المقيّدة أعلاه المنشور قائماً إذا تبيّن فقدان مجموعة بيانات عند الإنشاء.

روابط ذات صلة: المراجعة اليومية ليوم 27 يوليو، والمراجعة اليومية ليوم 29 يوليو، وموعد انتهاء صلاحية الخيارات، وماهية spread بين سعر العرض والطلب، وspread بين عامين وعشرة أعوام.

تعمل كل الاستعلامات أعلاه دون تغيير على منصة Strasmore إذا أردت إعادة توجيه نافذة زمنية إلى جلسة مختلفة.