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

ملخص السوق 29 يونيو 2026 وأهم الأرقام

تعرف على أداء السوق في 29 يونيو 2026: مكاسب مدفوعة بالنمو، تباين القطاعات، وتحركات أسهم الذاكرة. اطلع على تفاصيل حركة الأسعار والبيانات الكاملة هنا.

كان يوم الاثنين، 29 يونيو 2026، يوماً صاعداً مدفوعاً بالنمو مع نطاق قيادي ضيق: حقق QQQ مكاسب بنسبة 2.57%، وSPY بنسبة 1.62%، وارتفعت الأسهم ذات السيولة العالية 3968 مقابل الأسهم المتراجعة 2327 — ومع ذلك، أغلقت نصف سلال القطاعات تقريباً على خسارة. تُقرأ جميع الأرقام من استعلام مخزن؛ يمكنك توسيع أي لوحة لعرض لغة SQL. تفاصيل حركة الأسعار (tick-by-tick) لنفس الجلسة: التحليل العميق للبنية الدقيقة ليوم 29 يونيو.

لوحة النتائج

تتم مقارنة كل تغيير بين آخر شمعة دقيقة في الجلسة العادية ليوم 29 يونيو مقابل يوم الجمعة 26 يونيو.

الاستعلامSPY / QQQ / DIA / IWM — 29 يونيو مقابل إغلاق 26 يونيو، خلال ساعات التداول الرسمية
استعلام SQL الدقيق وراء كل رقم
WITH friday AS (
    SELECT ticker, argMax(close, window_start) AS friday_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
      AND window_start >= '2026-06-26 13:30:00' AND window_start < '2026-06-26 20:00:00'
    GROUP BY ticker
),
monday AS (
    SELECT ticker,
           argMin(open, window_start) AS monday_open,
           argMax(close, window_start) AS monday_close,
           max(high) AS day_high,
           min(low) AS day_low,
           round(toFloat64(sum(volume)) / 1e6, 1) AS shares_traded_m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
      AND window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
    GROUP BY ticker
)
SELECT
    m.ticker AS ticker,
    toFloat64(f.friday_close) AS jun26_close,
    toFloat64(m.monday_open) AS jun29_open,
    toFloat64(m.monday_close) AS jun29_close,
    round((toFloat64(m.monday_close) / toFloat64(f.friday_close) - 1) * 100, 2) AS pct_change,
    round(100 * (toFloat64(m.monday_close) / toFloat64(f.friday_close) - 1) / max(toFloat64(m.monday_close) / toFloat64(f.friday_close) - 1) OVER (), 1) AS pct_of_best_change,
    toFloat64(m.day_high) AS day_high,
    toFloat64(m.day_low) AS day_low,
    m.shares_traded_m AS shares_traded_m
FROM monday m
JOIN friday f ON m.ticker = f.ticker
ORDER BY m.ticker

افتتح SPY عند $736.525 مقابل إغلاق الجمعة عند $729.09، وأنهى التداول عند $740.88، وهو أقل من ذروته عند $741.56. سجل QQQ ارتفاعاً بنسبة +2.57% مقابل ارتفاع DIA بنسبة +0.81%، مما يشير إلى يوم لصالح أسهم النمو والتكنولوجيا؛ كما حقق IWM (الشركات ذات القيمة السوقية الصغيرة) زيادة بنسبة 0.45%.

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

لا تعني النسبة المئوية للتغير الكثير دون وجود معيار للمقارنة. تصنف هذه اللوحة يوم 29 يونيو مقارنة بالشهر الماضي بناءً على حجم التغير المطلق من سعر الإغلاق إلى سعر الإغلاق.

