خلاصه بازار 7 جولای 2026 در اعداد
ریزش بخش نیمههادیها بر شاخص اثر گذاشت؛ در حالی که NVDA صعودی بود، نسبت کاهش نمادها دو به یک بود و SPY کمترین شکاف قیمتی خود را در یک ماه ثبت کرد.
سه شنبه، 7 جولای 2026، رشد حاصل از صعود بازگشایی روز دوشنبه را کاملاً جبران کرد و فراتر از آن عمل کرد: QQQ با بستن در سطح -1.82%، تمام سود روز دوشنبه خود را از دست داد، در حالی که DIA با نرخ -0.29% بسته شد. در سطح پایینتر، روند بازار با نسبت دو-به-یک نزولی بود: 4034 کاهشیافته در مقابل 2091 افزایشیافته. داستان اصلی روز، ریزش بخش نیمههادیها بود که چندین برابر اندازه شاخص بود — در حالی که برخی از غولهای این بخش در معاملات حضور نداشتند. تمام اعداد زیر از یک پرسوجوی ذخیرهشده استخراج شدهاند — برای مشاهده دستور دقیق SQL، هر پنل را باز کنید.
جدول امتیازات
هر تغییر، آخرین کندل یک دقیقهای جلسات عادی در 7 جولای را با 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-06 13:30:00' AND window_start < '2026-07-06 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-07 13:30:00' AND window_start < '2026-07-07 20:00:00'
GROUP BY ticker
)
SELECT
s.ticker AS ticker,
round(toFloat64(p.prior_close), 2) AS prior_close,
round(toFloat64(s.day_open), 2) AS day_open,
round(toFloat64(s.day_close), 2) AS day_close,
round((toFloat64(s.day_open) / toFloat64(p.prior_close) - 1) * 100, 2) AS gap_pct,
round((toFloat64(s.day_close) / toFloat64(s.day_open) - 1) * 100, 2) AS intraday_pct,
round((toFloat64(s.day_close) / toFloat64(p.prior_close) - 1) * 100, 2) AS pct_change,
round(toFloat64(s.day_high), 2) AS day_high,
round(toFloat64(s.day_low), 2) AS day_low,
s.shares_traded_m AS shares_traded_m
FROM sess s
JOIN prior p ON s.ticker = p.ticker
ORDER BY s.tickerدر میان چهار ETF شاخص، QQQ در -1.82% بیشترین کاهش را داشت؛ SPY با -0.48%، IWM با -0.9% بسته شد و کمترین میزان تغییر مربوط به -0.29% در DIA بود. تفاوت میان شکاف قیمتی (gap) و روند حرکت (grind) نشان میدهد که دو سوی بازار در زمان بازگشایی با هم اختلاف نظر داشتند: شکاف شبانهای QQQ برابر با -1.17% بود و روند حرکت از بازگشایی تا بستهشدن آن در -0.65% ثبت شد — یعنی بخش اعظم کاهش ناشی از شکاف قیمتی بود — در حالی که DIA با شکاف صعودی 0.47% باز شد اما همچنان در محدوده قرمز بسته شد و حرکت آن از بازگشایی تا بستهشدن -0.76% بود. از پنجشنبه، رهبری بازار در هر جلسه تغییر کرده است: روز پنجشنبه DIA پیشتاز بود، روز دوشنبه QQQ پیشتاز بود و روز سهشنبه نیز مجدداً DIA پیشتاز بود.
Was the day unusual?
کد دقیق SQL پشت هر عدد
SELECT
round(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-07-07')), 2) AS qqq_close_over_close_pct,
arrayCount(x -> x > abs(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-07-07'))), groupArrayIf(abs(cc_pct), ticker = 'QQQ' AND d != toDate('2026-07-07'))) + 1 AS qqq_abs_move_rank,
countIf(ticker = 'QQQ') AS qqq_sessions_compared,
round(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-07-07')), 2) AS spy_open_to_close_pct,
arrayCount(x -> x > abs(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-07-07'))), groupArrayIf(abs(oc_pct), ticker = 'SPY' AND d != toDate('2026-07-07'))) + 1 AS spy_abs_move_rank,
countIf(ticker = 'SPY') AS spy_sessions_compared,
toString(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-06-04 00:00:00')
AND window_start < toDateTime('2026-07-08 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY ticker, d
)
)
WHERE isFinite(cc_pct)At the index level, not especially. QQQ's -1.82% close-over-close move ranks 9 of 21 trailing sessions by absolute size, and SPY's open-to-close move of -0.34% ranks 15 of 21 — a trailing month that includes the late-June memory-complex swings sets a high bar. The dispersion underneath is where July 7 stood out.
وسعت بازار: به ازای هر یک نماد صعودی، دو نماد نزولی وجود داشت
کد دقیق SQL پشت هر عدد
WITH per_ticker AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-07 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-07 00:00:00')) AS day_close,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-07 00:00:00') AS day_dollar_volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE (window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 20:00:00')
OR (window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 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
FROM per_ticker
WHERE prior_close > 0 AND day_close > 02091 نماد صعودی، 4034 نماد نزولی، 59 بدون تغییر — 33.8% از حجم معاملات در بازار نقد، صعودی بود، اما روند سبز روز دوشنبه معکوس شد. این فیلتر شامل 5276 از 11460 نماد با ارزش معاملات کمتر از یک میلیون دلار در دو جلسه متوالی است.
فروپاشی بخش تراشهها — به استثنای بزرگترین نامها
فروشها بر روی نیمههادیها متمرکز بود: شرکتهای سازنده تراشه، تامینکنندگان تجهیزات، زیرساختهای ذخیرهسازی و ETFهای اهرمدار مرتبط. همحرکتی و میزان تغییرات در ادامه آمده است؛ این دادهها علت این اتفاق را بیان نمیکنند.
کد دقیق SQL پشت هر عدد
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-07 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-07 00:00:00')) AS day_close,
maxIf(toFloat64(high), window_start >= '2026-07-07 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-07-07 00:00:00') AS day_low,
argMinIf(window_start, (toFloat64(low), toInt64(toUnixTimestamp(window_start))), window_start >= '2026-07-07 00:00:00') AS low_bar,
argMaxIf(window_start, (toFloat64(high), -toInt64(toUnixTimestamp(window_start))), window_start >= '2026-07-07 00:00:00') AS high_bar,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-07 00:00:00') / 1e9, 2) AS day_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AMD', 'AVGO', 'INTC', 'KLAC', 'LRCX', 'MRVL', 'MU', 'NVDA', 'SNDK', 'SOXL', 'SOXS', 'STX', 'TER', 'WDC')
AND ((window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 20:00:00')
OR (window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 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,
formatDateTime(toTimeZone(high_bar, 'America/New_York'), '%H:%i') AS day_high_et,
formatDateTime(toTimeZone(low_bar, 'America/New_York'), '%H:%i') AS day_low_et,
toHour(toTimeZone(high_bar, 'America/New_York')) * 60 + toMinute(toTimeZone(high_bar, 'America/New_York')) AS high_minute_et,
toHour(toTimeZone(low_bar, 'America/New_York')) * 60 + toMinute(toTimeZone(low_bar, 'America/New_York')) AS low_minute_et,
round((day_high / day_low - 1) * 100, 2) AS range_pct,
day_dollar_bn
FROM per_name
ORDER BY tickerشرکتهای Teradyne (-9.63%) و Intel (-9.59%) نزدیک به یکدهم از ارزش خود را از دست دادند و Marvell (-7.41%)، KLA (-7.23%)، Lam Research (-6.8%) و AMD (-6.41%) نیز در نزدیکی آنها بودند. شرکتهای حوزه حافظه و ذخیرهسازی که روز دوشنبه نیمگانه بازگشت داشتند، دوباره سقوط کردند: SanDisk با بازدهی -7.1% در محدوده قیمت بالا به پایینِ 10.36%، Western Digital با -7.81%، Seagate با -4.84% و MU با -4.61%؛ شرکت MU حجم معاملات $41.6 میلیارد دلاری داشت که از مجموع سه شرکت ذخیرهسازی دیگر بیشتر بود (تحلیل جامع MU پیشینه این موضوع را توضیح میدهد).
دو غول این بخش بدون تغییر باقی ماندند: NVDA در سطح 0.67% با رنگ سبز بسته شد و Broadcom در سطح -0.83% تقریباً بدون تغییر بود؛ روزی با کاهش قیمت در کل بخش، به جز بزرگترین اعضا (تحلیل جامع NVDA در ماه June).
زمانبندی این اتفاقها همزمان بود — یک سقوط ناگهانی در یک صبح: TER، LRCX و MU کف قیمتی خود را در ساعتهای 10:41، 10:41 و 10:41 ET ثبت کردند؛ SanDisk، Marvell، KLA، AVGO و SOXL نیز در همان دقایق در همین وضعیت بودند (جدول زمانبندی را شامل میشوند) و SOXS، که یک ETF معکوس 3 برابری نیمههادی است، سقف قیمتی خود را در ساعت 10:42 ثبت کرد — یعنی حرکت در جهت عکس بازار. Intel مدتها پس از تثبیت سایر شرکتها به سقوط خود ادامه داد و کف قیمتی خود را در 15:18 ثبت کرد. ابزارهای اهرمدار شدت این حرکت را نشان میدهند: SOXL با -15.15% در مقابل SOXS با +15.87%.
سوی دیگر بازار
نسبت دو-به-یک در کاهش قیمتها، همچنان یک بخش مثبت را حفظ کرده است. داراییهایی که برخلاف کاهش قیمتها در حوزه نیمههادیها، رشد کردند:
کد دقیق SQL پشت هر عدد
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-07 00:00:00')) AS prior_close_raw,
toFloat64(argMinIf(open, window_start, window_start >= '2026-07-07 00:00:00')) AS day_open_raw,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-07 00:00:00')) AS day_close_raw,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-07 00:00:00') / 1e9, 2) AS day_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('CRNX', 'CVX', 'JNJ', 'LLY', 'META', 'TSLA', 'UNH', 'XOM')
AND ((window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 20:00:00')
OR (window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 20:00:00'))
GROUP BY ticker
)
SELECT
ticker,
round(prior_close_raw, 2) AS prior_close,
round(day_open_raw, 2) AS day_open,
round(day_close_raw, 2) AS day_close,
round((day_open_raw / prior_close_raw - 1) * 100, 2) AS gap_pct,
round((day_close_raw / day_open_raw - 1) * 100, 2) AS intraday_pct,
round((day_close_raw / prior_close_raw - 1) * 100, 2) AS pct_chg,
day_dollar_bn
FROM per_name
ORDER BY tickerبخشهای انرژی و سلامت باعث مثبت ماندن ستون رشد شدند: Exxon +3.78%، Chevron +3.47%، Johnson & Johnson +3.07%، Eli Lilly +2.75% و UnitedHealth +2.41%. دو شرکت بزرگ در این لیست مسیر متفاوتی داشتند: META با رشد +2.52% مواجه شد، در حالی که TSLA بخش اعظم صعود یکطرفه روز دوشنبه را با کاهش -4.02% از دست داد. و پرسرصداترین تغییر قیمت در بازار: Crinetics Pharmaceuticals (CRNX) با حجم معاملات 4.19 میلیارد دلاری، با رشد +98.79% بسته شد که تقریباً دو برابر شده است — تمام این حرکت در قالب یک شکاف قیمتی شبانه رخ داد (98.91% در زمان بازگشایی؛ جلسه عادی تنها -0.06% تغییر کرد)، از آن نوع بازقیمتگذاریهای بینجلسهای که در بازار پیش از بازگشایی رخ میدهد. دادهها علت این اتفاق را مشخص نمیکنند.
محل معاملات سرمایه
کد دقیق SQL پشت هر عدد
SELECT leaderboard, ticker, dollar_volume_bn, 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(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 20:00:00'
AND ticker NOT IN ('SPCX')
GROUP BY ticker
ORDER BY dollar_volume_bn DESC
LIMIT 6
UNION ALL
SELECT
'by shares traded' AS leaderboard,
ticker,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 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) DESCMU با حجم معاملات 41.6 میلیارد دلار در صدر لیست دلار قرار گرفت؛ این شرکت یک جلسه پس از از دست دادن جایگاه نخست، دوباره آن را بازپس گرفت. SPY (با حجم 28.68 میلیارد دلار) و QQQ (با حجم 26.54 میلیارد دلار) در رتبههای بعدی قرار داشتند. سه شرکت حوزه نیمههادی دیگر شامل NVDA (با حجم 19.95 میلیارد دلار)، SNDK (با حجم 19.73 دلار) و INTC (با حجم 13.82 میلیارد دلار) بخشهای باقیمانده از شش شرکت برتر را تکمیل کردند. تمرکز حجم معاملات بر روی تکسهمها توسط شاخص حجم نسبی مشخص میشود.
در جدول سهام، SOXS تعداد 566.3 میلیون سهم را معامله کرد. این ETF معکوس 3 برابری نیمههادی، برای سومین جلسه متوالی در صدر لیست قرار دارد (دوشنبه و پنجشنبه مقادیر قبلی را ثبت کردند])؛ این بار در روزی که بخش مربوطه واقعاً شکسته شد. CPOP یک درس متضاد است: 161.3 میلیون سهم تنها با حجم 0.02 میلیارد دلار معامله شد؛ تعداد سهام نشاندهنده رکود در سهام ارزانقیمت است. منبع: ساعات معاملاتی عادی 7 جولای؛ یک لیست با نماد تکراری، در انتظار تأیید هویت شرکت، از محاسبات حذف شده است — گزارشهای آن.
ساختار جلسه معاملاتی
کد دقیق 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-07 13:30:00' AND window_start < '2026-07-07 20:00:00'
GROUP BY et_time
ORDER BY et_time2 میلیارد سهم در نیم ساعت نخست، رسیدن به کفِ 0.64 میلیارد تایی در ساعت 13:30، و 2.14 میلیارد سهم تا بسته شدن در ساعت 15:30 — الگوی معمول بازار که بیشترین حجم در زمان بسته شدن ثبت میشود.
The options tape
کد دقیق SQL پشت هر عدد
WITH
(
SELECT (groupArray(und), groupArray(strike), groupArray(typ), groupArray(vol), groupArray(avg_px), groupArray(is_0dte))
FROM (
SELECT any(underlying_symbol) AS und, any(toFloat64(strike_price)) AS strike, any(option_type) AS typ,
sum(size) AS vol, round(avg(toFloat64(price)), 3) AS avg_px,
if(substring(ticker, length(ticker) - 14, 6) = '260707', 1, 0) AS is_0dte
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-07 00:00:00' AND sip_timestamp < '2026-07-08 00:00:00'
GROUP BY ticker
ORDER BY vol DESC
LIMIT 2
)
) AS top2,
(
SELECT round(toFloat64(argMax(close, window_start)), 2)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 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) = '260707') / sum(size), 1) AS same_day_expiry_pct,
round(toFloat64(sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260707')) / 1e6, 2) AS same_day_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,
round(toFloat64(sumIf(size, underlying_symbol = 'INTC')) / 1e6, 2) AS intc_contracts_m,
top2.1[1] AS top_contract_underlying,
top2.2[1] AS top_contract_strike,
top2.3[1] AS top_contract_type,
if(top2.3[1] = 'C', 1, 0) AS top_contract_is_call,
top2.4[1] AS top_contract_volume,
top2.5[1] AS top_contract_avg_price,
round(top2.2[1] - spy_regular_close, 2) AS top_strike_minus_spy_close,
top2.1[2] AS second_contract_underlying,
top2.2[2] AS second_contract_strike,
top2.3[2] AS second_contract_type,
if(top2.3[2] = 'P', 1, 0) AS second_contract_is_put,
top2.4[2] AS second_contract_volume,
top2.5[2] AS second_contract_avg_price,
round(spy_regular_close - top2.2[2], 2) AS spy_close_minus_second_strike,
top2.6[1] + top2.6[2] AS both_top_contracts_same_day,
spy_regular_close AS spy_close
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-07 00:00:00' AND sip_timestamp < '2026-07-08 00:00:00'Options traded 61.13 million contracts across 10.6 million prints — a tape the size of Monday's — and calls still took 55.6% of the volume on a red day. Same-day expiries were 31.2% of the tape (19.08 million contracts) — the 0DTE share of an ordinary Tuesday. The day's two busiest contracts bracketed the close, both same-day SPY strikes: the $749 call (873438 contracts at an average $0.647) finished $1.34 out of the money, and the $747 put (785834 contracts at $0.88) finished $0.66 out the other side. SPY's 747.66 close landed between the day's two biggest bets, and both expired worthless.
The quote tape
Under every price on this page sits the quote stream — the National Best Bid and Offer, re-quoted continuously across every listed name, the hardest dataset in this warehouse to come by. It gets measured here every session, ordinary or not.
کد دقیق SQL پشت هر عدد
SELECT
round(countIf(toDate(sip_timestamp) = toDate('2026-07-07')) / 1e6, 2) AS jul7_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-06')) / 1e6, 2) AS jul6_updates_m,
round((countIf(toDate(sip_timestamp) = toDate('2026-07-07')) / countIf(toDate(sip_timestamp) = toDate('2026-07-06')) - 1) * 100, 1) AS day_over_day_pct,
toHour(toTimeZone(maxIf(sip_timestamp, toDate(sip_timestamp) = toDate('2026-07-07')), 'America/New_York')) * 60
+ toMinute(toTimeZone(maxIf(sip_timestamp, toDate(sip_timestamp) = toDate('2026-07-07')), 'America/New_York')) AS jul7_last_quote_et_minute,
round(countIf(sip_timestamp >= '2026-07-07 19:00:00' AND sip_timestamp < '2026-07-07 20:00:00') / 1e6, 2) AS jul7_close_hour_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-06 00:00:00' AND sip_timestamp < '2026-07-08 00:00:00'The equity tape carried 492.76 million NBBO updates on July 7 — 25.7% more than Monday's 391.96 million. More re-quoting, not wider quoting:
کد دقیق SQL پشت هر عدد
SELECT
ticker,
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-07-07 14:36:00' AND sip_timestamp < '2026-07-07 14:48:00'), 2) AS pocket_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-07-07 17:30:00' AND sip_timestamp < '2026-07-07 17:42: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-07-07 14:36:00' AND sip_timestamp < '2026-07-07 14:48: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-07-07 17:30:00' AND sip_timestamp < '2026-07-07 17:42:00'), 2) AS spread_delta_bps,
round(countIf(sip_timestamp >= '2026-07-07 14:36:00' AND sip_timestamp < '2026-07-07 14:48:00') / 1e3, 1) AS pocket_updates_k,
round(countIf(sip_timestamp >= '2026-07-07 17:30:00' AND sip_timestamp < '2026-07-07 17:42:00') / 1e3, 1) AS midday_updates_k,
round(countIf(sip_timestamp >= '2026-07-07 14:36:00' AND sip_timestamp < '2026-07-07 14:48:00') / countIf(sip_timestamp >= '2026-07-07 17:30:00' AND sip_timestamp < '2026-07-07 17:42:00'), 1) AS quote_rate_ratio,
round(count() / 1e6, 2) AS session_updates_m,
countIf(bid_price <= 0 OR ask_price <= 0 OR bid_price > ask_price) AS dropped_invalid_quotes
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('AMD', 'INTC', 'MU', 'NVDA', 'QQQ', 'SNDK', 'SOXL', 'SOXS', 'SPY', 'WDC')
AND sip_timestamp >= '2026-07-07 13:30:00' AND sip_timestamp < '2026-07-07 20:00:00'
GROUP BY ticker
ORDER BY tickerAt the morning lows the checked names re-quoted at multiples of their midday pace — MU 3.4x, SanDisk 4.1x, AMD 4.6x — and the bid-ask spread barely moved: MU's median width was 5.02 bps in the pocket against 4.81 midday, NVDA's 1.04 against 1.01, and SPY's did not move at all (0 bps change on a 0.27 bps touch). The two names that paid a real width penalty were AMD (+2.6 bps) and Intel (+0.95) — Intel the one name that kept falling after the pocket — while the leveraged pair actually tightened at the bottom (SOXL -2.59 bps, SOXS -1.49). A liquidity vacuum looks like wide quotes and silence; this was the opposite — a quote storm with the touch pinned. Crossing costs stayed name-dependent all the same: SOXS quoted 19.59 bps wide at the bottom against NVDA's 1.04.
کد دقیق SQL پشت هر عدد
SELECT
round(anyIf(avg_spread_cents, d = toDate('2026-07-07')), 3) AS jul7_avg_spread_cents,
arrayCount(x -> x < anyIf(avg_spread_cents, d = toDate('2026-07-07')), groupArrayIf(avg_spread_cents, d != toDate('2026-07-07'))) + 1 AS tightness_rank,
count() AS sessions_compared,
round(min(avg_spread_cents), 3) AS tightest_session_cents,
round(max(avg_spread_cents), 3) AS widest_session_cents,
toString(min(d)) AS first_session,
sum(dropped_invalid) AS dropped_invalid_quotes
FROM (
SELECT toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS d,
avgIf(toFloat64(ask_price - bid_price), bid_price > 0 AND ask_price >= bid_price) * 100 AS avg_spread_cents,
countIf(NOT (bid_price > 0 AND ask_price >= bid_price)) AS dropped_invalid
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPY'
AND sip_timestamp >= toDateTime('2026-06-05 00:00:00')
AND sip_timestamp < toDateTime('2026-07-08 00:00:00')
AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
GROUP BY d
)And the ordinary-check this section runs every session: by update-weighted average quoted spread, July 7 was SPY's tightest session of the trailing month — 1.809 cents, rank 1 of 21, against a month that reached 2.865 cents at its widest. A two-to-one red tape priced at the month's tightest index touch is a fact only the quote stream can settle.
کد دقیق SQL پشت هر عدد
WITH
(
SELECT count()
FROM global_markets.cache_options_quotes
WHERE toYYYYMMDD(sip_timestamp) = 20260707
) AS jul7_option_rows,
(
SELECT count()
FROM global_markets.cache_options_quotes
WHERE toYYYYMMDD(sip_timestamp) = 20260706
) AS jul6_option_rows,
(
SELECT count()
FROM global_markets.cache_stocks_quotes
WHERE toYYYYMMDD(sip_timestamp) = 20260707
) AS jul7_stock_quote_rows
SELECT
jul7_option_rows AS jul7_option_quote_rows,
round(jul7_option_rows / 1e9, 2) AS jul7_option_quote_updates_bn,
round(jul6_option_rows / 1e9, 2) AS jul6_option_quote_updates_bn,
round((jul7_option_rows / jul6_option_rows - 1) * 100, 1) AS day_over_day_pct,
round(jul7_stock_quote_rows / 1e6, 2) AS jul7_stock_quote_updates_m,
round(jul7_option_rows / jul7_stock_quote_rows, 1) AS jul7_option_to_stock_ratioThe options quote stream is larger still, and it is the biggest dataset in this warehouse. July 7 carried 8.69 billion option NBBO updates, 17.6 times the size of the same session's entire stock-quote tape (492.76 million updates). Monday's options tape held 6.49 billion, so the option stream expanded 34% session over session, alongside the equity stream's 25.7%.
کد دقیق SQL پشت هر عدد
WITH
(
SELECT count()
FROM global_markets.cache_stocks_quotes
WHERE toYYYYMMDD(sip_timestamp) = 20260707
) AS jul7_stock_quote_rows,
(
SELECT round(toFloat64(avg(close)), 2)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2026-07-07 14:36:00' AND window_start < '2026-07-07 14:48:00'
) AS spy_pocket_price,
(
SELECT round(toFloat64(avg(close)), 2)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2026-07-07 17:30:00' AND window_start < '2026-07-07 17:42:00'
) AS spy_midday_price
SELECT
round(count() / 1e6, 2) AS spy_option_updates_m,
round(100.0 * count() / jul7_stock_quote_rows, 1) AS pct_of_whole_equity_quote_tape,
uniqExact(ticker) AS spy_contracts_quoted,
round(countIf(substring(ticker, -15, 6) = '260707') / 1e6, 2) AS same_day_updates_m,
spy_pocket_price AS spy_price_in_pocket,
spy_midday_price AS spy_price_midday,
round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price),
bid_price > 0 AND ask_price >= bid_price
AND substring(ticker, -15, 6) = '260707'
AND abs(toFloat64(toUInt32OrZero(substring(ticker, -8))) / 1000 - spy_pocket_price) <= 2
AND sip_timestamp >= '2026-07-07 14:36:00' AND sip_timestamp < '2026-07-07 14:48:00'), 3) AS pocket_atm_spread_dollars,
round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price),
bid_price > 0 AND ask_price >= bid_price
AND substring(ticker, -15, 6) = '260707'
AND abs(toFloat64(toUInt32OrZero(substring(ticker, -8))) / 1000 - spy_midday_price) <= 2
AND sip_timestamp >= '2026-07-07 17:30:00' AND sip_timestamp < '2026-07-07 17:42:00'), 3) AS midday_atm_spread_dollars,
round(pocket_atm_spread_dollars - midday_atm_spread_dollars, 3) AS atm_spread_delta_dollars,
round(countIf(substring(ticker, -15, 6) = '260707'
AND abs(toFloat64(toUInt32OrZero(substring(ticker, -8))) / 1000 - spy_pocket_price) <= 2
AND sip_timestamp >= '2026-07-07 14:36:00' AND sip_timestamp < '2026-07-07 14:48:00') / 1e3, 1) AS pocket_atm_updates_k,
round(countIf(substring(ticker, -15, 6) = '260707'
AND abs(toFloat64(toUInt32OrZero(substring(ticker, -8))) / 1000 - spy_midday_price) <= 2
AND sip_timestamp >= '2026-07-07 17:30:00' AND sip_timestamp < '2026-07-07 17:42:00') / 1e3, 1) AS midday_atm_updates_k,
round(pocket_atm_updates_k / midday_atm_updates_k, 1) AS atm_quote_rate_ratio,
countIf(NOT (bid_price > 0 AND ask_price >= bid_price)
AND substring(ticker, -15, 6) = '260707') AS dropped_invalid_same_day_quotes
FROM global_markets.cache_options_quotes
WHERE ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
AND sip_timestamp >= '2026-07-07 13:30:00' AND sip_timestamp < '2026-07-07 20:00:00'
HAVING pocket_atm_updates_k > 0 AND midday_atm_updates_k > 0SPY's 2026-dated contracts alone took 327.55 million of those updates in regular hours, spread across 9116 listed contracts. That is 66.5% of what the entire equity market quoted the same day, from one underlying. The same-day expiries that carry the 0DTE tape account for 13.61 million of them.
Through the twelve minutes of the morning air pocket, the near-the-money same-day contracts quoted a median $0.01 wide, precisely what they quoted in the midday control ($0.01, a delta of 0). The quote rate across that same pair ran 3x: 191.1 thousand updates at the lows against 64 thousand at lunch. The option touch did what the stock touch did. It held its width while the quoting machinery ran hot. Near-the-money means a strike within $2 of SPY's average price in the same window, and the panel prints both prices (746 in the pocket, 749.08 midday).
نرخها: منحنی با روند نزولی سهام رشد کرد
کد دقیق SQL پشت هر عدد
SELECT
t.1 AS curve_point,
round(t.2, 2) AS jul7_yield_pct,
round((t.2 - t.3) * 100) AS session_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-07') AS d,
(SELECT * FROM global_markets.treasury_yields WHERE date = '2026-07-06') AS p
)اوراق قرضه خزانهداری همگام با روند نزولی سهامهای بخش رشد، با کاهش قیمت مواجه شدند. بازدهی 1 ساله 11 واحد پایه به 4.06% رسید، بازدهی 10 ساله از 7 به 4.55% و بازدهی 30 ساله از 6 به 5.05% افزایش یافت که از مرز 5 درصد فراتر رفت. اختلاف بازده 2 ساله و 10 ساله در سطح 0.36 واحد درصد (به میزان 1 واحد پایه تغییر) باقی ماند: این یک حرکت عمدتاً موازی بود و بازسازی ساختار منحنی را نشان نمیداد.
تقویم رویدادهای روز
کد دقیق SQL پشت هر عدد
WITH
(
SELECT (count(), uniqExact(publisher))
FROM global_markets.stocks_news
WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-07'
) AS news,
(
SELECT (argMax(t, n), max(n), max(n) - arraySort(x -> -x, groupArray(n))[2])
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-07'
)
WHERE t != 'SPCX'
GROUP BY t
)
) AS top_news
SELECT
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-07') AS ex_dividend_records,
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date = '2026-07-07') AS splits_executed,
(SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-07') AS reverse_splits,
(SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-07') AS forward_splits,
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-07') AS ipos_listed,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-07') AS sec_filings,
(SELECT uniqExactIf(accession_number, form_type = '4') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-07') AS insider_form4_filings,
(SELECT uniqExactIf(accession_number, form_type = '8-K') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-07') AS filings_8k,
news.1 AS news_articles,
news.2 AS news_publishers,
top_news.1 AS most_covered_ticker,
if(top_news.1 = 'NVDA', 1, 0) AS most_covered_is_nvda,
top_news.2 AS most_covered_articles,
top_news.3 AS most_covered_lead_over_next,
(SELECT countIf(has(tickers, 'CRNX')) FROM global_markets.stocks_news
WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-07') AS crnx_articlesگزارشهای سود سهام برای 79 در وضعیت بدون حق سود قرار گرفت، تقسیم سهام برای 7 انجام شد — که 5 مورد از آنها تقسیم معکوس بودند؛ این ادغامهای زیر دلاری باعث ایجاد سودهای کاذب سهرقمی در نمودارهای اصلاحنشده میشوند، در حالی که 2 پیشبینیها و 1 لیست جدیدی از شرکتها وارد بازار شدند. SEC تعداد 2433 پرونده را ثبت کرد: 463 مورد Form 4 و 173 مورد 8-K. فید خبری ما شامل 215 مقاله از 3 ناشر بود؛ پربحثترین نام، NVDA با 17 مقاله بود که 4 مقاله از رتبه بعدی فاصله داشت — یعنی همان NVDA که برخلاف بخش خود که با وضعیت قرمز بسته شد، در وضعیت سبز بسته شد. این فید شامل 0 مقاله درباره CRNX بود که بیشترین رشد را در بازار داشت — این تنها تمرکز یک فید خبری بود، نه تمام رسانههای جهان.
جلسه معاملاتی، تایید شده
کد دقیق 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-07 13:30:00' AND window_start < '2026-07-07 20:00:00') AS regular_session_bars,
uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 20:00:00') AS day_sessions,
(SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-07') AS jul7_holiday_rows,
(SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-07' AND status = 'closed') AS next_closure_date,
(SELECT argMin(name, date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-07' AND status = 'closed') AS next_closure_name
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-07 00:00:00' AND window_start < '2026-07-08 00:00:00'7 جولای یک جلسه کامل بود و شامل بسته شدن زودهنگام نبود: نمودارهای SPY از ساعت 04:00 تا 19:59 به وقت نیویورک با دقیقاً 390 کندل در بازه زمانی عادی تشکیل شدند و جدول تعطیلات نیز شامل 0 سطر برای این تاریخ است. بسته شدن بعدی طبق برنامه در تاریخ Labor Day، 2026-09-07 خواهد بود.
یادداشتهای دادهها
- حجم دلاری یک شاخص بر پایه دقیقه است — حاصلضرب قیمت پایانی در حجم معاملات در هر کندل یک دقیقهای، در ساعات معاملاتی عادی.
- تفکیک شکاف قیمتی در برابر روند تدریجی بر اساس اولین کندل جلسه عادی هر نماد (قیمت بازگشایی) در مقایسه با آخرین قیمت پایانی جلسه قبل اندازهگیری میشود؛ مابقی شامل بازگشایی تا بستهشدن در تاریخ 7 جولای است.
- کمترین قیمتهای همزمان در صبح با کندلهای مجاور در زمان نگارش بررسی شدند — هر مورد توسط دقیقههای همزمان بررسی شده و صرفاً یک ثبت واحد نیست؛ هیچکدام شامل ناهنجاری شناخته نشدند. در مواردی که یک مقدار فر ekstrem در بیش از یک دقیقه ثبت شده، پنل اولین کندل مربوطه را نشان میدهد (یک روش تعیینکننده برای رفع tie-break).
- یک نماد با نام تکراری، تا زمان تأیید هویت شرکت، از جدولهای برتر حجم معاملات و بخش اخبار حذف شده است؛ جزئیات در پست مربوطه.
- آمار spread قیمتها، نقلقولهای نامعتبر را شامل نمیشود (سوابق NBBO یکطرفه یا متقاطع)؛ هر پنل spread، موارد حذف شده را در ستون مخصوص خود شمارش میکند. «میانگین وزنی بهروزرسانی شده spread» میانگین عرض قیمتهای نقلشده در تمام بهروزرسانیهای معتبر NBBO است؛ در این محاسبه، لحظات پرتحرک وزن بیشتری دارند؛ این یک آمار نقلقول است، نه هزینه هر معامله.
- نقلقولهای اختیار معامله (option) مربوط به 7 جولای، پس از انتشار نسخه اولیه این پست ثبت شدند.
cache_options_quotesبیشترین تأخیر در ورود دادهها به انبار را دارد، بنابراین نسخه اول با یک ردیف صفر در محل پنلهای نقلقول اختیار معامله منتشر شد. با ورود دادهها، محدودیت ردیف صفر در بازسازی دادهها برطرف شد و این نسخه، 8.69 میلیارد بهروزرسانی مربوط به جلسه را شامل میشود. نوار نقلقول سهام از ابتدا کامل بود: آخرین بهروزرسانی آن در دقیقه 1199 به وقت ET ثبت شده و شامل 77.13 میلیون بهروزرسانی در آخرین ساعت معاملاتی است (ستونهای دریافتی در پنل نوار نقلقول). - عرض قیمتهای نقلشده برای اختیار معامله، در نزدیکی قیمت توافقی (near the money) اندازهگیری میشوند. میانگین میانه در هر بهروزرسانی برای تمام قراردادهای همروز، یک آمار ترکیبی است: قراردادهای بسیار در سود (deep in-the-money) با اختلاف دلاری و قراردادهای بسیار خارج از سود (far out-of-the-money) با اختلاف سنتها نقلقول میشوند؛ همچنین اینکه کدام قراردادها در طول جلسه قیمت خود را تغییر میدهند. مقایسه «موقعیت در برابر میانروز» تنها به قیمتهای اعمال (strikes) در محدوده 2 دلار از میانگین قیمت SPY در هر بازه محدود میشود و هر دو قیمت در پنل موجود هستند. نقلقولهای نامعتبر اختیار معامله (یکطرفه یا متقاطع) در آن پنل شمارش میشوند و حذف نمیشوند.
- دادههای خزانهداری برای 7 جولای با تأخیر در جلسه وارد شدند — نسخه اول با یک تأخیر اعلامشده منتشر شد؛ با ورود دادهها در 8 جولای، این محدودیت برداشته شد و این نسخه شامل منحنی واقعی است.
روششناسی
- این بازه زمانی شامل یک جلسه معاملاتی واحد است (یک جلسه 1، که از طریق بررسی کندلهای مشاهدهشده و تقویم تعطیلات تایید شده است و هرگز بر اساس حدس نیست). زمانها در قالب UTC ذخیره شده و در داخل پرسوجوها به زمان نیویورک تبدیل میشوند. عبارت "Close" به معنای آخرین کندل دقیقهای در جلسه عادی است؛ تغییرات روزانه با مقایسه 7 جولای با 6 جولای، یعنی جلسات معاملاتی متوالی، محاسبه میشود.
- ستونهای اعشاری پیش از محاسبات نسبت، به اعداد اعشاری 64 بیتی تبدیل میشوند؛ تاریخ انقضای اختیار معامله از تیکر OCC بازخوانی میشود (ستون انقضای خودِ جدول دچار خطا است). تمام پنلها در زمان تدوین، تنها یکبار و از طریق مسیر دسترسی فقط-خواندنی (read-only) خوانده میشوند. وضعیت انبار داده مربوط به 8 جولای 2026 است.
- بخش نقلقول قیمت (quote-tape) در بازبینی 8 جولای اضافه شد (همان بازبینی که جایگزین رسید تأخیر خزانهداری با قیمت نهایی شد) و پنلهای نقلقول اختیار معامله نیز پس از ثبت ردیفهای NBBO اختیار معامله در 7 جولای، بازنویسی شدند. فرآیند تولید دادهها به صورت دستهای (batch job) طراحی شده است: پنل نقلقول اختیار معامله SPY صدها میلیون رکورد NBBO را اسکن میکند، در حالی که شمارش حجم معاملات (tape-size) مجموع ردیفهای بخشبندیشده روزانه را میخواند؛ این روش باعث میشود جدولی که میلیاردها ردیف در هر جلسه دارد، در کمتر از یک ثانیه به پرسوجوی شمارش پاسخ دهد.
هر پنل نتیجه یک پرسوجوی ذخیرهشده است؛ نمودار، جدول و SQL همگی یک شیء واحد هستند. هر یک از آنها را در ترمینال Strasmore کپی کرده و از آن استفاده کنید. جلسه قبل: 6 جولای.