Strasmore Research
Market Recap

ملخص أداء السوق للنصف الأول من 2026

Matt ConnorBy Matt Connor Updated 2026-07-23

كان النصف الأول من عام 2026 عبارة عن سوقين مختلفين اندمجا معاً: الربع الأول شهد تراجعاً أو استقراراً لجميع صناديق المؤشرات المتداولة الرئيسية، بينما نجح الربع الثاني في تعويض ذلك وزيادة. أنهى SPY النصف الأول بارتفاع قدره 8.8%؛ وارتفع QQQ بنسبة 18.7%؛ أما 21.3% لـ IWM فكان أفضل نصف أول سجله صندوق الشركات ذات القيمة السوقية الصغيرة وفقاً للبيانات المتوفرة لدينا — والنتائج موضحة أدناه بعد إعادة حسابها مقابل كل عام سابق في استعلام واحد. أما سوق أسعار الفائدة فقد كشف عن مسار مختلف: حيث تقلص فارق 2s10s من 72 نقطة أساس إلى 30 خلال النصف الأول دون حدوث انقلاب في المنحنى. توفر هذه الصفحة السجل الكامل لهذا النصف — بما في ذلك لوحة النتائج، والترتيب التاريخي، والتدرج الشهري، ومنحنى العائد الكامل حسب تاريخ الاستحقاق، والقطاعات الأحد عشر، والتطور الشهري لسوق الخيارات، والأسهم الفردية البارزة في هذا النصف. كل رقم هنا هو نتيجة استعلام مخزن؛ يمكنك توسيع أي لوحة للاطلاع على لغة SQL.

النصف المالي في السوق