الاستعلامQQQ و SPY: ترتيب 29 يونيو مقابل جلسات الشهر الماضي (الرتبة 1 = أكبر تحرك مطلق)
استعلام SQL الدقيق وراء كل رقم
SELECT
    round(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-06-29')), 2) AS qqq_close_over_close_pct,
    arrayCount(x -> x > abs(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-06-29'))), groupArrayIf(abs(cc_pct), ticker = 'QQQ' AND d != toDate('2026-06-29'))) + 1 AS qqq_abs_move_rank,
    countIf(ticker = 'QQQ') AS qqq_sessions_compared,
    round(max(if(ticker = 'QQQ', abs(cc_pct), 0)), 2) AS qqq_biggest_move_of_month_pct,
    countIf(ticker = 'QQQ' AND cc_pct > 0) AS qqq_up_sessions,
    round(anyIf(cc_pct, ticker = 'SPY' AND d = toDate('2026-06-29')), 2) AS spy_close_over_close_pct,
    arrayCount(x -> x > abs(anyIf(cc_pct, ticker = 'SPY' AND d = toDate('2026-06-29'))), groupArrayIf(abs(cc_pct), ticker = 'SPY' AND d != toDate('2026-06-29'))) + 1 AS spy_abs_move_rank,
    countIf(ticker = 'SPY') AS spy_sessions_compared,
    round(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-06-29')), 2) AS spy_open_to_close_pct,
    concat(monthName(min(d)), ' ', toString(toDayOfMonth(min(d))), ', ', toString(toYear(min(d)))) AS first_session
FROM (
    SELECT ticker, d,
           (close_px / lagInFrame(close_px) OVER (PARTITION BY ticker ORDER BY d) - 1) * 100 AS cc_pct,
           oc_pct
    FROM (
        SELECT ticker,
               toDate(toTimeZone(window_start, 'America/New_York')) AS d,
               argMax(toFloat64(close), window_start) AS close_px,
               (argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS oc_pct
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker IN ('SPY', 'QQQ')
          AND window_start >= toDateTime('2026-05-28 00:00:00')
          AND window_start < toDateTime('2026-06-30 00:00:00')
          AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
        GROUP BY ticker, d
    )
)
WHERE isFinite(cc_pct)

تحرك كبير ولكن ليس قياسياً: تصنف حركة 2.57% لـ QQQ في المرتبة 5 من أصل 21 جلسة منذ May 29, 2026، وذلك في شهر بلغت أكبر حركة منفردة فيه 4.76%؛ بينما تصنف حركة 1.62% لـ SPY في المرتبة 4 من أصل 21. مصدر التحرك مهم: كان الصعود التدريجي لـ SPY من الافتتاح إلى الإغلاق بنسبة 0.59% فقط، لذا حدثت معظم المكاسب عبر فجوة التداول الليلية، قبل ظهور أول شمعة خلال ساعات التداول الرسمية. أغلق QQQ عند مستويات أعلى في 10 من تلك الجلسات: شهر متذبذب كرمية العملة.

نطاق السوق: ما مدى اتساع موجة الصعود؟

يُعرَّف السهم الصاعد بأنه السهم الذي تجاوز سعر إغلاق يوم الاثنين سعر إغلاق يوم الجمعة، بشرط أن تبلغ قيمة تداولاته مليون دولار على الأقل؛ وهو معيار يستبعد 5,108 من 11,475 من الأسهم التي شهدت تداولات في الجلستين.

الاستعلامالأسهم الصاعدة مقابل الهابطة بين الرموز التي تم تداول ما لا يقل عن $1M فيها في 29 يونيو
استعلام SQL الدقيق وراء كل رقم
WITH per_ticker AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-06-27 00:00:00')) AS friday_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-29 00:00:00')) AS monday_close,
        sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-06-29 00:00:00') AS monday_dollar_volume
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE (window_start >= '2026-06-26 13:30:00' AND window_start < '2026-06-26 20:00:00')
       OR (window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00')
    GROUP BY ticker
)
SELECT
    countIf(monday_close > friday_close AND monday_dollar_volume >= 1000000) AS advancers,
    countIf(monday_close < friday_close AND monday_dollar_volume >= 1000000) AS decliners,
    countIf(monday_close = friday_close AND monday_dollar_volume >= 1000000) AS unchanged,
    countIf(monday_dollar_volume >= 1000000) AS liquid_tickers,
    count() AS tickers_traded_both_sessions,
    reverse(arrayStringConcat(extractAll(reverse(toString(count())), '[0-9]{1,3}'), ',')) AS tickers_traded_both_sessions_label,
    count() - countIf(monday_dollar_volume >= 1000000) AS dropped_by_liquidity_filter,
    reverse(arrayStringConcat(extractAll(reverse(toString(count() - countIf(monday_dollar_volume >= 1000000))), '[0-9]{1,3}'), ',')) AS dropped_by_liquidity_filter_label,
    round(100.0 * countIf(monday_close > friday_close AND monday_dollar_volume >= 1000000)
        / countIf(monday_dollar_volume >= 1000000), 1) AS advancer_pct
FROM per_ticker
WHERE friday_close > 0 AND monday_close > 0

3968 سهم صاعد، 2327 سهم هابط، 72 أسهم مستقرة: ارتفعت 62.3% من الأسهم ذات السيولة العالية — حيث تم احتساب كل سهم على حدة، مما يشير إلى يوم شهد اتساعاً في نطاق الحركة.

القطاعات: كان الصعود أقل اتساعاً مما بدا عليه

توجد رؤية تعتمد على حصر عدد الشركات، ورؤية أخرى تعتمد على وزن كل شركة حسب حجمها. وتُعد صناديق SPDR الـ 11 المتداولة في القطاعات اختصاراً للرؤية الثانية؛ فهي تمثل سلة لكل قطاع في مؤشر S&P 500 بناءً على القيمة السوقية. وتختلف هذه السلال بشكل حاد عن عدد الشركات الصاعدة.

الاستعلامسلال القطاعات الأحد عشر: 29 يونيو مقابل إغلاق 26 يونيو، خلال ساعات التداول الرسمية
استعلام SQL الدقيق وراء كل رقم
WITH per_etf AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-06-27 00:00:00')) AS friday_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-29 00:00:00')) AS monday_close,
        maxIf(toFloat64(high), window_start >= '2026-06-29 00:00:00') AS day_high,
        minIf(toFloat64(low), window_start >= '2026-06-29 00:00:00') AS day_low,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-06-29 00:00:00') / 1e6, 0) AS dollar_volume_m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('XLB', 'XLC', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')
      AND ((window_start >= '2026-06-26 13:30:00' AND window_start < '2026-06-26 20:00:00')
        OR (window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'))
    GROUP BY ticker
)
SELECT
    sector,
    ticker,
    round((monday_close / friday_close - 1) * 100, 2) AS pct_change,
    round((day_high / day_low - 1) * 100, 2) AS range_pct,
    dollar_volume_m,
    round((monday_close / friday_close - 1) * 100 - min((monday_close / friday_close - 1) * 100) OVER (), 2) AS pct_above_worst_sector
FROM (
    SELECT *,
        multiIf(ticker = 'XLB', 'Materials',
                ticker = 'XLC', 'Communication services',
                ticker = 'XLE', 'Energy',
                ticker = 'XLF', 'Financials',
                ticker = 'XLI', 'Industrials',
                ticker = 'XLK', 'Technology',
                ticker = 'XLP', 'Consumer staples',
                ticker = 'XLRE', 'Real estate',
                ticker = 'XLU', 'Utilities',
                ticker = 'XLV', 'Health care',
                'Consumer discretionary') AS sector
    FROM per_etf
)
ORDER BY pct_change DESC

قاد قطاع التكنولوجيا الصعود بنسبة 2.52%، تلاه قطاع الاستهلاك الاختياري بنسبة 2.37%؛ بينما أغلق قطاع المواد بنسبة -1.82% والعقارات بنسبة -0.64%. وبلغ التشتت بين أفضل وأسوأ القطاعات — وهو الفارق بين القطاعات — 4.34 نقطة مئوية، حيث سجلت قطاعات المرافق، والسلع الاستهلاكية الأساسية، والطاقة، والعقارات، والمواد تراجعاً في يوم ارتفع فيه المؤشر. إن مكاسب صناديق المؤشرات قد تخفي حقيقة أن الصعود كان واسعاً من حيث عدد الشركات، لكنه ضيق من حيث الوزن النسبي.

The day's highlight: memory and storage

Four names traded the same theme with very different outcomes — co-movement and magnitude only; the data does not say why.

الاستعلامأسهم الذاكرة/التخزين: التغير مقابل إغلاق الجمعة والمدى خلال اليوم
استعلام SQL الدقيق وراء كل رقم
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-06-27 00:00:00')) AS friday_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-29 00:00:00')) AS monday_close,
        maxIf(toFloat64(high), window_start >= '2026-06-29 00:00:00') AS day_high,
        minIf(toFloat64(low), window_start >= '2026-06-29 00:00:00') AS day_low,
        argMinIf(window_start, toFloat64(low), window_start >= '2026-06-29 00:00:00') AS low_bar,
        argMaxIf(window_start, toFloat64(high), window_start >= '2026-06-29 00:00:00') AS high_bar
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('MU', 'SNDK', 'STX', 'WDC')
      AND ((window_start >= '2026-06-26 13:30:00' AND window_start < '2026-06-26 20:00:00')
        OR (window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'))
    GROUP BY ticker
)
SELECT
    ticker,
    round(friday_close, 2) AS jun26_close,
    round(monday_close, 2) AS jun29_close,
    round((monday_close / friday_close - 1) * 100, 2) AS pct_chg,
    round(day_high, 2) AS day_high,
    formatDateTime(toTimeZone(high_bar, 'America/New_York'), '%H:%i') AS day_high_et,
    round(day_low, 2) AS day_low,
    formatDateTime(toTimeZone(low_bar, 'America/New_York'), '%H:%i') AS day_low_et,
    round((day_high / day_low - 1) * 100, 2) AS range_pct
FROM per_name
ORDER BY ticker

MU is the textbook case of range versus net change: a 12.22% intraday range — a $1023.65 low at 10:18 ET, a $1148.79 high at 15:59 — yet a close 1.97% above Friday. Western Digital rose 11.15% and Seagate 8.17%; SanDisk closed -1.9% across a 10.33% range — the cluster's one lower close. A close hides what holders lived through.

أين تم تداول الأموال

تفوقت شركة Micron (MU) على الجميع من حيث قيمة التداول بالدولار، بما في ذلك صناديق المؤشرات: 58.47 مليار دولار مقابل 33.97 مليار دولار لصندوق SPY. أما من حيث عدد الأسهم، فقد كان الوضع مختلفاً.

الاستعلامقادة حجم التداول بطريقتين: أفضل 6 من حيث قيمة التداول بالدولار، وأفضل 4 من حيث عدد الأسهم المتداولة
استعلام SQL الدقيق وراء كل رقم
SELECT ticker, leaderboard, dollar_volume_bn, if(dollar_volume_bn < 1, dollar_volume_m, NULL) AS dollar_value_m, shares_m,
    round(100 * if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m)
        / max(if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m)) OVER (PARTITION BY leaderboard), 1) AS pct_of_board_leader
