خلاصه وضعیت بازار 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% و QQQ در سطح -1.71%، تقریباً سه واحد است؛ SPY با ثبت -0.12%، میان این دو قرار گرفت؛ و IWM در سطح -0.59% بسته شد.
Was the day unusual?
Two lenses in one panel: SPY's open-to-close move and QQQ's close-over-close move, each ranked against the trailing month by absolute size (rank 1 = biggest).
کد دقیق 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_prevAt the index level, no. SPY's -0.35% open-to-close ranks 15 of 22 trailing sessions — the bottom half. QQQ was louder but still not extreme: its -1.71% close-over-close ranks 9 of 21 sessions with a defined prior close, back to 2026-06-02 — a mid-pack bad day for the growth index. The single-name tape is where July 2 was loud.
وسعت بازار: وضعیت مثبت در تعداد سهام، رشد منفی در شاخصها
کد دقیق 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 در کل بازار مشاهده شد و تنها محدود به چهار شرکت بزرگ (megacaps) نبود؛ به همین دلیل، صعودی بودن خط پیشرو-پسرو (advance-decline line) همزمان با نزولی بودن Nasdaq، تناقضی ندارد.
برجستهترین اتفاق روز: ریزش بازار حافظه، روز دوم
بخشهای آسیبدیدهای که روز چهارشنبه فرو ریختند، در روز پنجشنبه با شدت بیشتری سقوط کردند؛ این موضوع به بزرگی و همحرکتی بازار مربوط است، نه علت سقوط.
کد دقیق 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 tickerگزارشها نشان داد SanDisk با -14.32%، Seagate با -10.38%، Western Digital با -9.92% و MU با -5.57% ثبت شدند — این در حالی است که حجم معاملات MU به $51.4 میلیارد رسید که تقریباً یکونیم برابر حجم معاملات SPY است. MU و SanDisk در اواخر بازار (15:26، 15:26 ET) به پایینترین سطح خود رسیدند؛ Seagate و Western Digital نیز زودتر (14:23، 13:59) این وضعیت را ثبت کردند. پیشزمینه: چهارشنبه و تحلیل دقیق MU.
نیمه دیگر این چرخش سرمایه در شرکتهای بزرگ (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 با یک روند صعودی یکطرفه 4.75% رشد کرد — کمترین میزان در ساعت 09:30 ET و بیشترین میزان در ساعت 15:57، سه دقیقه پیش از بسته شدن بازار ثبت شد؛ در حالی که TSLA روند معکوس را در ساعت -7.65% طی کرد. MSFT میزان 1.41% را اضافه کرد؛ NVDA نیز با -1.55% بسته شد. شاخص یکسان، اما روزهای کاملاً متفاوت.
حجم معاملات در بازار
کد دقیق 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معاملات $51.4 میلیارد دلاری MU برای چهار جلسه متوالی در صدر لیست قرار گرفت (دوشنبه، سهشنبه، چهارشنبه) و در مقابل SPY با $32.7 میلیارد دلار قرار گرفت. همچنین SanDisk با $26.57 میلیارد دلار، دومین نام از حوزه حافظه را در میان چهار شرکت برتر قرار داد. SOXS — که یک ETF معکوس 3 برابری در حوزه نیمههادی است — با 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_time2.13 میلیارد سهم در نیم ساعت اول بازار، کف قیمتی 0.81 میلیارد دلاری در ساعت 14:30، و 2.3 میلیارد دلار در زمان بسته شدن بازار در شب تعطیل — دسته آخر بزرگترین حجم روز بود، زیرا مزایده بستن بازار سفارشهای باقیمانده را در قالب یک قیمت نهایی ادغام میکند.
The options tape: the shifted weekly lands
کد دقیق 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'Options traded 80.96 million contracts across 13.15 million prints, and 47.4% of that volume expired the same Thursday. No contract with a July 3 expiration code printed all day (0 prints), so Thursday carried the daily expiry and the week's shifted weekly at once. The busiest contract was the same-day SPY $740 put — 540,403 contracts at an average $0.499 premium, SPY closing 4.8 dollars above the strike: out of the money, and a put atop a board where Tuesday and Wednesday had calls. Calls still took 58.4% of volume; the next weekly drew 9.64 million contracts, the July monthly 8.82 million (expiry mechanics).
The quote tape: what it cost to trade
Prices say what happened; quotes say what it cost. The bid-ask spread is the toll on every round trip, in basis points of the mid-price (a basis point is a hundredth of a percent). We measure it every session, ordinary or not — which is what makes "spreads blew out" a falsifiable claim.
کد دقیق 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'The national best bid and offer — the top of the consolidated book — was rewritten 597.22 million times on July 2 against 449.15 million on July 1: a 33% jump into the closure. QQQ took 7.56 million, above SPY's 5.42 million; MU 1.01 million.
کد دقیق 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 ASCSPY quoted a median 0.27 basis points wide: about 2 cents on a $744.8 ETF. QQQ came in at 0.83 bps, NVDA 1.03. The names doing the falling were the expensive ones to trade: MU 5.52 bps, SanDisk 10.4, Western Digital 10.79 — 40x SPY's spread. Crossing a basket of memory names cost multiples of crossing the index, before any price impact. Invalid quotes (one-sided, crossed) are counted per name, not hidden.
کد دقیق 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_dayAn ordinary day for liquidity, and that is the finding: SPY's median spread of 0.27 bps sits 0 bps from the trailing month's median (0.27 bps), ranking 11 of 22 sessions by wideness — nowhere near the month's widest at 0.409 bps. A concentrated rout under a green tape did not stress the plumbing.
نرخها: دادههای 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% قرار داشت و spread 2s10s در سطح 0.35 واحد بود.
The calendar behind the day
کد دقیق 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_bars319 dividend records went ex-dividend, 2 new listings arrived (MIACU — Meridian3 Industrials Acquisition Corp.; VIIU — Viking Acquisition Corp. II), and the SEC index logged 5200 filings into the holiday — 2109 Form 4s, 258 8-Ks. The news feed carried 201 articles from 3 publishers (NVDA most-covered, 18 of them).
The splits trap anyone reading raw closes. CRWD ran a 4-for-1 forward split, so the unadjusted tape shows $772.45 on Wednesday and $193.67 on Thursday — a fake decline that is really four new shares for each old one. It was not alone: 8 split records executed, 5 forward and 3 reverse (the split_records column lists them), and a reverse split fakes the opposite artifact — a raw price that leaps overnight. Only 2 of those names traded on our tape; CRWD's $1473.51 million of turnover is the one big enough to contaminate a screen, and every mover screen here excludes it.
در صف انتظار
واقعیتهای تقویمی، نه پیشبینی — آنچه جداول درباره جلسات بعدی نشان میدهند.
کد دقیق 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). میزان فروش استقراضی، طبق معمول، اخبار قدیمی بود — جدیدترین تسویه ثبت شده 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 جولای) مصادف با شنبه بود. خلاصه چهار جلسه هفته: خلاصه هفته.
سوالات متداول
چرا در 2 جولای 2026، Dow برخلاف Nasdaq رشد کرد؟
این دو شاخص شامل شرکتهای متفاوتی هستند: DIA در سطح 1.04% و QQQ در سطح -1.71% بسته شدند. ساختار بخشهای بازار نیز دارای همین تفاوت است؛ بخشهای مراقبتهای بهداشتی، خدمات عمومی و کالاهای اساسی در صدر قرار دارند و بخش فناوری با اختلاف 5.34 واحد از بهترین به بدترین وضعیت، در سطح -2.71% قرار گرفته است.
آیا بازار سهام در جمعه هفته روز استقلال باز بود؟
خیر. روز استقلال مصادف با شنبه بود و بورسها با تعطیلی کامل در روز جمعه، یعنی یک روز پس از این جلسه معاملاتی، این مناسبت را رعایت کردند: دادههای ما 0 کندل یک دقیقهای SPY را برای آن نشان میدهد.
تقسیم سهام آتی چه تأثیری بر قیمت هر سهم دارد؟
این اقدام تعداد سهام را در چهار ضرب و قیمت را بر چهار تقسیم میکند؛ ارزش کل موقعیت بدون تغییر باقی میماند. در مورد CRWD در 2 جولای: قیمت بسته شده اصلاحنشده در روز چهارشنبه $772.45 و در روز پنجشنبه $193.67 بود؛ این یک کاهش کاذب در هر ابزار تحلیلگری است که تقسیم سهام را لحاظ نکرده باشد.
میزان شکاف قیمت خرید و فروش (bid-ask spread) در 2 جولای 2026 چقدر بود؟
میانه شکاف قیمت اعلام شده برای SPY در ساعات عادی معاملاتی 0.27 واحد پایه از قیمت میانی بود که معادل 11 از 22 جلسات گذشته از نظر میزان پهنا بود؛ یک روز عادی. در مورد سهام انفرادی، این شکاف بیشتر بود: MU در سطح 5.52 bps و WDC در سطح 10.79.
یادداشتهای دادهها
- حجم دلاری یک شاخص بر پایه دقیقه است — حاصلضرب قیمت پایانی در حجم، جمعشده در هر کندل.
- گزارش 2 جولای خزانهداری پس از انتشار اولیه منتشر شد — یادداشت اصلی عدم وجود این داده را با رسید تعداد ردیفها اعلام کرده بود؛ این نسخه اصلاحشده شامل گزارش مذکور است و رسید آن نیز ارائه شده است.
- تغییر قیمت پایانی خام CRWD ناشی از تجزیه سهام است — این مورد از لیستهای تغییرات قیمتی (mover screens) حذف شده است.
یادداشتهای کامل دادهها
- برد بخشها شامل یازده صندوق SPDR Select Sector (XLB, XLC, XLE, XLF, XLI, XLK, XLP, XLRE, XLU, XLV, XLY) است — این یک سبد ثابت و اعلامشده است، نه یک فیلد بخش از سمت تامینکننده داده.
- شمارش Quote-tape بر اساس تاریخ UTC از برچسب زمانی SIP انجام میشود؛ یک جلسه معاملاتی تابستانی در قالب یک روز UTC قرار میگیرد.
- یک مورد از لیستهای ژوئن با نماد تکراری از جدول امتیازات حذف شده است (رسیدها)؛ تحلیلهای دقیق تراکنشها در بخش بررسیهای عمیق موجود است.
روششناسی
- این بازه زمانی شامل یک جلسه معاملاتی است (1 جلسه، که از طریق کندلهای مشاهدهشده تأیید شده است). زمانبندیها در قالب UTC ذخیره شده و در داخل پرسوجوها به زمان نیویورک تبدیل میشوند؛ عبارت "close" به معنای آخرین کندل دقیقهای در جلسه عادی است و تغییرات روزانه با مقایسه 2 جولای و 1 جولای انجام میشود. وضعیت بسته شدن بازار در 3 جولای از طریق کندلها تأیید شده و صرفاً فرض نشده است.
- اسپردها (تفاوت قیمت خرید و فروش) بر حسب واحد basis point نسبت به قیمت میانه، بر اساس میانه بهروزرسانیهای NBBO در ساعات عادی و بر روی یک چندک معین، اعلام میشوند. اعداد اعشاری پیش از محاسبات نسبتی به float تبدیل میشوند؛ تاریخهای سررسید اختیار معامله نیز از طریق تیکر OCC بازخوانی میشوند. هر پنل در زمان نگارش، تنها یکبار و از طریق مسیر محدود و فقطخواندنی استخراج میشود.
نمودار، جدول و SQL یک واحد یکپارچه هستند. هر پنلی را میتوانید در ترمینال Strasmore کپی کرده و از آن استفاده کنید. جلسه قبل: 1 جولای. هفته جاری: هفته تعطیلات چهار جلسهای.