الاستعلامH1 2026: عوائد النصف الأول، والربع الأول، والربع الثاني لصناديق المؤشرات الأربعة — بحسب استعلام واحد
استعلام SQL الدقيق وراء كل رقم
SELECT ticker,
    round((argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
         / argMinIf(toFloat64(open), window_start, toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-01-01') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS h1_return_pct,
    round((argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-03-31') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
         / argMinIf(toFloat64(open), window_start, toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-01-01') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS q1_return_pct,
    round((argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
         / argMinIf(toFloat64(open), window_start, toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-04-01') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS q2_return_pct,
    round(argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2) AS h1_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
  AND window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY ticker
ORDER BY ticker

يحدد الانقسام بين الربعين شكل النصف المالي: SPY سجل -5.2% ثم 14.1%؛ وQQQ سجل -6.9% ثم 26.5%. كان IWM القائد الهادئ لهذا النصف عند 21.3% — حيث تفوقت الشركات ذات القيمة السوقية الصغيرة على جميع مؤشرات القيمة السوقية الكبيرة خلال الستة أشهر. تتوفر تفاصيل الربع في ملخص الربع الثاني. ملاحظة حول حسابات أنصاف السنوات: إن نسبة 8.8% لـ SPY خلال الستة أشهر أقل بكثير من نسبة الربع الثاني وحده، لأن النصف المالي يربط بين تراجع واسترداد — حيث يؤدي تراكم -5.2% و14.1% إلى النتيجة المذكورة في الجدول، وأي عنوان يتحدث عن "عائد النصف الأول" يتضمن ضمنياً تلك الرحلة الكاملة من الهبوط والصعود.

أداء النصف الأول مقارنة بجميع أنصاف الأعوام الأولى

هل يُعد النصف الأول من 8.8% غير معتاد؟ تعيد اللوحات أدناه حساب عوائد النصف الأول ذاتها — من افتتاح ساعات التداول العادية إلى إغلاقها، من يناير إلى يونيو — لكل سنة من سجل البيانات بالدقيقة، وذلك عبر استعلام واحد لكل زوج من صناديق الاستثمار المتداولة (ETF) مع استخدام عمليات حسابية متطابقة لكل سنة، ثم يتم ترتيب هذا النصف مقارنة بالبقية. تم التحقق من أقدم تاريخ في سجل البيانات بالدقيقة في المنهجية أدناه؛ وأول نصف أول كامل في السجلات هو الذي تشير إليه الإيصالات.

الاستعلامكل نصف أول في السجل: SPY و QQQ، مع إعادة حساب متطابقة لكل سنة (تظهر عدد الجلسات لكل سنة)
استعلام SQL الدقيق وراء كل رقم
SELECT toYear(toTimeZone(window_start, 'America/New_York')) AS y,
       ticker,
       uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions,
       round((argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100, 1) AS h1_return_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ')
  AND window_start >= toDateTime('2003-01-01 00:00:00')
  AND window_start < toDateTime('2026-07-01 00:00:00')
  AND toMonth(toTimeZone(window_start, 'America/New_York')) <= 6
  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY y, ticker
HAVING sessions >= 100
ORDER BY y ASC, ticker ASC
الاستعلامسجل الترتيب: هذا النصف مقابل كل نصف سابق (SPY و QQQ؛ الترتيب 1 = الأفضل؛ مع استبعاد الذات)
استعلام SQL الدقيق وراء كل رقم
SELECT ticker,
       round(anyIf(ret, y = 2026), 1) AS h1_2026_pct,
       arrayCount(x -> x > anyIf(ret, y = 2026), groupArrayIf(ret, y != 2026)) + 1 AS rank_best,
       count() AS halves_compared,
       min(y) AS first_year,
       anyIf(sessions, y = 2026) AS sessions_2026
FROM (
    SELECT toYear(toTimeZone(window_start, 'America/New_York')) AS y,
           ticker,
           uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions,
           (argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS ret
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'QQQ')
      AND window_start >= toDateTime('2003-01-01 00:00:00')
      AND window_start < toDateTime('2026-07-01 00:00:00')
      AND toMonth(toTimeZone(window_start, 'America/New_York')) <= 6
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY y, ticker
    HAVING sessions >= 100
)
GROUP BY ticker
ORDER BY ticker ASC

يحتل أداء 8.8% لـ SPY المرتبة 6 من أصل 23 من أنصاف الأعوام الأولى منذ 2004 (المرتبة 1 هي الأفضل) — وهو ضمن الثلث الأعلى، لكنه ليس رقماً قياسياً. أما أداء 18.7% لـ QQQ فيحتل المرتبة 3 من أصل 16 من أنصاف الأعوام المماثلة — وسلسلة QQQ أقصر — حيث تم تداول الصندوق تحت رمز أساسي مختلف لفترة من السنوات — كما يتم استبعاد أي سنة تحتوي على أقل من مئة جلسة للنصف الأول لكل رمز بموجب ضابط عدد الجلسات الموضح في الجدول، لذا تظهر الاستبعادات بوضوح ولا يتم تجاهلها.

الاستعلامكل نصف أول في السجل: DIA و IWM، بنفس الحسابات
استعلام SQL الدقيق وراء كل رقم
SELECT toYear(toTimeZone(window_start, 'America/New_York')) AS y,
       ticker,
       uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions,
       round((argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100, 1) AS h1_return_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('DIA', 'IWM')
  AND window_start >= toDateTime('2003-01-01 00:00:00')
  AND window_start < toDateTime('2026-07-01 00:00:00')
  AND toMonth(toTimeZone(window_start, 'America/New_York')) <= 6
  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY y, ticker
HAVING sessions >= 100
ORDER BY y ASC, ticker ASC
الاستعلامسجل الترتيب: DIA و IWM مقابل كل نصف أول سابق (الترتيب 1 = الأفضل؛ مع استبعاد الذات)
استعلام SQL الدقيق وراء كل رقم
SELECT ticker,
       round(anyIf(ret, y = 2026), 1) AS h1_2026_pct,
       arrayCount(x -> x > anyIf(ret, y = 2026), groupArrayIf(ret, y != 2026)) + 1 AS rank_best,
       count() AS halves_compared,
       min(y) AS first_year,
       anyIf(sessions, y = 2026) AS sessions_2026
FROM (
    SELECT toYear(toTimeZone(window_start, 'America/New_York')) AS y,
           ticker,
           uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions,
           (argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS ret
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('DIA', 'IWM')
      AND window_start >= toDateTime('2003-01-01 00:00:00')
      AND window_start < toDateTime('2026-07-01 00:00:00')
      AND toMonth(toTimeZone(window_start, 'America/New_York')) <= 6
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY y, ticker
    HAVING sessions >= 100
)
GROUP BY ticker
ORDER BY ticker ASC

يمثل صف الشركات ذات القيمة السوقية الصغيرة العنوان الرئيسي لهذا النصف؛ حيث يحتل IWM المرتبة 1 من أصل 23 من أنصاف الأعوام الأولى منذ 2004 — وهو الأفضل في السجل لهذا الصندوق، متفوقاً على جميع أنصاف أعوام التعافي في الجدول. ويحتل أداء 8.4% لـ DIA المرتبة 4 من أصل 23. والأساس، كما هو موضح ببساطة: هو العائد من الافتتاح إلى الإغلاق خلال ساعات التداول العادية في كل نصف أول من السنة التقويمية، مع استخدام عمليات حسابية متطابقة لكل سنة، مع تثبيت الحد الأقصى عند نهاية هذه الفترة لضمان عدم توسع مجموعة المقارنة بصمت عند إدراج سنوات لاحقة.

شهر بشهر

الاستعلامالنصف، شهراً بشهر (SPY و QQQ، مع إعادة حساب متطابقة في استعلام واحد)
استعلام SQL الدقيق وراء كل رقم
SELECT toString(toStartOfMonth(toDate(toTimeZone(window_start, 'America/New_York')))) AS period_start, ticker,
    round((argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) / argMinIf(toFloat64(open), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS month_return_pct,
    round(argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2) AS month_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ')
  AND window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY period_start, ticker
ORDER BY period_start, ticker

تذبذب الأداء صعوداً وهبوطاً؛ حيث كان شهر أبريل نقطة التحول للنصف الأول (SPY 9.9%، QQQ 14.8% — وهو أفضل شهر لـ QQQ خلال الأشهر الستة)، وأغلق شهر يونيو النصف بهدوء عند -1.2% لـ SPY. يمكنك الاطلاع على ملخص شهر يونيو، مع تفاصيل نطاق السوق التي تلت هذا الرقم الهادئ، هنا. وبقراءة الجدول شهراً بشهر: بدأ العام بشكل مستقر تقريباً (SPY 0.9% في يناير)، ثم انخفض خلال فبراير (-0.5%) ومارس (-4.2%)، ليعكس شهر أبريل هذا الاتجاه في شهر واحد، ثم واصل الصعود في مايو (4.9%)، بينما شهد يونيو تراجعاً طفيفاً. كانت ثلاثة أشهر من أصل ستة سلبية — وهو عدد أشهر متساوٍ تقريباً لنصف سنة انتهى بإيجابية قوية، وهذا هو النمط المعتاد لنصف السنة في الأسهم، وهو أمر يستحق التذكر عندما يُقرأ شهر واحد كحكم نهائي.

أسعار الفائدة: منحنى العائد بالكامل، حسب تاريخ الاستحقاق

شهد منحنى عائد سندات الخزانة التواءً خلال النصف، وليس إزاحة كاملة. لم تتغير الآجال القصيرة — وهي الآجال الأكثر تأثراً بالسياسة النقدية — إلا بشكل طفيف؛ حيث ارتفع أجل السنتين بمقدار ثلثي نقطة مئوية، بينما لم يتأثر أجل الثلاثين عاماً تقريباً. يوضح الجدول منحنى العائد بالكامل، من بداية النصف إلى نهايته.

الاستعلامسبعة آجال: العائد في بداية النصف مقابل نهايته، والتغير
استعلام SQL الدقيق وراء كل رقم
SELECT maturity, start_pct, end_pct, round((end_pct - start_pct) * 100, 0) AS change_bp FROM (
    SELECT '1-month' AS maturity, (SELECT round(argMin(yield_1_month, date), 2) FROM global_markets.treasury_yields WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30') AND isNotNull(yield_1_month)) AS start_pct, (SELECT round(argMax(yield_1_month, date), 2) FROM global_markets.treasury_yields WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30') AND isNotNull(yield_1_month)) AS end_pct, 1 AS o
    UNION ALL SELECT '3-month', (SELECT round(argMin(yield_3_month, date), 2) FROM global_markets.treasury_yields WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30') AND isNotNull(yield_3_month)), (SELECT round(argMax(yield_3_month, date), 2) FROM global_markets.treasury_yields WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30') AND isNotNull(yield_3_month)), 2
    UNION ALL SELECT '1-year', (SELECT round(argMin(yield_1_year, date), 2) FROM global_markets.treasury_yields WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30') AND isNotNull(yield_1_year)), (SELECT round(argMax(yield_1_year, date), 2) FROM global_markets.treasury_yields WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30') AND isNotNull(yield_1_year)), 3
    UNION ALL SELECT '2-year', (SELECT round(argMin(yield_2_year, date), 2) FROM global_markets.treasury_yields WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30') AND isNotNull(yield_2_year)), (SELECT round(argMax(yield_2_year, date), 2) FROM global_markets.treasury_yields WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30') AND isNotNull(yield_2_year)), 4
    UNION ALL SELECT '5-year', (SELECT round(argMin(yield_5_year, date), 2) FROM global_markets.treasury_yields WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30') AND isNotNull(yield_5_year)), (SELECT round(argMax(yield_5_year, date), 2) FROM global_markets.treasury_yields WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30') AND isNotNull(yield_5_year)), 5
    UNION ALL SELECT '10-year', (SELECT round(argMin(yield_10_year, date), 2) FROM global_markets.treasury_yields WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30') AND isNotNull(yield_10_year)), (SELECT round(argMax(yield_10_year, date), 2) FROM global_markets.treasury_yields WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30') AND isNotNull(yield_10_year)), 6
    UNION ALL SELECT '30-year', (SELECT round(argMin(yield_30_year, date), 2) FROM global_markets.treasury_yields WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30') AND isNotNull(yield_30_year)), (SELECT round(argMax(yield_30_year, date), 2) FROM global_markets.treasury_yields WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30') AND isNotNull(yield_30_year)), 7
) ORDER BY o

اقرأ عمود التغيير من الأعلى إلى الأسفل وستلاحظ الالتواء بوضوح: تحرك أجل الشهر الواحد بمقدار -2 نقطة أساس خلال ستة أشهر، بينما ارتفع أجل السنتين بمقدار 67، وارتفع أجل الثلاثين عاماً بمقدار 5 فقط. تؤدي الإزاحة المتوازية إلى تحريك جميع آجال الاستحقاق معاً؛ أما في هذا النصف، فقد تحرك وسط المنحنى مع ثبات الطرفين — حيث استقرت الأسعار قصيرة الأجل بالقرب من أسعار السياسة النقدية، بينما لم تشهد الأسعار طويلة الأجل إعادة تسعير تذكر.

What that did to the slope

الاستعلامسجل الانحدار: البداية، النهاية، الحد الأدنى — لم ينعكس الفارق هذا النصف
استعلام SQL الدقيق وراء كل رقم
SELECT
    round((argMin(yield_10_year - yield_2_year, date)) * 100, 0) AS start_bp,
    round((argMax(yield_10_year - yield_2_year, date)) * 100, 0) AS end_bp,
    round(min((yield_10_year - yield_2_year)) * 100, 0) AS min_bp,
    count() AS prints
FROM global_markets.treasury_yields
WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30')
  AND isNotNull(yield_10_year) AND isNotNull(yield_2_year)

The short end rising faster than the long end is what a flattening IS: the 2s10s spread ground down from 72 to 30 basis points across 124 prints — and its lowest print of the half was 27, so the curve flattened without ever inverting. Whether a flatter curve "means" anything about what comes next is a forecast, and this table doesn't make forecasts.

الاستعلامفارق 2s10s، مع كل تسجيل خلال النصف
استعلام SQL الدقيق وراء كل رقم
SELECT toString(date) AS d, round((yield_10_year - yield_2_year) * 100, 0) AS spread_2s10s_bp
FROM global_markets.treasury_yields
WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30')
  AND isNotNull(yield_10_year) AND isNotNull(yield_2_year)
ORDER BY date

The daily series shows the flattening was not one event but a grind — 124 prints stepping down through the half, with the spread starting the year at 72 basis points and ending at 30.

القطاعات: التباين الذي أخفاه المؤشر

أي أجزاء من السوق حققت الأرباح خلال النصف الأول فعلياً؟ صناديق الاستثمار المتداولة لإحدى عشرة قطاعاً من SPDR، مقسمة بين النصف الأول والربع الثاني، في استعلام واحد.

الاستعلامصناديق القطاعات الـ11: عائد H1 2026، تقسيم الربع الأول والثاني، وحجم التداول بالدولار لـ H1
استعلام SQL الدقيق وراء كل رقم
SELECT ticker,
    round((argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
         / argMinIf(toFloat64(open), window_start, toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-01-01') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS h1_return_pct,
    round((argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-03-31') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
         / argMinIf(toFloat64(open), window_start, toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-01-01') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS q1_return_pct,
    round((argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
         / argMinIf(toFloat64(open), window_start, toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-04-01') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS q2_return_pct,
    round(sumIf(toFloat64(close) * toFloat64(volume), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) / 1e9, 1) AS h1_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('XLB', 'XLC', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')
  AND window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY ticker
ORDER BY ticker

التباين هو جوهر القصة: أنهى قطاع التكنولوجيا (XLK) النصف الأول مرتفعاً بنسبة 30.8% — مع ربع ثانٍ بنسبة 42% — بينما أنهى قطاع خدمات الاتصالات (XLC) بنسبة -9.3%، بفارق يبلغ حوالي أربعين نقطة مئوية بين أفضل وأسوأ قطاع خلال ستة أشهر. إن امتلاك "السوق" يعني امتلاك طرفي هذا التباين. ويمثل قطاع الطاقة (XLE) نموذجاً تحذيرياً حول الفترات الزمنية الطويلة: فقد أظهر قطاع الطاقة نمواً صحياً بنسبة 18.8% خلال النصف الأول — تحقق من خلال ربع أول بنسبة 36.9% تلاه ربع ثانٍ بنسبة -11%. وكان أقوى قطاع كبير في السوق خلال الربع الذي تراجعت فيه المؤشرات، ومن بين أضعف قطاعاته في الربع الذي تعافت فيه. أما القطاع المالي (XLF) فقد سار في اتجاه عكسي: بنسبة -9.9% في الربع الأول، ثم 7.7% في الربع الثاني. إن رقم النصف الأول الموحد يلغي أثر التقلبات؛ لذا فإن التقسيم الربع سنوي هو الرؤية الأكثر دقة.

تكلفة التداول في كل قطاع

تنتشر جداول العوائد في كل مكان، لكن أسعار العرض والطلب ليست كذلك. يقيس هذا القسم متوسط الفارق بين سعر العرض وسعر الطلب لكل صندوق متداول في القطاع (ETF) عبر جلسة تمثيلية كاملة — 123 جلسة في النصف، والجلسة المقاسة هنا هي جلسة 29 يونيو، والمشار إليها بهذا الاسم — وذلك بناءً على كل تحديث لـ NBBO في ذلك اليوم.

الاستعلاممتوسط الفارق المعروض لكل صندوق قطاعي، جلسة تمثيلية واحدة (29 يونيو 2026)، ساعات التداول العادية
استعلام SQL الدقيق وراء كل رقم
SELECT ticker,
    round(quantileDeterministicIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, toUInt64(toUnixTimestamp64Micro(sip_timestamp)), bid_price > 0 AND ask_price >= bid_price), 2) AS med_spread_bps,
    round(count() / 1e6, 2) AS quote_updates_m,
    countIf(NOT (bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price)) AS invalid_dropped
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('XLB', 'XLC', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')
  AND sip_timestamp >= toDateTime64('2026-06-29 13:30:00', 9) AND sip_timestamp < toDateTime64('2026-06-29 20:00:00', 9)
GROUP BY ticker
ORDER BY med_spread_bps

تأتي جميع الأسعار الـ 11 عند بضع نقاط أساس أو أقل — الأقل تكلفة هي 0.62 نقطة أساس (XLV)، والأوسع هي 2.23 نقطة أساس (XLRE) — وهذا هو المعنى العملي لـ "صناديق القطاعات المتداولة تتمتع بسيولة عالية": تكلفة الدخول في أي رؤية قطاعية تُقاس بأجزاء من المئة في المئة. وللمقارنة مع الأسهم الفردية، يقيس التحليل المتعمق ليوم 29 يونيو فارق السعر لاسم ضعيف السيولة بمئات الأضعاف من هذه المستويات، خلال نفس الجلسة.

نطاق السوق عبر النصف

ينقسم نطاق السوق عند مقياس النصف إلى نوعين. النوع الأول هو النطاق العام: سجل مؤشر SPY عدد 64 من جلسات الصعود مقابل 59 من جلسات الهبوط خلال النصف الذي يغطي 123 — وهي نسبة تقترب من احتمالية متساوية للأيام، وذلك ضمن نصف إيجابي بشكل قوي، وهو ما يعكس نمط الصعود التدريجي من خلال البيانات اليومية. أما النوع الثاني -وهو فحص كل رمز تداول- فيظهر عند المقياس الشهري: تجد تفاصيل نسبة الصعود والهبوط لشهر يونيو في ملخص شهر يونيو (حيث انخفض عدد الرموز أكثر مما ارتفع)، كما تجد إحصاء حدود الربع السنوي في ملخص الربع الثاني. إن إجراء فحص شامل لجميع الرموز الصاعدة في فترة ستة أشهر يتجاوز سعة الاستعلام التي توفرها هذه الصفحة؛ لذا يتم الإفصاح عن هذا الحد هنا بدلاً من تضييق نطاق البحث دون توضيح.

الاستعلامجلسات SPY الصاعدة مقابل الهابطة خلال النصف، سجل مبسط
استعلام SQL الدقيق وراء كل رقم
SELECT countIf(day_ret > 0) AS up_sessions,
       countIf(day_ret < 0) AS down_sessions,
       countIf(day_ret = 0) AS flat_sessions,
       count() AS sessions_total
FROM (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           round((argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100, 2) AS day_ret
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2026-01-01 00:00:00')
      AND window_start < toDateTime('2026-07-01 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 d
)

سجل الخيارات، شهراً بشهر

ما يمكن لصفحة نصف سنوية فقط أن توضحه هو كيفية تطور سجل الخيارات نفسه. يمثل كل قسم أدناه مسحاً كاملاً للسجل لشهر واحد — إجمالي حجم العقود، والحصة التي تم تداولها في يوم انتهاء صلاحيتها نفسه (0DTE). القصة المقاسة: ارتفع حجم التداول من 1316.1 مليون عقد في يناير إلى 1477.9 مليون في يونيو — وهو الشهر الأكثر نشاطاً في الخيارات خلال النصف الأول — كما ارتفعت حصة العقود التي تنتهي في نفس اليوم من 26.5% في يناير إلى 34.3% في يونيو، وهو الشهر الأعلى في هذا النصف. تم تداول ثلث حجم خيارات شهر يونيو في عقود تنتهي صلاحيتها في نفس اليوم.

الاستعلاميناير: إجمالي حجم عقود الخيارات في السجل وحصة انتهاء الصلاحية في نفس اليوم (مسح واحد)
استعلام SQL الدقيق وراء كل رقم
SELECT round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm,
       round(100.0 * sumIf(toFloat64(volume), toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) = toDate(toTimeZone(window_start, 'America/New_York'))) / sum(toFloat64(volume)), 1) AS zero_dte_pct,
       uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime('2026-01-01 00:00:00')
  AND window_start < toDateTime('2026-02-01 00:00:00')
الاستعلامفبراير: إجمالي حجم عقود الخيارات في السجل وحصة انتهاء الصلاحية في نفس اليوم (مسح واحد)
استعلام SQL الدقيق وراء كل رقم
SELECT round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm,
       round(100.0 * sumIf(toFloat64(volume), toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) = toDate(toTimeZone(window_start, 'America/New_York'))) / sum(toFloat64(volume)), 1) AS zero_dte_pct,
       uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime('2026-02-01 00:00:00')
  AND window_start < toDateTime('2026-03-01 00:00:00')
الاستعلاممارس: إجمالي حجم عقود الخيارات في السجل وحصة انتهاء الصلاحية في نفس اليوم (مسح واحد)
استعلام SQL الدقيق وراء كل رقم
SELECT round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm,
       round(100.0 * sumIf(toFloat64(volume), toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) = toDate(toTimeZone(window_start, 'America/New_York'))) / sum(toFloat64(volume)), 1) AS zero_dte_pct,
       uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime('2026-03-01 00:00:00')
  AND window_start < toDateTime('2026-04-01 00:00:00')
الاستعلامأبريل: إجمالي حجم عقود الخيارات في السجل وحصة انتهاء الصلاحية في نفس اليوم (مسح واحد)
استعلام SQL الدقيق وراء كل رقم
SELECT round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm,
       round(100.0 * sumIf(toFloat64(volume), toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) = toDate(toTimeZone(window_start, 'America/New_York'))) / sum(toFloat64(volume)), 1) AS zero_dte_pct,
       uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime('2026-04-01 00:00:00')
  AND window_start < toDateTime('2026-05-01 00:00:00')
الاستعلاممايو: إجمالي حجم عقود الخيارات في السجل وحصة انتهاء الصلاحية في نفس اليوم (مسح واحد)
استعلام SQL الدقيق وراء كل رقم
SELECT round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm,
       round(100.0 * sumIf(toFloat64(volume), toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) = toDate(toTimeZone(window_start, 'America/New_York'))) / sum(toFloat64(volume)), 1) AS zero_dte_pct,
       uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime('2026-05-01 00:00:00')
  AND window_start < toDateTime('2026-06-01 00:00:00')
الاستعلاميونيو: إجمالي حجم عقود الخيارات في السجل وحصة انتهاء الصلاحية في نفس اليوم (مسح واحد)
استعلام SQL الدقيق وراء كل رقم
SELECT round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm,
       round(100.0 * sumIf(toFloat64(volume), toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) = toDate(toTimeZone(window_start, 'America/New_York'))) / sum(toFloat64(volume)), 1) AS zero_dte_pct,
       uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime('2026-06-01 00:00:00')
  AND window_start < toDateTime('2026-07-01 00:00:00')

تكلفة التداول، عينة شهرية

الاستعلاممتوسط الفارق المعروض لـ SPY في جلسة عينة واحدة مصنفة شهرياً (الأربعاء الثاني)، مع كل تحديث لـ NBBO
استعلام SQL الدقيق وراء كل رقم
SELECT toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS session,
       round(quantileDeterministicIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, toUInt64(toUnixTimestamp64Micro(sip_timestamp)), bid_price > 0 AND ask_price >= bid_price), 3) AS med_spread_bps,
       round(count() / 1e6, 2) AS quote_updates_m,
       countIf(NOT (bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price)) AS invalid_dropped
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPY'
  AND ((sip_timestamp >= toDateTime64('2026-01-14 14:30:00', 9) AND sip_timestamp < toDateTime64('2026-01-14 21:00:00', 9))
    OR (sip_timestamp >= toDateTime64('2026-02-11 14:30:00', 9) AND sip_timestamp < toDateTime64('2026-02-11 21:00:00', 9))
    OR (sip_timestamp >= toDateTime64('2026-03-11 13:30:00', 9) AND sip_timestamp < toDateTime64('2026-03-11 20:00:00', 9))
    OR (sip_timestamp >= toDateTime64('2026-04-15 13:30:00', 9) AND sip_timestamp < toDateTime64('2026-04-15 20:00:00', 9))
    OR (sip_timestamp >= toDateTime64('2026-05-13 13:30:00', 9) AND sip_timestamp < toDateTime64('2026-05-13 20:00:00', 9))
    OR (sip_timestamp >= toDateTime64('2026-06-10 13:30:00', 9) AND sip_timestamp < toDateTime64('2026-06-10 20:00:00', 9)))
GROUP BY session
ORDER BY session ASC

متوسط الفارق السعري (spread) لـ SPY في الأربعاء الثاني من كل شهر: 0.145 نقطة أساس في عينة يناير، و0.144 في فبراير، وهو ما يعادل ضعف ذلك تقريبًا خلال عينات الربيع، و0.409 نقطة أساس في عينة يونيو — وهو الأوسع بين العينات الستة. التوضيح: هذه هي جلسات عينة محددة (الأربعاء الثاني من كل شهر)، وليست متوسطات شهرية كاملة — حيث إن مسح كامل سجل الأسعار لستة أشهر يتجاوز ميزانية الاستعلام الخاصة بهذه الصفحة. توجد تواريخ العينات في الجدول، كما يتم احتساب الأسعار غير الصالحة هناك ولا يتم تجاهلها.

الأسماء البارزة في النصف الأول

هذه القائمة تعتمد على حجم التداول الفعلي وليس الاختيار التحريري: المجموعة أدناه تمثل أعلى قائمة من حيث حجم التداول بالدولار خلال الربع السنوي، وقد أُعيد حسابها هنا لتكون مرجعاً لهذه الصفحة، وكل اسم حقق عائداً كبيراً يرتبط برابط لتحليل مفصل.

الاستعلامحجم التداول بالدولار في ساعات التداول العادية للربع الثاني، السجل كاملاً (تم استبعاد رمز واحد قيد التحقق)
استعلام SQL الدقيق وراء كل رقم
SELECT ticker,
    round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 1) AS dollar_bn,
    round(100 * sum(toFloat64(close) * toFloat64(volume)) / max(sum(toFloat64(close) * toFloat64(volume))) OVER (), 1) AS pct_of_leader
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= toDateTime('2026-04-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
  AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
  AND ticker NOT IN ('SPCX')
GROUP BY ticker
ORDER BY dollar_bn DESC
LIMIT 8

تجاوز حجم تداول MU حجم تداول SPY خلال الربع الثاني (2047.5 مليار دولار مقابل 2032 مليار دولار) — وهي نفس البيانات الواردة في ملخص الربع الثاني. وبالنسبة للأسهم الستة الفردية في قائمة المتصدرين، فإن أداء النصف كان كالتالي:

الاستعلامعوائد النصف والربع الثاني لمجموعة الرواد بالإضافة إلى حجم التداول بالدولار للنصف — استعلام مفلتر بالرموز
استعلام SQL الدقيق وراء كل رقم
SELECT ticker,
    round((argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
         / argMinIf(toFloat64(open), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS h1_return_pct,
    round((argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
         / argMinIf(toFloat64(open), window_start, window_start >= toDateTime('2026-04-01 00:00:00') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS q2_return_pct,
    round(sumIf(toFloat64(close) * toFloat64(volume), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) / 1e9, 1) AS h1_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('MU', 'NVDA', 'TSLA', 'SNDK', 'AMD', 'INTC')
  AND window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY ticker
ORDER BY ticker

تهيمن قطاعات الذاكرة وأشباه الموصلات على النصف الأول: حقق SNDK عائداً بنسبة 830.1% خلال ستة أشهر، و290% لشركة MU — يمكنك الاطلاع على تحليل دقيق لتحركات سهمها في شهر يونيو هنا — و269.3% لشركة INTC. أما NVDA، وهي الأكبر في القائمة بحجم تداول بلغ 3287.9 مليار دولار خلال نصف العام، فقد حققت عائداً بنسبة 5.2% — أي بنسبة من خانة الآحاد بينما تضاعفت عوائد أسهم الذاكرة؛ ويستعرض التحليل المفصل لشهر يونيو هذا التباين جلسة بجلسة. ويعد TSLA السهم الوحيد المتراجع في القائمة بنسبة -8.2%. أما السهم الضخم الذي أُدرج في يونيو فيتم تداوله تحت رمز مستخدم سابقاً، وقد استُبعد من مسح المتصدرين لحين التحقق من الكيان — يوجد تقرير مفصل لكل شهر من شهوره الأولى. الأساس: تم اختيار قائمة المتصدرين بناءً على حجم التداول بالدولار خلال ساعات العمل الرسمية للربع الثاني (المسح أعلاه)؛ أما أعمدة العوائد فهي تمثل أداء النصف الأول، من أول افتتاح رسمي إلى آخر إغلاق رسمي.

موجة الاكتتابات العامة للنصف، شهراً بشهر

الاستعلامالإدراجات الجديدة شهرياً خلال النصف
استعلام SQL الدقيق وراء كل رقم
SELECT toString(toStartOfMonth(listing_date)) AS m, count() AS listings
FROM global_markets.stocks_ipos
WHERE listing_date >= toDate('2026-01-01') AND listing_date <= toDate('2026-06-30')
GROUP BY m
ORDER BY m

كانت موجة الإدراجات مكثفة في البداية وغير متساوية: كان شهر فبراير الشهر الأكثر نشاطاً في النصف بواقع 47 عملية إدراج، بينما كان شهر مارس الأقل نشاطاً بواقع 17 — أما عملية الإدراج الضخمة الشهيرة في شهر يونيو فقد حدثت في شهر شهد أحجام تداول عادية (35 عملية إدراج).

تقويم النصف الأول

الاستعلامالتقويم المؤسسي لـ H1 2026 (تم الكشف عن جميع فجوات مؤشر الإيداع لنهاية الأشهر الثلاثة)
استعلام SQL الدقيق وراء كل رقم
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= toDate('2026-01-01') AND ex_dividend_date <= toDate('2026-06-30')) AS ex_div_events,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= toDate('2026-01-01') AND execution_date <= toDate('2026-06-30')) AS splits,
    (SELECT count() FROM global_markets.stocks_ipos WHERE listing_date >= toDate('2026-01-01') AND listing_date <= toDate('2026-06-30')) AS ipos,
    (SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date >= toDate('2026-01-01') AND filing_date <= toDate('2026-06-30')) AS h1_filings,
    (SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-03-31')) AS filings_mar31,
    (SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-04-30')) AS filings_apr30,
    (SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-06-30')) AS filings_jun30

طرحت 205 شركات أسهمها للاكتتاب العام خلال هذا النصف؛ وهي موجة إدراج شهدت أكبر ظهور لها في شهر يونيو، ويمكنك متابعة تفاصيلها عبر هذا التقرير المفصل لكل عملية إدراج — وذلك بالتزامن مع 830 من عمليات تقسيم الأسهم و28356 من أحداث توزيع الأرباح. ولتوضيح حجم هذه الموجة، فإن هذا الرقم يمثل أكثر من إدراج جديد واحد في كل جلسة تداول طوال النصف. كما يتضمن إجمالي الإفصاحات المودعة ملاحظة ثلاثية: حيث يظهر مؤشر SEC نقصاً حاداً في الإفصاحات عند نهاية كل شهر من أشهر النصف إذا كان اليوم الأخير من الشهر يوافق يوم عمل (حيث سُجل 55 من الإفصاحات في 31 مارس، و34 في 30 أبريل، و31 في 30 يونيو، مقابل آلاف الإفصاحات في الأيام المجاورة لها)، لذا فإن أعداد الإفصاحات النصف سنوية تكون أقل من قيمتها الفعلية حتى يتم استكمال البيانات لاحقاً — توجد ملاحظة تشخيصية خاصة بفجوة نهاية الشهر.

إيصال الجلسة

الاستعلام123 جلسة في النصف، تم التحقق منها من السجل
استعلام SQL الدقيق وراء كل رقم
SELECT
    (SELECT uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) FROM global_markets.delayed_stocks_minute_aggs
     WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')) AS h1_sessions

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

ملاحظات البيانات الكاملة
  • تنتهي بيانات الاهتمام البيعي عند تسوية 15 يونيو حسب وقت إنشاء التقرير (في انتظار بيانات نهاية يونيو — التفاصيل الكاملة في ملخص يونيو; سيتم تحديث هذا المنشور فور صدورها).
  • توجد ثلاثة أيام إيداع لنهاية الشهر لعام 2026 شبه فارغة (31 مارس، 30 أبريل، 30 يونيو — كل نهاية شهر في النصف الذي كان آخر يوم تقويمي فيه يوم عمل)؛ تم الإفصاح عنها ضمن الأرقام، وُضحت الأسباب في ملاحظة فجوة نهاية الشهر. تحمل نهايات الأشهر في العام السابق آلاف الإيداعات، لذا فإن هذه فجوة في التغذية وليست عطلة إيداع.
  • قائمة المتصدرين بنصف النطاق محددة: يتجاوز الفحص الشامل للسوق لمدة ستة أشهر ميزانية الاستعلام التي تولدها هذه الصفحة، لذا يتم اختيار مجموعة الأسماء البارزة بناءً على فحص المتصدرين بنطاق ربع سنوي الموضح أدناه، وتُحسب عوائد النصف لهذه المجموعة الثابتة — تم ذكر الأساس المستخدم حيثما استُخدم. تحتوي ملخصات الربع الثاني ويونيو على جداول المتصدرين الكاملة وفقاً لنطاقاتها.
  • نطاق السوق الكامل بنصف النطاق محدد أيضاً — يتم عرض التقسيم اليومي؛ أما أعداد الرموز (tickers) فتوجد بنطاق شهري وربع سنوي، وهي مرتبطة في قسم النطاق.
  • سلسلة تاريخ QQQ أقصر من SPY: تم تداول الصندوق تحت رمز أساسي مختلف لفترة من السنوات؛ يستبعد حارس عدد الجلسات تلك السنوات بشكل واضح (أعداد الجلسات لكل سنة موجودة في الجدول).
  • لوحات الخيارات الستة هي عمليات فحص شهرية لكامل الشريط، وعينة اتجاه الفارق (spread trend) تأخذ جلسة واحدة محددة لكل شهر — كلاهما يعمل عبر مسار الدفعات؛ تم ذكر قواعد العينات ضمن النص.
  • تتوفر تفاصيل البنية الدقيقة في التحليل العميق لـ 29 يونيو.

المنهجية

  • الفترة هي من 1 يناير إلى 30 يونيو 2026 — 123 جلسة، تم التحقق منها من خلال الشموع المرصودة. تُحسب العوائد من افتتاح ساعات التداول العادية إلى إغلاق ساعات التداول العادية الأخير ضمن كل نافذة زمنية، وذلك باستخدام نفس الاستعلامات الموضحة.
  • تُعاد حساب المقارنات التاريخية بشكل مباشر (LIVE) مقابل سجل الدقائق الكامل عند وقت الإنشاء، ولا تُقرأ أبداً من قيم مخزنة. التحقق من العمق: تاريخ أول شمعة دقيقة في العرض المتأخر المستخدم هنا يطابق الجدول الأساسي (سبتمبر 2003)، وقد تم التحقق من ذلك عند التأليف، لذا فإن أول نصف سنة كامل في السجلات هو لعام 2004. يحدد كل استعلام تاريخي حده الأقصى عند نهاية هذه الفترة (لا يمكن لمجموعة المقارنة أن تزداد عند استيعاب سنوات لاحقة) ويطبق حماية بحد أدنى من الجلسات مع عرض عدد الجلسات لكل سنة.
  • تُخزن الطوابع الزمنية بتوقيت UTC مع حدود UTC خام. تقوم كتل التاريخ متعددة السنوات بتصفية ساعات التداول العادية حسب توقيت شرق الولايات المتحدة (9:30–15:59، يتم تحويلها لكل صف — وهو البروتوكول الوحيد الآمن للتوقيت الصيفي عبر العقود)؛ أما الكتل ذات النافذة الواحدة في نطاقات توقيت EDT فقط فتستخدم نطاق UTC الخام المكافئ. كلا البروتوكولين مذكوران هنا.
  • يتم التشغيل عبر مسار القراءة فقط المقيد؛ ولا تقوم الصفحة العامة بالاستعلام أبداً من البيانات المباشرة. حالة المستودع كما هي في 5 يوليو 2026.

هذه هي النسخة الأولى من الملخص نصف السنوي المستمر؛ وتصدر نسخة السنة الكاملة في يناير. تفاصيل الربع: الربع الثاني 2026. البيانات الاقتصادية الكلية التي تمت المقارنة ضدها موجودة في الصورة الاقتصادية الكلية.