FROM (
    SELECT
        'by dollars traded' AS leaderboard,
        ticker,
        round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
        round(sum(toFloat64(close) * toFloat64(volume)) / 1e6, 0) AS dollar_volume_m,
        round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
    GROUP BY ticker
    ORDER BY dollar_volume_bn DESC
    LIMIT 6
    UNION ALL
    SELECT
        'by shares traded' AS leaderboard,
        ticker,
        round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
        round(sum(toFloat64(close) * toFloat64(volume)) / 1e6, 0) AS dollar_volume_m,
        round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
    GROUP BY ticker
    ORDER BY shares_m DESC
    LIMIT 4
)
ORDER BY leaderboard ASC, if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m) DESC

لوحات عدد الأسهم قد تكون مضللة؛ حيث تصدرت القائمة SOXS، وهو صندوق مؤشرات متداول (ETF) عكسي برافعة مالية 3x (بواقع 695.3 مليون سهم)، وINLF، وهو سهم رخيص (penny stock) بلغت قيمة أسهمه البالغة 353.8 مليون سهم حوالي 23 مليون دولار طوال اليوم. يوضح حجم التداول بالدولار وجهة تحرك الأموال؛ بينما يوضح الحجم النسبي ما إذا كان نشاط السهم غير معتاد بالنسبة لنفسه.

