ملخص السوق 2 يوليو 2026 وأهم الأرقام
شهد السوق تبادلاً للمراكز قبل عطلة عيد الاستقلال حيث ارتفعت نطاق الأسهم رغم تراجع Nasdaq وقطاع التكنولوجيا، مع استمرار تراجع أسهم الذاكرة.
الخميس، 2 يوليو 2026 — الجلسة الأخيرة قبل عطلة عيد الاستقلال — كانت يوماً لتبادل المراكز رغم تراجع المؤشرات الرئيسية. سجل مؤشر QQQ نسبة -1.71% بينما ارتفع مؤشر DIA بنسبة 1.04%، وكانت حالة السوق الإيجابية في نطاق الأسهم: ارتفعت 3398 من الأسهم ذات السيولة العالية مقابل 2758، وبلغت نسبة الأسهم الخضراء 54.6% بينما انخفض مؤشر أسهم النمو. أغلق ثمانية من أصل أحد عشر صندوقاً قطاعياً على ارتفاع؛ وتركز البيع في قطاع التكنولوجيا ومجموعة أسهم الذاكرة التي شهدت تراجعاً في اليوم السابق.
لوحة النتائج
استعلام 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-01 13:30:00' AND window_start < '2026-07-01 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-02 13:30:00' AND window_start < '2026-07-02 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_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 AS shares_traded_m
FROM sess s
JOIN prior p ON s.ticker = p.ticker
ORDER BY s.tickerتتمثل خلاصة اليوم في تحقيق DIA عائداً بنسبة 1.04% مقابل -1.71% لـ QQQ؛ حيث يبتعد قطاع الصناعة عن قطاع النمو بنحو ثلاث نقاط من العائد اليومي. وسجل SPY متوسط الفارق بنسبة -0.12%، بينما أغلق IWM عند -0.59%.
هل كان اليوم غير عادي؟
عدستان في لوحة واحدة: حركة SPY من الافتتاح إلى الإغلاق، وحركة QQQ من الإغلاق إلى الإغلاق، حيث تم تصنيف كل منهما مقابل الشهر الماضي حسب الحجم المطلق (الرتبة 1 = الأكبر).
استعلام SQL الدقيق وراء كل رقم
WITH per_day AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
(argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS oc_pct,
argMax(toFloat64(close), window_start) AS rth_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ')
AND window_start >= toDateTime('2026-06-02 00:00:00')
AND window_start < toDateTime('2026-07-03 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY ticker, d
),
with_prev AS (
SELECT ticker, d, oc_pct,
lagInFrame(rth_close) OVER (PARTITION BY ticker ORDER BY d) AS prev_close,
(rth_close / lagInFrame(rth_close) OVER (PARTITION BY ticker ORDER BY d) - 1) * 100 AS cc_pct
FROM per_day
)
SELECT
round(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-07-02')), 2) AS spy_open_to_close_pct,
arrayCount(x -> x > abs(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-07-02'))),
groupArrayIf(abs(oc_pct), ticker = 'SPY' AND d != toDate('2026-07-02'))) + 1 AS spy_abs_move_rank,
countIf(ticker = 'SPY') AS spy_sessions_compared,
round(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-07-02')), 2) AS qqq_close_over_close_pct,
arrayCount(x -> x > abs(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-07-02'))),
groupArrayIf(abs(cc_pct), ticker = 'QQQ' AND d != toDate('2026-07-02') AND isFinite(cc_pct) AND prev_close > 0)) + 1 AS qqq_abs_move_rank,
countIf(ticker = 'QQQ' AND isFinite(cc_pct) AND prev_close > 0) AS qqq_sessions_compared,
toString(minIf(d, ticker = 'SPY')) AS first_session
FROM with_prevعلى مستوى المؤشر، لم يكن الأمر كذلك. تبلغ نسبة حركة SPY من الافتتاح إلى الإغلاق -0.35%، وهي تحتل الرتبة 15 من أصل 22 جلسة سابقة — أي في النصف الأدنى. كانت حركة QQQ أكثر حدة ولكنها لم تكن استثنائية؛ حيث تبلغ نسبة إغلاق QQQ مقارنة بالإغلاق السابق -1.71%، وهي تحتل الرتبة 9 من أصل 21 جلسة ذات إغلاق سابق محدد، بالعودة إلى 2026-06-02 — مما يعني أنه كان يوماً سيئاً متوسط المستوى لمؤشر النمو. أما حركة الأسهم الفردية فقد شهدت نشاطاً ملحوظاً في 2 يوليو.
نطاق التداول: مؤشرات خضراء ونمو أحمر
استعلام SQL الدقيق وراء كل رقم
WITH per_ticker AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-02 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-02 00:00:00')) AS day_close,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-02 00:00:00') AS day_dollar_volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE (window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00')
OR (window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00')
GROUP BY ticker
)
SELECT
countIf(day_close > prior_close AND day_dollar_volume >= 1000000) AS advancers,
countIf(day_close < prior_close AND day_dollar_volume >= 1000000) AS decliners,
countIf(day_close = prior_close AND day_dollar_volume >= 1000000) AS unchanged,
countIf(day_dollar_volume >= 1000000) AS liquid_tickers,
count() AS tickers_traded_both_sessions,
count() - countIf(day_dollar_volume >= 1000000) AS dropped_by_liquidity_filter,
round(100.0 * countIf(day_close > prior_close AND day_dollar_volume >= 1000000)
/ countIf(day_dollar_volume >= 1000000), 1) AS advancer_pct,
reverse(arrayStringConcat(extractAll(reverse(toString(countIf(day_close > prior_close AND day_dollar_volume >= 1000000))), '[0-9]{1,3}'), ',')) AS advancers_fmt,
reverse(arrayStringConcat(extractAll(reverse(toString(countIf(day_close < prior_close AND day_dollar_volume >= 1000000))), '[0-9]{1,3}'), ',')) AS decliners_fmt,
reverse(arrayStringConcat(extractAll(reverse(toString(count() - countIf(day_dollar_volume >= 1000000))), '[0-9]{1,3}'), ',')) AS dropped_by_liquidity_filter_fmt,
reverse(arrayStringConcat(extractAll(reverse(toString(count())), '[0-9]{1,3}'), ',')) AS tickers_traded_both_sessions_fmt
FROM per_ticker
WHERE prior_close > 0 AND day_close > 03,398 صعوداً، 2,758 هبوطاً، 63 دون تغيير — ارتفعت 54.6% من الأسهم النشطة بينما انخفض مؤشر QQQ. اختلفت نتائج المؤشرات المرجحة بالقيمة السوقية عن مؤشرات نطاق التداول المتساوية؛ وهذا التباين هو سبب إدراج كليهما في لوحة البيانات. يستبعد الفلتر 5,317 من 11,536 من الأسهم التي تبلغ قيمتها السوقية أقل من مليون دولار وتداولت خلال جلستي التداول.
القطاعات: أين تركزت المكاسب
تُظهر مؤشرات الاتساع عدد الأسهم الصاعدة، لكنها لا تحدد نوعها. قامت صناديق SPDR القطاعية الأحد عشر بتحليل الجلسة حسب الصناعة، ويمثل الفارق بين أفضل وأسوأ قطاع تشتت السوق في رقم واحد.
استعلام SQL الدقيق وراء كل رقم
WITH per_etf AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-02 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-02 00:00:00')) AS day_close,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-02 00:00:00') / 1e9, 2) AS day_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 >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00')
OR (window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 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,
round((day_close / prior_close - 1) * 100 - min((day_close / prior_close - 1) * 100) OVER (), 2) AS pts_above_worst_sector,
day_dollar_bn
FROM per_etf
ORDER BY tickerتصدر قطاع الرعاية الصحية (XLV) القائمة بنسبة 2.63%، يليه قطاع المرافق 2.23%، ثم السلع الاستهلاكية الأساسية 2%، ثم المواد الأساسية 1.94%. وجاء قطاع التكنولوجيا (XLK) في المركز الأخير بنسبة -2.71%، وهو القطاع الوحيد الذي انخفض بأكثر من نقطة واحدة؛ كما سجل قطاع السلع الاستهلاكية الكمالية (-0.81%) وقطاع خدمات الاتصالات (-0.13%) تراجعاً، بينما سجلت القطاعات الثمانية المتبقية مكاسب. بلغ تشتت الأداء من الأفضل إلى الأسوأ: 5.34 نقطة مئوية. انقسم أداء السوق بين ارتفاع مؤشر DIA وانخفاض مؤشر QQQ، ولم يقتصر الأمر على الشركات الكبرى الأربع فقط؛ ولهذا السبب لا يعد صعود خط التقدم والتراجع (advance-decline line) مع انخفاض مؤشر Nasdaq تناقضاً.
The day's highlight: memory rout, day two
The complex that broke Wednesday fell harder Thursday — magnitude and co-movement, not cause.
استعلام SQL الدقيق وراء كل رقم
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-02 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-02 00:00:00')) AS day_close,
maxIf(toFloat64(high), window_start >= '2026-07-02 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-07-02 00:00:00') AS day_low,
argMinIf(window_start, toFloat64(low), window_start >= '2026-07-02 00:00:00') AS low_bar,
argMaxIf(window_start, toFloat64(high), window_start >= '2026-07-02 00:00:00') AS high_bar,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-02 00:00:00') / 1e9, 2) AS day_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('MU', 'SNDK', 'STX', 'WDC')
AND ((window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00')
OR (window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 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,
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,
day_dollar_bn
FROM per_name
ORDER BY tickerSanDisk printed -14.32%, Seagate -10.38%, Western Digital -9.92%, MU -5.57% — on $51.4 billion of MU turnover, roughly one-and-a-half times SPY's. MU and SanDisk printed their lows late (15:26, 15:26 ET), Seagate and Western Digital earlier (14:23, 13:59). Context: Wednesday and the MU deep-dive.
The rotation's other half, in the megacaps:
استعلام SQL الدقيق وراء كل رقم
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-02 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-02 00:00:00')) AS day_close,
maxIf(toFloat64(high), window_start >= '2026-07-02 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-07-02 00:00:00') AS day_low,
argMinIf(window_start, toFloat64(low), window_start >= '2026-07-02 00:00:00') AS low_bar,
argMaxIf(window_start, toFloat64(high), window_start >= '2026-07-02 00:00:00') AS high_bar,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-02 00:00:00') / 1e9, 2) AS day_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'TSLA')
AND ((window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00')
OR (window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 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,
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,
day_dollar_bn
FROM per_name
ORDER BY tickerAAPL rose 4.75% in a one-way line — low at 09:30 ET, high at 15:57, three minutes before the close — while TSLA ran the mirror image at -7.65%. MSFT added 1.41%; NVDA closed -1.55%. Same index, opposite days.
أين تم تداول الأموال
استعلام 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-07-02 13:30:00' AND window_start < '2026-07-02 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(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-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00'
AND ticker NOT IN ('SPCX')
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تصدرت MU بقيمة 51.4 مليار دولار قائمة التداولات للجلسة الرابعة على التوالي (الإثنين، الثلاثاء، الأربعاء) مقابل 32.7 مليار دولار لـ SPY. كما سجلت SanDisk بقيمة 26.57 مليار دولار لتصبح ثاني شركة في قطاع الذاكرة ضمن قائمة الأربعة الكبار. وتصدر صندوق SOXS — وهو صندوق مؤشرات متداول (ETF) عكسي بمعدل 3x لأشباه الموصلات — قائمة الأسهم بحجم 748.2 مليون: تهيمن الأسهم الرخيصة على عدد الأسهم، بينما تهيمن الأسهم الغالية على القيمة الدولارية، ويقوم حجم التداول النسبي بمقارنة أحدهما بالمتوسط المعتاد للسهم. المرجع: الساعات العادية ليوم 2 يوليو، مع استبعاد إدراج رمز مكرر (الإيصالات).
استعلام 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
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00'
GROUP BY et_time
ORDER BY et_timeتم تداول 2.13 مليار سهم في النصف ساعة الأولى من الافتتاح، ووصل التداول إلى أدنى مستوى له عند 0.81 مليار دولار في الساعة 14:30، ثم بلغ 2.3 مليار دولار عند إغلاق عشية العطلة — وتعتبر هذه الفترة الأخيرة هي الأكبر في اليوم، حيث يدمج مزاد الإغلاق الأوامر المعلقة في سعر واحد.
شريط الخيارات: العقود الأسبوعية المنقولة
استعلام 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-07-02 00:00:00' AND sip_timestamp < '2026-07-03 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-07-02 13:30:00' AND window_start < '2026-07-02 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) = '260702') / 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,
round(toFloat64(sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260710')) / 1e6, 2) AS jul10_weekly_contracts_m,
round(toFloat64(sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260717')) / 1e6, 2) AS jul17_monthly_contracts_m,
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_fmt,
round(top_contract.7, 3) AS top_contract_avg_price,
round(top_contract.2 - spy_regular_close, 2) AS top_strike_minus_spy_close,
round(spy_regular_close - top_contract.2, 2) AS spy_close_minus_strike
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'تم تداول 80.96 مليون عقد عبر 13.15 مليون عملية تنفيذ، وانتهت صلاحية 47.4% من هذا الحجم في نفس يوم الخميس. لم يتم تنفيذ أي عقد يحمل رمز انتهاء في 3 يوليو طوال اليوم (0 عمليات تنفيذ)، لذا شهد يوم الخميس انتهاء الصلاحية اليومي والعقود الأسبوعية المنقولة في وقت واحد. كان العقد الأكثر تداولاً هو خيار البيع (put) لـ SPY بسعر تنفيذ $740 في نفس اليوم — 540,403 عقد بمتوسط علاوة قدره $0.499، حيث أغلق SPY عند 4.8 دولار فوق سعر التنفيذ: مما يجعله خارج النطاق (out of the money)، وكان خيار بيع وسط سوق شهدت خيارات شراء (calls) في الثلاثاء والأربعاء. استأثرت خيارات الشراء بنسبة 58.4% من حجم التداول؛ وجذب العقد الأسبوعي التالي 9.64 مليون عقد، بينما سجلت خيارات شهر يوليو 8.82 مليون (آليات انتهاء الصلاحية).
شريط الأسعار: تكلفة التداول
توضح الأسعار ما حدث، بينما توضح عروض الأسعار تكلفة التنفيذ. يمثل الفارق بين سعر العرض وسعر الطلب الرسوم المفروضة على كل عملية تداول كاملة، ويُقاس بنقاط الأساس من متوسط السعر (نقطة الأساس هي جزء من مئة بالمئة). نقوم بقياس هذا الفارق في كل جلسة، سواء كانت عادية أم لا، وهذا ما يجعل عبارة "اتساع الفوارق" ادعاءً قابلاً للتحقق.
استعلام SQL الدقيق وراء كل رقم
SELECT
round(countIf(toDate(sip_timestamp) = toDate('2026-07-02')) / 1e6, 2) AS jul2_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-01')) / 1e6, 2) AS jul1_updates_m,
round((countIf(toDate(sip_timestamp) = toDate('2026-07-02')) / countIf(toDate(sip_timestamp) = toDate('2026-07-01')) - 1) * 100, 1) AS day_over_day_pct,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-02') AND ticker = 'SPY') / 1e6, 2) AS jul2_spy_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-02') AND ticker = 'QQQ') / 1e6, 2) AS jul2_qqq_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-02') AND ticker = 'MU') / 1e6, 2) AS jul2_mu_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-01 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'تغيرت أفضل عروض الطلب والطلب الوطنية — وهي قمة سجل الأوامر الموحد — بمقدار 597.22 مليون مرة في 2 يوليو، مقارنة بـ 449.15 مليون في 1 يوليو؛ أي زيادة بنسبة 33% عند الإغلاق. سجل QQQ 7.56 مليون، متجاوزاً SPY الذي سجل 5.42 مليون؛ وMU سجل 1.01 مليون.
استعلام SQL الدقيق وراء كل رقم
SELECT
ticker,
round(med_bps, 2) AS median_spread_bps,
round(med_dollars * 100, 1) AS median_spread_cents,
round(med_bps / min(med_bps) OVER (), 1) AS times_the_spy_spread,
round(quote_updates / 1e6, 2) AS rth_updates_m,
invalid_quotes_dropped
FROM (
SELECT
ticker,
quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000,
toFloat64(bid_price) > 0 AND toFloat64(ask_price) > toFloat64(bid_price)) AS med_bps,
quantileExactIf(0.5)(toFloat64(ask_price) - toFloat64(bid_price),
toFloat64(bid_price) > 0 AND toFloat64(ask_price) > toFloat64(bid_price)) AS med_dollars,
count() AS quote_updates,
countIf(NOT (toFloat64(bid_price) > 0 AND toFloat64(ask_price) > toFloat64(bid_price))) AS invalid_quotes_dropped
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'QQQ', 'AAPL', 'TSLA', 'NVDA', 'MU', 'SNDK', 'WDC')
AND sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
GROUP BY ticker
)
ORDER BY median_spread_bps ASCبلغ متوسط الفارق في SPY 0.27 نقطة أساس: أي حوالي 2 سنت على صندوق ETF بقيمة $744.8. وسجل QQQ 0.83 نقطة أساس، وNVDA 1.03. كانت الأسهم التي شهدت تراجعات هي الأكثر تكلفة في التداول: MU 5.52 نقطة أساس، وSanDisk 10.4، وWestern Digital 10.79 — أي ما يعادل 40 ضعف فارق SPY. كانت تكلفة التداول في سلة من أسهم الذاكرة أضعاف تكلفة التداول في المؤشر، وذلك قبل احتساب أي تأثير على السعر. تُحسب عروض الأسعار غير الصالحة (أحادية الجانب أو المتداخلة) لكل سهم على حدة ولا يتم إخفاؤها.
استعلام SQL الدقيق وراء كل رقم
WITH per_day AS (
SELECT toDate(sip_timestamp) AS d,
quantileExact(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000) AS med_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPY'
AND sip_timestamp >= '2026-06-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'
AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
AND toFloat64(bid_price) > 0 AND toFloat64(ask_price) > toFloat64(bid_price)
GROUP BY d
)
SELECT
round(anyIf(med_bps, d = toDate('2026-07-02')), 3) AS jul2_median_spread_bps,
round(quantileExact(0.5)(med_bps), 3) AS trailing_median_bps,
round(anyIf(med_bps, d = toDate('2026-07-02')) - quantileExact(0.5)(med_bps), 3) AS jul2_minus_trailing_bps,
arrayCount(x -> x > anyIf(med_bps, d = toDate('2026-07-02')), groupArrayIf(med_bps, d != toDate('2026-07-02'))) + 1 AS wider_rank,
count() AS sessions_compared,
round(max(med_bps), 3) AS widest_session_bps
FROM per_dayكان يوم السيولة عادياً، وهذه هي النتيجة: يبتعد متوسط فارق SPY البالغ 0.27 نقطة أساس بمقدار 0 نقطة أساس عن متوسط الشهر الماضي (0.27 نقطة أساس)، مما يجعله في المرتبة 11 من أصل 22 جلسة من حيث الاتساع — وهو بعيد تماماً عن أوسع فارق شهري عند 0.409 نقطة أساس. لم يؤدِ التراجع المركز في ظل حركة صعودية إلى إجهاد البنية التحتية للسوق.
أسعار الفائدة: بيانات 2 يوليو متوفرة الآن
استعلام SQL الدقيق وراء كل رقم
SELECT
(SELECT count() FROM global_markets.treasury_yields WHERE date = '2026-07-02') AS jul2_rows,
(SELECT count() FROM global_markets.treasury_yields WHERE date = '2026-07-01') AS jul1_rowsتتأخر بيانات الخزانة يوماً أو يومين عن حركة السوق؛ فعند النشر الأول، لم تكن بيانات إغلاق 2 يوليو مسجلة، وقد ذكرت هذه الصفحة ذلك بدلاً من التخمين. توفرت البيانات الآن — حيث يوجد 1 صفاً لتاريخ 2 يوليو، و1 لتاريخ 1 يوليو — لذا يعرض الجدول أدناه منحنى الجلسة نفسه.
استعلام SQL الدقيق وراء كل رقم
SELECT
t.1 AS curve_point,
round(t.2, 2) AS jul2_yield_pct,
round((t.2 - t.3) * 100) AS one_day_change_bp
FROM (
SELECT arrayJoin([
('1 month', toFloat64(d.yield_1_month), toFloat64(p.yield_1_month)),
('3 month', toFloat64(d.yield_3_month), toFloat64(p.yield_3_month)),
('1 year', toFloat64(d.yield_1_year), toFloat64(p.yield_1_year)),
('2 year', toFloat64(d.yield_2_year), toFloat64(p.yield_2_year)),
('5 year', toFloat64(d.yield_5_year), toFloat64(p.yield_5_year)),
('10 year', toFloat64(d.yield_10_year), toFloat64(p.yield_10_year)),
('30 year', toFloat64(d.yield_30_year), toFloat64(p.yield_30_year)),
('2s10s spread', toFloat64(d.yield_10_year - d.yield_2_year), toFloat64(p.yield_10_year - p.yield_2_year))
]) AS t
FROM (SELECT * FROM global_markets.treasury_yields WHERE date = '2026-07-02') AS d,
(SELECT * FROM global_markets.treasury_yields WHERE date = '2026-07-01') AS p
)عند الإغلاق، استقر عائد السندات لأجل 10 سنوات عند 4.49%، بينما بلغ فارق العائد بين سنتين و10 سنوات 0.35 نقطة.
أجندة اليوم
استعلام SQL الدقيق وراء كل رقم
WITH
(
SELECT (count(), uniqExact(publisher))
FROM global_markets.stocks_news
WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-02'
) AS news,
(
SELECT (argMax(t, n), 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-07-02'
)
WHERE t != 'SPCX'
GROUP BY t
)
) AS top_news,
(
SELECT (count(), countIf(split_to > split_from), countIf(split_to < split_from),
arrayStringConcat(groupArray(concat(ticker, ' ', toString(split_to), '-for-', toString(split_from))), '; '))
FROM global_markets.stocks_splits
WHERE execution_date = '2026-07-02' AND ticker NOT IN ('SPCX')
) AS splits
SELECT
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-02') AS ex_dividend_records,
splits.1 AS splits_executed,
splits.2 AS forward_splits,
splits.3 AS reverse_splits,
splits.4 AS split_records,
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-02') AS ipos_listed,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-02') AS sec_filings,
(SELECT uniqExactIf(accession_number, form_type = '4') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-02') AS insider_form4_filings,
(SELECT uniqExactIf(accession_number, form_type = '8-K') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-02') AS filings_8k,
(SELECT arrayStringConcat(groupArray(concat(ticker, ' — ', issuer_name)), '; ') FROM (
SELECT ticker, issuer_name FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-02' ORDER BY ticker
)) AS ipo_names,
news.1 AS news_articles,
news.2 AS news_publishers,
top_news.1 AS most_covered_ticker,
top_news.2 AS most_covered_articles,
(SELECT any(split_from) FROM global_markets.stocks_splits WHERE ticker = 'CRWD' AND execution_date = '2026-07-02') AS crwd_split_from,
(SELECT any(split_to) FROM global_markets.stocks_splits WHERE ticker = 'CRWD' AND execution_date = '2026-07-02') AS crwd_split_to,
(SELECT round(toFloat64(argMax(close, window_start)), 2) FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'CRWD' AND window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00') AS crwd_prev_close,
(SELECT round(toFloat64(argMax(close, window_start)), 2) FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'CRWD' AND window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00') AS crwd_day_close,
(SELECT round(sum(toFloat64(close) * toFloat64(volume)) / 1e6, 2) FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'CRWD' AND window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00') AS crwd_dollar_m,
(SELECT count() FROM (
SELECT ticker FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN (SELECT ticker FROM global_markets.stocks_splits WHERE execution_date = '2026-07-02')
AND window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00'
GROUP BY ticker
)) AS split_names_with_barsسُجلت توزيعات أرباح 319 في تاريخ بدون الأرباح، وظهرت إدراجات جديدة لشركة 2 (بنسبة MIACU — Meridian3 Industrials Acquisition Corp.; VIIU — Viking Acquisition Corp. II)، وسجل مؤشر SEC عدد 5200 من الإيداعات قبل العطلة — تشمل 2109 نماذج Form 4، و258 من نماذج 8-Ks. ونشرت موجز الأخبار 201 مقالاً من 3 من الناشرين (NVDA هي الأكثر تغطية، وبنسبة 18 منها).
تسبب عمليات تجزئة الأسهم في تضليل من يراقب أسعار الإغلاق الخام. أجرت شركة CRWD تجزئة أمامية بنسبة 4 مقابل 1، لذا أظهرت البيانات غير المعدلة سعر $772.45 يوم الأربعاء و$193.67 يوم الخميس — وهو انخفاض وهمي ناتج في الواقع عن منح أربع أسهم جديدة مقابل كل سهم قديم. ولم تكن الشركة الوحيدة؛ حيث نُفذت عمليات تجزئة لعدد 8 من الشركات، بواقع 5 تجزئة أمامية و3 تجزئة عكسية (تدرجها خانة split_records)، وتؤدي التجزئة العكسية إلى نتيجة معاكسة — وهي قفزة مفاجئة في السعر الخام. تداولت 2 فقط من تلك الأسماء في بياناتنا؛ وتعد قيمة التداول لشركة CRWD البالغة $1473.51 مليون دولار هي الأكبر بما يكفي للتأثير على الشاشة، لذا تستبعدها جميع شاشات مراقبة الأسهم المتحركة هنا.
في الانتظار
حقائق من التقويم، وليست توقعات — ما كشفت عنه البيانات للجلسات القادمة.
استعلام SQL الدقيق وراء كل رقم
SELECT
(SELECT count() FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 20:00:00') AS jul6_spy_regular_bars,
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-06') AS exdiv_records_jul6,
(SELECT arrayStringConcat(groupArray(ticker), ', ') FROM global_markets.stocks_dividends
WHERE ex_dividend_date = '2026-07-06'
AND ticker IN ('AAPL', 'MSFT', 'JPM', 'JNJ', 'XOM', 'KO', 'PG', 'WMT', 'CVX', 'HD')) AS household_exdivs_jul6,
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date = '2026-07-06') AS splits_jul6,
(SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-02') AS next_scheduled_closure,
(SELECT any(name) FROM global_markets.stocks_market_holidays
WHERE date = (SELECT min(date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-02')) AS next_closure_name,
(SELECT any(status) FROM global_markets.stocks_market_holidays
WHERE date = (SELECT min(date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-02')) AS next_closure_status,
(SELECT toString(max(settlement_date)) FROM global_markets.stocks_short_interest
WHERE settlement_date <= '2026-07-02') AS latest_si_settlement,
(SELECT dateDiff('day', max(settlement_date), toDate('2026-07-02')) FROM global_markets.stocks_short_interest
WHERE settlement_date <= '2026-07-02') AS si_settlement_age_daysافتتح يوم الاثنين 6 يوليو بجلسة كاملة من شموع 390، وهو ما أكدته شموعها الخاصة. تضمنت الجلسة سجلات توزيع أرباح لـ 118 سهمًا — من بين الأسهم العشرة التي نراقبها (JPM) — بالإضافة إلى عمليات تقسيم أسهم لـ 15. الإغلاق التالي المقرر: Labor Day، 2026-09-07 (closed). أما الاهتمام البيعي (Short interest) فكان أمرًا معروفًا كالعادة — حيث كان آخر تسوية مسجلة هي 2026-06-30، قبل 2 يومًا، مع تأخر النشر عن موعد التسوية بنحو أسبوعين (لماذا).
الجلسة المكتملة — ويوم الجمعة الذي لم يكن
استعلام 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,
count() AS spy_minute_bars,
countIf(window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00') AS regular_session_bars,
uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00') AS day_sessions,
(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
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-02 00:00:00' AND window_start < '2026-07-03 00:00:00'كان يوم 2 يوليو جلسة كاملة وليس إغلاقاً مبكراً: امتدت شموع SPY من 04:00 إلى 19:59 بتوقيت نيويورك (بما في ذلك شموع ما قبل التداول وما بعد التداول، مع وجود 390 شمعة بالضبط خلال فترة التداول العادية). وسجل يوم الجمعة 3 يوليو 0 من شموع SPY — وهو إغلاق كامل بمناسبة عيد الاستقلال، حيث صادف يوم 4 يوليو يوم سبت. ملخص الأسبوع المكون من أربع جلسات: ملخص الأسبوع.
الأسئلة الشائعة
لماذا ارتفع مؤشر Dow بينما انخفض Nasdaq في 2 يوليو 2026؟
يضم المؤشران شركات مختلفة؛ حيث أغلق DIA عند 1.04%، بينما أغلق QQQ عند -1.71%. ويتبع قطاع السوق نفس التوزيع؛ حيث تتصدر الرعاية الصحية والمرافق والسلع الاستهلاكية القائمة، بينما يأتي قطاع التكنولوجيا في المركز الأخير عند -2.71%، بفارق قدره 5.34 نقطة بين الأفضل والأسوأ.
هل كانت سوق الأسهم مفتوحة يوم الجمعة في أسبوع عيد الاستقلال؟
لا. صادف عيد الاستقلال يوم سبت، لذا أغلقت البورصات يوم الجمعة الذي يليه احتفالاً بالمناسبة؛ وتظهر بياناتنا 0 من الأعمدة الزمنية (minute bars) لـ SPY لهذا اليوم.
ما تأثير تقسيم الأسهم المستقبلي على سعر السهم؟
يؤدي تقسيم الأسهم إلى مضاعفة عدد الأسهم أربع مرات وتقسيم السعر على أربعة؛ وتظل قيمة المركز المالي دون تغيير. بالنسبة لشركة CRWD في 2 يوليو: أغلق السهم غير المعدل عند 772.45$ يوم الأربعاء، و193.67$ يوم الخميس؛ وهو انخفاض وهمي في أي أداة تحليل تتجاهل عملية التقسيم.
ما مدى اتساع الفارق بين سعر العرض والطلب في 2 يوليو 2026؟
بلغ متوسط الفارق المعروض لـ SPY نسبة 0.27 نقطة أساس من سعر المنتصف خلال ساعات التداول العادية، وهو ما يمثل 11 من أصل 22 من الجلسات السابقة من حيث الاتساع، مما يعد يوماً عادياً. أما الأسهم الفردية فقد شهدت فوارق أوسع: MU عند 5.52 نقطة أساس، وWDC عند 10.79.
ملاحظات البيانات
- حجم التداول بالدولار هو مؤشر لكل دقيقة — السعر عند الإغلاق × حجم التداول، ومجموعها لكل شمعة.
- بيانات سندات الخزانة لشهر يوليو صدرت بعد النشر الأول — كشفت الملاحظة الأصلية عن غيابها مع إيصال لعدد الصفوف؛ يتضمن هذا التعديل البيانات مع إيصال العرض.
- تغير الإغلاق الخام لـ CRWD ناتج عن عملية تقسيم السهم — تم استبعاده من شاشات التحركات السعرية.
ملاحظات البيانات الكاملة
- لوحة القطاعات هي صناديق SPDR Select Sector الأحد عشر (XLB, XLC, XLE, XLF, XLI, XLK, XLP, XLRE, XLU, XLV, XLY) — وهي سلة ثابتة ومعلنة، وليست حقلاً للقطاعات من المورد.
- تعتمد عدادات شريط الأسعار على تاريخ UTC الخاص بالطابع الزمني لـ SIP؛ حيث تقع جلسة الصيف ضمن يوم UTC واحد.
- تم استبعاد إدراج واحد من شهر يونيو أعيد استخدام رمزه من قوائم المتصدرين (الإيصالات)؛ وتوجد أعمال التدقيق التفصيلية في التحليلات العميقة.
المنهجية
- تمتد الفترة لجلسة تداول واحدة (1 جلسة، تم التحقق منها من خلال الأعمدة المرصودة). تُخزن الطوابع الزمنية بتوقيت UTC وتُحول إلى توقيت نيويورك داخل الاستعلامات؛ وتعني كلمة "الإغلاق" آخر شمعة دقيقة في الجلسة العادية، ويتم مقارنة تغير الأيام بين 2 يوليو و1 يوليو. تم التحقق من إغلاق 3 يوليو من خلال الأعمدة ولم يتم افتراضه.
- تُعرض الفروق السعرية (سعر العرض ناقص سعر الطلب) بنقاط الأساس من متوسط السعر، وهي تمثل الوسيط عبر تحديثات NBBO خلال الساعات العادية، بناءً على كمية محددة. تُحول الكسور العشرية إلى أرقام عشرية قبل إجراء العمليات الحسابية للنسب؛ ويتم إعادة تحليل تواريخ انتهاء صلاحية الخيارات من رمز OCC. تُقرأ كل لوحة مرة واحدة عند إعداد التقرير عبر مسار القراءة فقط المقيد.
الرسم البياني والجدول وSQL هي كائن واحد. يمكنك لصق أي لوحة في محطة Strasmore terminal وتعديلها. الجلسة السابقة: 1 يوليو. الأسبوع: أسبوع العطلة المكون من أربع جلسات.