في فترات التداول مدة 30 دقيقة في نيويورك، يظهر تاريخ 29 يونيو شكل "الابتسامة" التقليدي لحجم التداول:

الاستعلامالأسهم المتداولة لكل 30 دقيقة، خلال ساعات التداول الرسمية (بالمليارات)
استعلام SQL الدقيق وراء كل رقم
SELECT
    formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
    round(sum(toFloat64(volume)) / 1e9, 2) AS shares_bn,
    round(100 * sum(toFloat64(volume)) / max(sum(toFloat64(volume))) OVER (), 1) AS pct_of_biggest_bucket,
    round(100 * (sum(toFloat64(volume)) / min(sum(toFloat64(volume))) OVER () - 1), 1) AS pct_above_trough
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
GROUP BY et_time
ORDER BY et_time

2.3 مليار سهم في النصف ساعة الأولى من الافتتاح، وانخفاض إلى 0.77 مليار عند 13:30، وأكبر فترة تداول — 2.39 مليار — في النصف ساعة الأخيرة من الإغلاق، حيث تتركز مزادات الإغلاق وتدفقات تتبع المؤشرات.

سجل الخيارات

تم تداول 66.33 مليون عقد عبر 11.04 مليون عملية تنفيذ.

الاستعلامصف واحد ليوم الخيارات بالكامل: الحجم، 0DTE، والأسبوع المعدل للعطلة
استعلام SQL الدقيق وراء كل رقم
WITH
    (
        SELECT (any(underlying_symbol), any(toFloat64(strike_price)), any(option_type),
                any(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))),
                sum(size), count(), round(avg(toFloat64(price)), 3))
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'
        GROUP BY ticker
        ORDER BY sum(size) DESC
        LIMIT 1
    ) AS top_contract,
    (
        SELECT round(toFloat64(argMax(close, window_start)), 2)
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
    ) AS spy_regular_close
SELECT
    round(count() / 1e6, 2) AS option_prints_m,
    round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
    round(100.0 * sumIf(size, option_type = 'C') / sum(size), 1) AS call_pct_of_volume,
    round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260629') / sum(size), 1) AS same_day_expiry_pct,
    round(toFloat64(sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260702')) / 1e6, 2) AS thu_jul2_expiry_contracts_m,
    countIf(substring(ticker, length(ticker) - 14, 6) = '260703') AS fri_jul3_expiry_prints,
    countIf(sip_timestamp < '2026-06-29 13:30:00') AS premarket_prints,
    reverse(arrayStringConcat(extractAll(reverse(toString(countIf(sip_timestamp < '2026-06-29 13:30:00'))), '[0-9]{1,3}'), ',')) AS premarket_prints_label,
    countIf(sip_timestamp < '2026-06-29 13:30:00'
        AND underlying_symbol NOT IN ('SPX', 'SPXW', 'XSP', 'RUTW', 'VIX', 'VIXW')) AS premarket_non_index_prints,
    arrayStringConcat(arraySort(groupUniqArrayIf(underlying_symbol, sip_timestamp < '2026-06-29 13:30:00')), ', ') AS premarket_underlyings,
    round(toFloat64(sumIf(size, underlying_symbol = 'SPY')) / 1e6, 2) AS spy_contracts_m,
    round(toFloat64(sumIf(size, underlying_symbol = 'QQQ')) / 1e6, 2) AS qqq_contracts_m,
    top_contract.1 AS top_contract_underlying,
    top_contract.2 AS top_contract_strike,
    top_contract.3 AS top_contract_type,
    top_contract.4 AS top_contract_expiry,
    top_contract.5 AS top_contract_volume,
    reverse(arrayStringConcat(extractAll(reverse(toString(assumeNotNull(top_contract.5))), '[0-9]{1,3}'), ',')) AS top_contract_volume_label,
    round(top_contract.7, 3) AS top_contract_avg_price,
    round(top_contract.2 - spy_regular_close, 2) AS top_strike_minus_spy_close
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'

استحوذت عقود الشراء (Calls) على 55.7% من حجم العقود، وانتهت صلاحية 35.8% من إجمالي التداولات في نفس يوم الاثنين — سهم الخيارات منتهية الصلاحية في نفس اليوم (0DTE). وكان العقد الأكثر نشاطاً هو عقد شراء SPY بقيمة $741 ينتهي في نفس اليوم: 788,133 عقد بمتوسط علاوة قدره $0.474، حيث أغلق سعر SPY عند 0.12 دولار أقل من سعر التنفيذ — وبذلك انتهى الخيار الأكثر تداولاً في اليوم خارج نطاق الربح (out of the money). وتداول SPY بمقدار 12.01 مليون عقد كأصل أساسي؛ وQQQ بمقدار 7.32 مليون.

يسجل المجلس أيضاً 40,621 عملية تنفيذ للخيارات قبل افتتاح الأسهم في الساعة 9:30 — جميعها على مؤشرات تُسوى نقداً (RUTW, SPX, SPXW, VIX, VIXW, XSP)، مع 0 عملية تنفيذ لخيارات الأسهم أو صناديق الاستثمار المتداولة (ETF) في نفس الفترة الزمنية. هذه قاعدة وليست مصادفة: تمتد جلسات تداول خيارات المؤشرات لتشمل ساعات التداول العالمية، بينما تفتح خيارات الأسهم وصناديق الاستثمار المتداولة مع سوق الأسهم. تتداول الأسهم مبكراً — راجع تداولات ما قبل السوق وما بعد الإغلاق — أما خياراتها فلا تفعل.

لم يتم تسجيل أي عقد يحمل تاريخ انتهاء في الجمعة 3 يوليو طوال اليوم (0 عملية تنفيذ) — حيث يكون السوق مغلقاً في ذلك الجمعة — بينما تم تداول عقود انتهاء الخميس 2 يوليو بمقدار 10.73 مليون.

شريط الأسعار: تكلفة التداول خلال اليوم

تعتمد جميع الأسعار في هذه الصفحة على تدفق عروض الأسعار، وهو "أفضل سعر عرض وأفضل سعر طلب" (NBBO)، والذي يُعاد نشره باستمرار لكل سهم مدرج. الفجوة بين أفضل سعر طلب وأفضل سعر عرض، الفارق بين سعر الطلب وسعر العرض، هي التكلفة التي يدفعها أمر التداول لإتمام الصفقة.

الاستعلامتكلفة تجاوز الفارق السعري: تحديثات NBBO ومتوسط عرض السعر، خلال ساعات التداول الرسمية
استعلام SQL الدقيق وراء كل رقم
SELECT
    ticker,
    round(count() / 1e6, 2) AS nbbo_updates_m,
    round(quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price >= bid_price), 2) AS median_spread_bps,
    round(quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price >= bid_price AND sip_timestamp >= '2026-06-29 13:30:00' AND sip_timestamp < '2026-06-29 14:00:00'), 2) AS open_30min_spread_bps,
    round(quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price >= bid_price AND sip_timestamp >= '2026-06-29 17:00:00' AND sip_timestamp < '2026-06-29 17:30:00'), 2) AS midday_spread_bps,
    round(quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price >= bid_price AND sip_timestamp >= '2026-06-29 13:30:00' AND sip_timestamp < '2026-06-29 14:00:00')
        - quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price >= bid_price AND sip_timestamp >= '2026-06-29 17:00:00' AND sip_timestamp < '2026-06-29 17:30:00'), 2) AS open_minus_midday_bps,
    countIf(NOT (bid_price > 0 AND ask_price >= bid_price)) AS dropped_invalid_quotes
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'QQQ', 'MU', 'WDC')
  AND sip_timestamp >= '2026-06-29 13:30:00' AND sip_timestamp < '2026-06-29 20:00:00'
GROUP BY ticker
ORDER BY ticker

بلغ متوسط عرض السعر لـ SPY نسبة 0.41 نقطة أساس من متوسط سعره، مقابل 0.84 لـ QQQ، و4.6 لـ Micron، و8.2 لـ Western Digital، وهو الأوسع بين الأربعة. تمثل نقطة الأساس الواحدة في أمر بقيمة 10,000 دولار دولاراً واحداً؛ لذا فإن شراء وبيع ما قيمته 10,000 دولار من SPY فوراً عند سعر العرض يكلف حوالي $0.41؛ بينما تكلف نفس العملية في Western Digital مبلغ $8.2. لم يتغير حجم التداول، بل تغير السهم فقط.

كانت جميع الأسهم الأربعة ذات عروض أوسع في النصف ساعة الأولى من التداول مقارنة بفترة الاستقرار في منتصف اليوم؛ حيث سجل SPY نسبة 0.41 نقطة أساس مقابل 0.27، وسجل Western Digital نسبة 14.33 مقابل 7.55، مما يعني زيادة قدرها 6.78 نقطة أساس في افتتاح السهم الأوسع نطاقاً. أما معدل دوران البيانات فهو النصف الآخر: حيث سجل SPY عدد 3.98 مليون تحديث لـ NBBO خلال ساعات التداول العادية، و4.42 مليون تحديث لـ QQQ.

أسعار الفائدة: منحنى العائد لم يتحرك إلا قليلاً

شهدت السندات الخزانية يوم اثنين هادئاً. العوائد هي أسعار الإغلاق اليومية، والتغير مقارنة بتاريخ 26 يونيو.

الاستعلاممنحنى الخزانة، إغلاق 29 يونيو مقابل 26 يونيو (لآجال الاستحقاق المتاحة فقط)
استعلام SQL الدقيق وراء كل رقم
SELECT
    t.1 AS curve_point,
    round(t.2, 2) AS jun29_yield_pct,
    round((t.2 - t.3) * 100) AS one_day_change_bp
FROM (
    SELECT arrayJoin([
        ('1 month',  toFloat64(mon.yield_1_month),  toFloat64(fri.yield_1_month)),
        ('3 month',  toFloat64(mon.yield_3_month),  toFloat64(fri.yield_3_month)),
        ('1 year',   toFloat64(mon.yield_1_year),   toFloat64(fri.yield_1_year)),
        ('2 year',   toFloat64(mon.yield_2_year),   toFloat64(fri.yield_2_year)),
        ('5 year',   toFloat64(mon.yield_5_year),   toFloat64(fri.yield_5_year)),
        ('10 year',  toFloat64(mon.yield_10_year),  toFloat64(fri.yield_10_year)),
        ('30 year',  toFloat64(mon.yield_30_year),  toFloat64(fri.yield_30_year)),
        ('2s10s spread', toFloat64(mon.yield_10_year - mon.yield_2_year), toFloat64(fri.yield_10_year - fri.yield_2_year))
    ]) AS t
    FROM (SELECT * FROM global_markets.treasury_yields WHERE date = '2026-06-29') AS mon,
         (SELECT * FROM global_markets.treasury_yields WHERE date = '2026-06-26') AS fri
)

أغلق عائد السندات لأجل 10 سنوات عند 4.38%، دون تغيير خلال اليوم (0 نقطة أساس)، بينما ارتفع عائد أذونات الخزانة لأجل 3 أشهر بمقدار 4 نقطة أساس ليصل إلى 3.87% . أما فارق العائد بين سنتين و10 سنوات — وهو الفرق بين عائد الـ 10 سنوات وعائد السنتين — فقد أغلق عند 0.28 نقطة مئوية (-3 نقطة أساس): لا يزال إيجابياً، مع ميل طفيف نحو التسطح.

التقويم الخاص بهذا اليوم

الاستعلامالتقويم المؤسسي وتدفق المعلومات لـ 29 يونيو، في صف واحد
استعلام SQL الدقيق وراء كل رقم
WITH
    (
        SELECT (argMax(d, n), max(n))
        FROM (
            SELECT ex_dividend_date AS d, count() AS n
            FROM global_markets.stocks_dividends
            WHERE ex_dividend_date BETWEEN '2026-06-22' AND '2026-07-02'
            GROUP BY d
        )
    ) AS peak_ex_div,
    (
        SELECT (countIf(form_type = '424B2'), countIf(form_type = '4'), countIf(form_type = '8-K'), count())
        FROM global_markets.stocks_sec_edgar_index
        WHERE filing_date = '2026-06-29'
    ) AS filings,
    (
        SELECT (count(), uniqExact(publisher), countIf(has(tickers, 'NVDA')))
        FROM global_markets.stocks_news
        WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-06-29'
    ) AS news,
    (
        SELECT max(n)
        FROM (
            SELECT t, count() AS n
            FROM (
                SELECT arrayJoin(tickers) AS t
                FROM global_markets.stocks_news
                WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-06-29'
            )
            WHERE t NOT IN ('NVDA', 'SPCX')
            GROUP BY t
        )
    ) AS runner_up_articles,
    (
        SELECT (any(split_from), any(split_to), count())
        FROM global_markets.stocks_splits
        WHERE ticker = 'HON' AND execution_date = '2026-06-29'
    ) AS hon_split,
    (
        SELECT (
            round(toFloat64(argMaxIf(close, window_start, window_start < '2026-06-27 00:00:00')), 2),
            round(toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-29 00:00:00')), 2)
        )
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'HON'
          AND ((window_start >= '2026-06-26 13:30:00' AND window_start < '2026-06-26 20:00:00')
            OR (window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'))
    ) AS hon_close
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-06-29') AS ex_dividend_records_jun29,
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-06-29'
        AND ticker IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'GOOGL', 'GOOG', 'META', 'TSLA', 'JPM', 'JNJ',
                       'XOM', 'KO', 'PG', 'V', 'MA', 'HD', 'WMT', 'CVX', 'MRK', 'PEP',
                       'SPY', 'QQQ', 'DIA', 'IWM', 'VTI')) AS household_name_ex_dividends,
    length(['AAPL', 'MSFT', 'NVDA', 'AMZN', 'GOOGL', 'GOOG', 'META', 'TSLA', 'JPM', 'JNJ',
            'XOM', 'KO', 'PG', 'V', 'MA', 'HD', 'WMT', 'CVX', 'MRK', 'PEP',
            'SPY', 'QQQ', 'DIA', 'IWM', 'VTI']) AS household_names_checked,
    concat(monthName(peak_ex_div.1), ' ', toString(toDayOfMonth(peak_ex_div.1))) AS busiest_ex_div_day_of_window,
    peak_ex_div.2 AS busiest_ex_div_day_records,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date = '2026-06-29') AS splits_executed,
    (SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-06-29') AS ipos_listed_jun29,
    (SELECT arrayStringConcat(groupArray(ticker), ', ') FROM (
        SELECT ticker FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-01' ORDER BY ticker
    )) AS jul1_ipo_debuts,
    filings.4 AS sec_filings,
    filings.1 AS prospectus_424b2_filings,
    filings.2 AS insider_form4_filings,
    filings.3 AS filings_8k,
    news.1 AS news_articles,
    news.2 AS news_publishers,
    news.3 AS nvda_articles,
    runner_up_articles AS next_most_covered_articles,
    news.3 - runner_up_articles AS nvda_minus_next_most_covered,
    hon_split.3 AS hon_split_records,
    hon_split.1 AS hon_split_from,
    hon_split.2 AS hon_split_to,
    hon_close.1 AS hon_close_jun26,
    hon_close.2 AS hon_close_jun29

سجلات توزيعات الأرباح لـ 449 استُحقت بدون الأرباح في 29 يونيو — يجب أن تمتلك السهم قبل تاريخ استحقاق الأرباح لتتمكن من استلام الدفعة — ومع ذلك، لم يظهر أي من 0 من الأسماء المعروفة من بين 25 من الشركات التي فحصناها. وبلغت موجة نهاية الربع ذروتها عند 745 سجلاً في July 1. كما نُفذت 23 من عمليات تقسيم الأسهم، وأُدرجت 0 من الاكتتابات العامة الأولية، بينما تم جدولة عمليات الإدراج ليوم الأربعاء (BSP, ITG, LIME) بالفعل.

سجلت هيئة الأوراق المالية والبورصات (SEC) عدد 6173 من الإيداعات بتاريخ 29 يونيو: حيث تضاءلت أهمية 231 من نماذج 8-K التي تتصدر العناوين أمام 1473 من ملاحق تسعير المنتجات المهيكلة (نموذج 424B2) و1277 من تقارير تداول المطلعين (نموذج 4). ونقل موجز الأخبار لدينا 170 مقالاً من 3 من الناشرين؛ وباستثناء رمز واحد أعيد استخدامه بتصنيف غامض (تم استبعاده من الاستعلام)، كان الاسم الأكثر تغطية هو NVDA بواقع 14 مقالاً مقابل 12 للمركز الثاني.

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

يتم وضع ملاحظة على البيانات غير الطبيعية بدلاً من استبعادها بصمت — وهذه الملاحظات الأربع تؤثر على الأرقام الرئيسية.

  • سلال القطاعات هي طريقة معلنة. تعني كلمة "قطاع" صناديق SPDR الـ ETFs القطاعية الأحد عشر، والموزونة بالقيمة السوقية — وهي نفس الأسماء في كل جلسة، وليست تصنيفاً من مورد حسب كل رمز.
  • حجم التداول بالدولار هو مؤشر لكل دقيقة — ناتج عن ضرب سعر الإغلاق في الحجم لكل شمعة دقيقة، وهو قريب من مجموع قيم التنفيذ ولكنه ليس متطابقاً معها.
  • تستبعد الفوارق السعرية (Spreads) المعروضة الأسعار غير الصالحة (السجلات التي تكون من جانب واحد أو متقاطعة في NBBO)؛ ويقوم اللوح بحساب ما تم استبعاده (1544 في SPY). الوسيط في عرض الفارق هو إحصائية عرض أسعار، وليس تكلفة لكل صفقة — فغالباً ما تُنفذ الأوامر داخل نطاق السعر المعروض.
  • يمكن لصفقة واحدة أن تؤثر على أعلى أو أدنى سعر لشمعة دقيقة. سجلت شمعة QQQ عند الساعة 11:07 بتوقيت شرق أمريكا أدنى مستوى بقيمة $709.58 بينما لم تنخفض أي شمعة محيطة عن $715.09 — صفقة واحدة بقيمة $5.51 أقل من سعر السوق المتزامن. تم التحقق من كل سعر أعلى وأدنى مذكور مقابل الشموع المجاورة؛ واجتاز أدنى مستوى لجلسة QQQ عند $705.172 الفحص.
ملاحظات البيانات الكاملة
  • تغطية سندات الخزانة أقل من المخطط. لم يتم ملء البيانات لأربعة آجال استحقاق معلنة (6 أشهر، 3 سنوات، 7 سنوات، و20 سنة)؛ يظهر المنحنى السبعة الموجودة فعلياً، بالإضافة إلى صف 2s10s.
  • توجد بيانات متناقضة بسبب "تجزئة عكسية" لشركة Honeywell. يحمل التدفق سجل 1 لشركة HON بتاريخ 29 يونيو: تجزئة عكسية تحول 2 من الأسهم القديمة إلى 1 من الأسهم الجديدة. أغلقت HON عند $231.3 يوم الجمعة و$227.71 يوم الاثنين — دون مضاعفة السعر. لم نقم بتطبيق التجزئة.
  • عدد الأخبار يعتمد على تغذية مورد واحد، وهم الناشرون 3 الذين نتعامل معهم — وليس "جميع أخبار السوق".
  • تفاصيل مستوى التكات (Tick-level) — الأسعار المتقاطعة، وتصحيح الحجم الوهمي، وملف FINRA المبتور لحجم البيع على المكشوف (ولماذا حجم البيع على المكشوف ليس هو مراكز البيع على المكشوف) — تجدها في التحليل العميق.

الجلسة، مؤكدة

الاستعلامفحص الجلسة: نطاق شريط الدقيقة الملحوظ لـ SPY، وإغلاق الجمعة على الشريط
استعلام SQL الدقيق وراء كل رقم
WITH
    (
        SELECT (
            round(toFloat64(minIf(low, formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') = '11:07')), 2),
            round(toFloat64(minIf(low, formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') IN ('11:04', '11:05', '11:06', '11:08', '11:09', '11:10'))), 2)
        )
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'QQQ' AND window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
    ) AS qqq_lone
SELECT
    (SELECT count() FROM global_markets.delayed_stocks_minute_aggs
     WHERE ticker = 'SPY' AND window_start >= '2026-07-03 00:00:00' AND window_start < '2026-07-04 00:00:00') AS jul3_spy_bars,
    formatDateTime(min(toTimeZone(window_start, 'America/New_York')), '%H:%i') AS first_spy_bar_et,
    formatDateTime(max(toTimeZone(window_start, 'America/New_York')), '%H:%i') AS last_spy_bar_et,
    count() AS spy_minute_bars,
    countIf(window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00') AS regular_session_bars,
    qqq_lone.1 AS qqq_1107_lone_low,
    qqq_lone.2 AS qqq_1107_adjacent_bars_low,
    round(qqq_lone.2 - qqq_lone.1, 2) AS qqq_lone_print_below_adjacent
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-06-29 00:00:00' AND window_start < '2026-06-30 00:00:00'

تمتد شموع SPY من 04:00 إلى 19:59 بتوقيت نيويورك مع 390 من الشموع ضمن النطاق الاعتيادي — وهي جلسة كاملة تم التأكد منها من خلال سجل التداول (تحتوي مجموعة بيانات تقويم البورصة على الإغلاقات القادمة فقط). في ذلك الجمعة، 3 يوليو، كان هناك إغلاق كامل — 0 ظهرت شموع SPY طوال اليوم، بينما صادف يوم 4 يوليو يوم سبت؛ وللأسبوع المكون من أربع جلسات ملخصه الخاص.

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

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

شهد السوق ارتفاعاً بقيادة أسهم النمو: أغلق QQQ عند 2.57% فوق مستوى يوم الجمعة، وارتفع SPY بنسبة 1.62%، وDIA بنسبة 0.81%، وIWM بنسبة 0.45%، بينما أنهى 62.3% من الرموز التي تداولت بقيمة مليون دولار أو أكثر تداولاتها في المنطقة الخضراء.

هل كان يوم 29 يونيو 2026 يوماً هاماً لمؤشر Nasdaq؟

كان يوماً هاماً وليس استثنائياً: حيث جاء تحرك QQQ بنسبة 2.57% مقارنة بالإغلاق السابق في المرتبة 5 من حيث الحجم المطلق من بين 21 جلسة خلال الشهر الماضي، مقابل أعلى مستوى شهري بلغ 4.76%.

ما هي القطاعات التي قادت السوق في 29 يونيو 2026؟

قاد قطاع التكنولوجيا (2.52%) والقطاع الاستهلاكي الاختياري (2.37%) سلال قطاعات SPDR الأحد عشر؛ وجاء قطاع المواد في المرتبة الأخيرة بنسبة -1.82%، بفارق 4.34 نقطة مئوية. كما أغلق قطاع المرافق، والسلع الاستهلاكية الأساسية، والطاقة، والعقارات على انخفاض.

ما هي حصة عقود الخيارات التي تنتهي في نفس اليوم (0DTE) من إجمالي حجم التداول في 29 يونيو 2026؟

شكلت العقود التي تنتهي في نفس اليوم نسبة 35.8% من إجمالي 66.33 مليون عقد تم تداولها؛ وكان أكثر عقد نشاطاً هو عقد شراء (call) لـ SPY بقيمة 741 دولار (بواقع 788,133 عقد)، وقد انتهى خارج نطاق الربح (out of the money).

لماذا يتم تداول الخيارات قبل افتتاح سوق الأسهم؟

تُتداول خيارات المؤشرات فقط. جميع عمليات تنفيذ الخيارات البالغة 40,621 قبل الساعة 9:30 صباحاً بتوقيت شرق الولايات المتحدة في 29 يونيو كانت مرتبطة بمؤشرات تُسوى نقداً (RUTW, SPX, SPXW, VIX, VIXW, XSP)، والتي تدرج جلسات التداول العالمية الممتدة؛ وبلغ عدد عمليات تنفيذ خيارات الأسهم وصناديق الاستثمار المتداولة (ETF) في تلك الفترة 0.

المنهجية

  • تُخزن الطوابع الزمنية بتوقيت UTC، ويتم تحويلها إلى توقيت نيويورك داخل الاستعلامات. يمثل "الإغلاق" آخر شمعة دقيقة في الجلسة العادية، وليس سعر المزاد؛ وتتم مقارنة التغيرات اليومية بين 29 يونيو و26 يونيو، كما تم التحقق من الجلسة من خلال نطاق الشموع المرصودة.
  • يعتمد ترتيب الشهر السابق على تحركات الإغلاق مقابل الإغلاق خلال ساعات التداول العادية، مع استبعاد أول جلسة (لعدم وجود إغلاق سابق ضمن النطاق الزمني). ويتم إعادة تحليل تواريخ انتهاء صلاحية الخيارات من رمز OCC (حيث أن عمود انتهاء الصلاحية في الجدول معطل).
  • تُقرأ كل لوحة بيانات مرة واحدة عند إعداد التقرير، عبر مسار القراءة المخصص فقط. حالة المستودع كما هي في 13 يوليو 2026.

كل لوحة بيانات هي نتيجة استعلام مخزنة — تشمل الرسم البياني والجدول ولغة SQL في كائن واحد. يمكنك نسخ أي منها ولصقه في محطة Strasmore. الجلسة التالية: 30 يونيو.