Market Recap June 29 2026 आंकड़े
June 29, 2026 का बाजार विश्लेषण: सूचकांक में बढ़त, सेक्टर स्प्रेड, 0DTE डेटा और पेनी स्टॉक्स के उतार-चढ़ाव का विस्तृत विवरण यहाँ देखें।
सोमवार, June 29, 2026 को बाजार में बढ़त देखी गई, लेकिन बढ़त का दायरा सीमित था: QQQ में 2.57%, SPY में 1.62% की वृद्धि हुई। 3968 लिक्विड स्टॉक्स में बढ़त रही, जबकि 2327 स्टॉक्स में गिरावट आई — इसके बावजूद, लगभग आधे सेक्टर बास्केट लाल निशान (negative) में बंद हुए। सभी आंकड़े एक संग्रहीत क्वेरी से लिए गए हैं; SQL देखने के लिए किसी भी पैनल का विस्तार करें। इसी सत्र का टिक-बाय-टिक विवरण: June 29 माइक्रोस्ट्रक्चर का विस्तृत विश्लेषण।
स्कोरबोर्ड
प्रत्येक परिवर्तन की तुलना 29 जून के अंतिम नियमित सत्र के मिनट बार (minute bar) से 26 जून, शुक्रवार के साथ की गई है।
हर आंकड़े के पीछे का पूरा SQL
WITH friday AS (
SELECT ticker, argMax(close, window_start) AS friday_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
AND window_start >= '2026-06-26 13:30:00' AND window_start < '2026-06-26 20:00:00'
GROUP BY ticker
),
monday AS (
SELECT ticker,
argMin(open, window_start) AS monday_open,
argMax(close, window_start) AS monday_close,
max(high) AS day_high,
min(low) AS day_low,
round(toFloat64(sum(volume)) / 1e6, 1) AS shares_traded_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
AND window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
GROUP BY ticker
)
SELECT
m.ticker AS ticker,
toFloat64(f.friday_close) AS jun26_close,
toFloat64(m.monday_open) AS jun29_open,
toFloat64(m.monday_close) AS jun29_close,
round((toFloat64(m.monday_close) / toFloat64(f.friday_close) - 1) * 100, 2) AS pct_change,
round(100 * (toFloat64(m.monday_close) / toFloat64(f.friday_close) - 1) / max(toFloat64(m.monday_close) / toFloat64(f.friday_close) - 1) OVER (), 1) AS pct_of_best_change,
toFloat64(m.day_high) AS day_high,
toFloat64(m.day_low) AS day_low,
m.shares_traded_m AS shares_traded_m
FROM monday m
JOIN friday f ON m.ticker = f.ticker
ORDER BY m.tickerSPY 736.525 पर खुला, जबकि शुक्रवार को यह $729.09 पर बंद हुआ था। यह $740.88 पर बंद हुआ, जो इसके $741.56 के उच्च स्तर से कम है। DIA के +0.81% के मुकाबले QQQ का +2.57% का प्रदर्शन यह दर्शाता है कि आज का दिन ग्रोथ और टेक शेयरों के पक्ष में रहा; small-cap IWM में 0.45% की वृद्धि हुई।
क्या यह दिन असामान्य था?
बिना किसी मानक के प्रतिशत परिवर्तन का अधिक महत्व नहीं होता है। यह पैनल 29 जून की तुलना पिछले महीने के पूर्ण क्लोज-टू-क्लोज (close-over-close) आकार से करता है।
हर आंकड़े के पीछे का पूरा SQL
SELECT
round(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-06-29')), 2) AS qqq_close_over_close_pct,
arrayCount(x -> x > abs(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-06-29'))), groupArrayIf(abs(cc_pct), ticker = 'QQQ' AND d != toDate('2026-06-29'))) + 1 AS qqq_abs_move_rank,
countIf(ticker = 'QQQ') AS qqq_sessions_compared,
round(max(if(ticker = 'QQQ', abs(cc_pct), 0)), 2) AS qqq_biggest_move_of_month_pct,
countIf(ticker = 'QQQ' AND cc_pct > 0) AS qqq_up_sessions,
round(anyIf(cc_pct, ticker = 'SPY' AND d = toDate('2026-06-29')), 2) AS spy_close_over_close_pct,
arrayCount(x -> x > abs(anyIf(cc_pct, ticker = 'SPY' AND d = toDate('2026-06-29'))), groupArrayIf(abs(cc_pct), ticker = 'SPY' AND d != toDate('2026-06-29'))) + 1 AS spy_abs_move_rank,
countIf(ticker = 'SPY') AS spy_sessions_compared,
round(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-06-29')), 2) AS spy_open_to_close_pct,
concat(monthName(min(d)), ' ', toString(toDayOfMonth(min(d))), ', ', toString(toYear(min(d)))) AS first_session
FROM (
SELECT ticker, d,
(close_px / lagInFrame(close_px) OVER (PARTITION BY ticker ORDER BY d) - 1) * 100 AS cc_pct,
oc_pct
FROM (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMax(toFloat64(close), window_start) AS close_px,
(argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS oc_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ')
AND window_start >= toDateTime('2026-05-28 00:00:00')
AND window_start < toDateTime('2026-06-30 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY ticker, d
)
)
WHERE isFinite(cc_pct)बड़ा बदलाव, लेकिन रिकॉर्ड नहीं: QQQ का 2.57% बदलाव May 29, 2026 के बाद के 21 सत्रों में से 5 स्थान पर है। इस महीने का सबसे बड़ा एकल बदलाव 4.76% था; SPY का 1.62% बदलाव 21 सत्रों में से 4 स्थान पर है। बदलाव का स्रोत महत्वपूर्ण है: SPY का ओपन-टू-क्लोज (open-to-close) उतार-चढ़ाव केवल 0.59% था, इसलिए अधिकांश लाभ ओवरनाइट गैप (overnight gap) में आया, जो नियमित घंटों के किसी भी बार (bar) के बनने से पहले हुआ था। QQQ उन सत्रों में से 10 सत्रों में ऊपर बंद हुआ: यह एक अनिश्चित महीना था।
Breadth: रैली कितनी व्यापक थी?
एक advancer वह ticker है जिसका सोमवार का क्लोजिंग प्राइस शुक्रवार से बेहतर रहा हो, बशर्ते उसका ट्रेडिंग वॉल्यूम कम से कम $1 million हो — इस फ़िल्टर से 11,475 में से 5,108 dual-session tickers हट जाते हैं।
हर आंकड़े के पीछे का पूरा SQL
WITH per_ticker AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-06-27 00:00:00')) AS friday_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-29 00:00:00')) AS monday_close,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-06-29 00:00:00') AS monday_dollar_volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE (window_start >= '2026-06-26 13:30:00' AND window_start < '2026-06-26 20:00:00')
OR (window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00')
GROUP BY ticker
)
SELECT
countIf(monday_close > friday_close AND monday_dollar_volume >= 1000000) AS advancers,
countIf(monday_close < friday_close AND monday_dollar_volume >= 1000000) AS decliners,
countIf(monday_close = friday_close AND monday_dollar_volume >= 1000000) AS unchanged,
countIf(monday_dollar_volume >= 1000000) AS liquid_tickers,
count() AS tickers_traded_both_sessions,
reverse(arrayStringConcat(extractAll(reverse(toString(count())), '[0-9]{1,3}'), ',')) AS tickers_traded_both_sessions_label,
count() - countIf(monday_dollar_volume >= 1000000) AS dropped_by_liquidity_filter,
reverse(arrayStringConcat(extractAll(reverse(toString(count() - countIf(monday_dollar_volume >= 1000000))), '[0-9]{1,3}'), ',')) AS dropped_by_liquidity_filter_label,
round(100.0 * countIf(monday_close > friday_close AND monday_dollar_volume >= 1000000)
/ countIf(monday_dollar_volume >= 1000000), 1) AS advancer_pct
FROM per_ticker
WHERE friday_close > 0 AND monday_close > 03968 advancers, 2327 decliners, 72 unchanged: liquid tape का 62.3% हिस्सा बढ़ा — प्रत्येक नाम को अलग से गिनने पर, यह एक व्यापक दिन था।
सेक्टर वार: रैली उतनी व्यापक नहीं थी जितनी दिख रही थी
सभी कंपनियों को समान महत्व देना एक दृष्टिकोण है; वहीं कंपनी के आकार के आधार पर उनका भार (weighting) तय करना दूसरा। ग्यारह SPDR सेक्टर ETFs दूसरे दृष्टिकोण का संक्षिप्त रूप हैं — S&P 500 के प्रत्येक सेक्टर के लिए एक मार्केट-वैल्यू-वेटेड बास्केट। ये डेटा, कंपनियों की संख्या (breadth count) से काफी भिन्न है।
हर आंकड़े के पीछे का पूरा SQL
WITH per_etf AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-06-27 00:00:00')) AS friday_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-29 00:00:00')) AS monday_close,
maxIf(toFloat64(high), window_start >= '2026-06-29 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-06-29 00:00:00') AS day_low,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-06-29 00:00:00') / 1e6, 0) AS dollar_volume_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('XLB', 'XLC', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')
AND ((window_start >= '2026-06-26 13:30:00' AND window_start < '2026-06-26 20:00:00')
OR (window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'))
GROUP BY ticker
)
SELECT
sector,
ticker,
round((monday_close / friday_close - 1) * 100, 2) AS pct_change,
round((day_high / day_low - 1) * 100, 2) AS range_pct,
dollar_volume_m,
round((monday_close / friday_close - 1) * 100 - min((monday_close / friday_close - 1) * 100) OVER (), 2) AS pct_above_worst_sector
FROM (
SELECT *,
multiIf(ticker = 'XLB', 'Materials',
ticker = 'XLC', 'Communication services',
ticker = 'XLE', 'Energy',
ticker = 'XLF', 'Financials',
ticker = 'XLI', 'Industrials',
ticker = 'XLK', 'Technology',
ticker = 'XLP', 'Consumer staples',
ticker = 'XLRE', 'Real estate',
ticker = 'XLU', 'Utilities',
ticker = 'XLV', 'Health care',
'Consumer discretionary') AS sector
FROM per_etf
)
ORDER BY pct_change DESCTechnology 2.52% के साथ आगे रहा, इसके बाद consumer discretionary 2.37% पर रहा; materials -1.82% और real estate -0.64% पर बंद हुए। सबसे अधिक और सबसे कम प्रदर्शन के बीच का अंतर — यानी दिन का सेक्टर डिस्पर्शन — 4.34 प्रतिशत अंक रहा। इस दिन इंडेक्स के बढ़ने के बावजूद utilities, staples, energy, real estate और materials सभी लाल निशान (negative) में रहे। कंपनियों की संख्या के आधार पर व्यापक, लेकिन भार के आधार पर संकीर्ण: एक इंडेक्स फंड की बढ़त इसी बात को छिपा सकती है।
दिन की मुख्य विशेषता: मेमोरी और स्टोरेज
चार कंपनियों में एक ही विषय पर कारोबार हुआ, लेकिन परिणाम अलग रहे — केवल सह-आंदोलन और परिमाण में अंतर था; डेटा इसके कारण नहीं बताता है।
हर आंकड़े के पीछे का पूरा SQL
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-06-27 00:00:00')) AS friday_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-29 00:00:00')) AS monday_close,
maxIf(toFloat64(high), window_start >= '2026-06-29 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-06-29 00:00:00') AS day_low,
argMinIf(window_start, toFloat64(low), window_start >= '2026-06-29 00:00:00') AS low_bar,
argMaxIf(window_start, toFloat64(high), window_start >= '2026-06-29 00:00:00') AS high_bar
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('MU', 'SNDK', 'STX', 'WDC')
AND ((window_start >= '2026-06-26 13:30:00' AND window_start < '2026-06-26 20:00:00')
OR (window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'))
GROUP BY ticker
)
SELECT
ticker,
round(friday_close, 2) AS jun26_close,
round(monday_close, 2) AS jun29_close,
round((monday_close / friday_close - 1) * 100, 2) AS pct_chg,
round(day_high, 2) AS day_high,
formatDateTime(toTimeZone(high_bar, 'America/New_York'), '%H:%i') AS day_high_et,
round(day_low, 2) AS day_low,
formatDateTime(toTimeZone(low_bar, 'America/New_York'), '%H:%i') AS day_low_et,
round((day_high / day_low - 1) * 100, 2) AS range_pct
FROM per_name
ORDER BY tickerMU रेंज बनाम शुद्ध परिवर्तन (net change) का एक सटीक उदाहरण है: 12.22% इंट्राडे रेंज — 10:18 ET पर $1023.65 का निचला स्तर, और 15:59 पर $1148.79 का उच्च स्तर — फिर भी शुक्रवार के मुकाबले 1.97% की बढ़त के साथ बंद हुआ। Western Digital 11.15% बढ़ा और Seagate 8.17% बढ़ा; SanDisk 10.33% की रेंज में -1.9% के साथ बंद हुआ — इस समूह का एकमात्र निचला स्तर पर बंद होना। क्लोजिंग प्राइस उस उतार-चढ़ाव को छिपा देता है जिससे शेयरधारकों को गुजरना पड़ा।
कहाँ व्यापार हुआ
ट्रेड किए गए डॉलर के मामले में, Micron (MU) सभी से आगे रहा, जिसमें इंडेक्स फंड भी शामिल हैं: SPY के $33.97 billion के मुकाबले $58.47 billion। शेयरों की संख्या के मामले में, स्थिति अलग थी।
हर आंकड़े के पीछे का पूरा SQL
SELECT ticker, leaderboard, dollar_volume_bn, if(dollar_volume_bn < 1, dollar_volume_m, NULL) AS dollar_value_m, shares_m,
round(100 * if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m)
/ max(if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m)) OVER (PARTITION BY leaderboard), 1) AS pct_of_board_leader
FROM (
SELECT
'by dollars traded' AS leaderboard,
ticker,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e6, 0) AS dollar_volume_m,
round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
GROUP BY ticker
ORDER BY dollar_volume_bn DESC
LIMIT 6
UNION ALL
SELECT
'by shares traded' AS leaderboard,
ticker,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e6, 0) AS dollar_volume_m,
round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
GROUP BY ticker
ORDER BY shares_m DESC
LIMIT 4
)
ORDER BY leaderboard ASC, if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m) DESCशेयर संख्या (share-count) के आंकड़े भ्रामक हो सकते हैं: सबसे अधिक शेयरों वाले SOXS (एक 3x-leveraged inverse semiconductor ETF) थे (695.3 million shares), और INLF, एक पेनी स्टॉक जिसके 353.8 million shares की पूरे दिन में कीमत लगभग $23 million थी। डॉलर वॉल्यूम यह दर्शाता है कि पैसा कहाँ चला; relative volume यह दिखाता है कि क्या किसी स्टॉक की गतिविधि उसके अपने पिछले रिकॉर्ड के अनुसार असामान्य है।
30-मिनट के न्यूयॉर्क सत्रों में, 29 जून का वॉल्यूम एक क्लासिक "smile" पैटर्न दिखाता है:
हर आंकड़े के पीछे का पूरा SQL
SELECT
formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
round(sum(toFloat64(volume)) / 1e9, 2) AS shares_bn,
round(100 * sum(toFloat64(volume)) / max(sum(toFloat64(volume))) OVER (), 1) AS pct_of_biggest_bucket,
round(100 * (sum(toFloat64(volume)) / min(sum(toFloat64(volume))) OVER () - 1), 1) AS pct_above_trough
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
GROUP BY et_time
ORDER BY et_timeशुरुआती आधे घंटे में 2.3 billion शेयर, 13:30 पर 0.77 billion का निचला स्तर, और सबसे बड़ा सत्र — 2.39 billion — आखिरी आधे घंटे में, जहाँ closing auctions और इंडेक्स-ट्रैकिंग फ्लो केंद्रित होते हैं।
ऑप्शंस टेप
11.04 मिलियन प्रिंट्स में कुल 66.33 मिलियन कॉन्ट्रैक्ट्स का व्यापार हुआ।
हर आंकड़े के पीछे का पूरा SQL
WITH
(
SELECT (any(underlying_symbol), any(toFloat64(strike_price)), any(option_type),
any(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))),
sum(size), count(), round(avg(toFloat64(price)), 3))
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'
GROUP BY ticker
ORDER BY sum(size) DESC
LIMIT 1
) AS top_contract,
(
SELECT round(toFloat64(argMax(close, window_start)), 2)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
) AS spy_regular_close
SELECT
round(count() / 1e6, 2) AS option_prints_m,
round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
round(100.0 * sumIf(size, option_type = 'C') / sum(size), 1) AS call_pct_of_volume,
round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260629') / sum(size), 1) AS same_day_expiry_pct,
round(toFloat64(sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260702')) / 1e6, 2) AS thu_jul2_expiry_contracts_m,
countIf(substring(ticker, length(ticker) - 14, 6) = '260703') AS fri_jul3_expiry_prints,
countIf(sip_timestamp < '2026-06-29 13:30:00') AS premarket_prints,
reverse(arrayStringConcat(extractAll(reverse(toString(countIf(sip_timestamp < '2026-06-29 13:30:00'))), '[0-9]{1,3}'), ',')) AS premarket_prints_label,
countIf(sip_timestamp < '2026-06-29 13:30:00'
AND underlying_symbol NOT IN ('SPX', 'SPXW', 'XSP', 'RUTW', 'VIX', 'VIXW')) AS premarket_non_index_prints,
arrayStringConcat(arraySort(groupUniqArrayIf(underlying_symbol, sip_timestamp < '2026-06-29 13:30:00')), ', ') AS premarket_underlyings,
round(toFloat64(sumIf(size, underlying_symbol = 'SPY')) / 1e6, 2) AS spy_contracts_m,
round(toFloat64(sumIf(size, underlying_symbol = 'QQQ')) / 1e6, 2) AS qqq_contracts_m,
top_contract.1 AS top_contract_underlying,
top_contract.2 AS top_contract_strike,
top_contract.3 AS top_contract_type,
top_contract.4 AS top_contract_expiry,
top_contract.5 AS top_contract_volume,
reverse(arrayStringConcat(extractAll(reverse(toString(assumeNotNull(top_contract.5))), '[0-9]{1,3}'), ',')) AS top_contract_volume_label,
round(top_contract.7, 3) AS top_contract_avg_price,
round(top_contract.2 - spy_regular_close, 2) AS top_strike_minus_spy_close
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'कुल कॉन्ट्रैक्ट वॉल्यूम में कॉल्स का हिस्सा 55.7% था। उसी सोमवार को एक्सपायर होने वाले कुल ट्रेड का 35.8% हिस्सा था — जीरो-डेज़-टू-एक्सपायरी (0DTE) शेयर। सबसे अधिक ट्रेड होने वाला एकल कॉन्ट्रैक्ट SPY $741 कॉल था: 788,133 कॉन्ट्रैक्ट्स जिनका औसत प्रीमियम $0.474 था। SPY की क्लोजिंग स्ट्राइक से 0.12 डॉलर नीचे रही — दिन का सबसे अधिक ट्रेड होने वाला ऑप्शन 'आउट ऑफ द मनी' समाप्त हुआ। SPY के अंडरलाइंग के रूप में 12.01 मिलियन कॉन्ट्रैक्ट्स ट्रेड हुए; QQQ के 7.32 मिलियन।
पैनल में इक्विटी मार्केट खुलने (9:30) से पहले 40,621 ऑप्शन प्रिंट्स भी शामिल हैं — ये सभी कैश-सेटल होने वाले इंडेक्स रूट (RUTW, SPX, SPXW, VIX, VIXW, XSP) पर थे, जबकि इसी समय के दौरान 0 स्टॉक या ETF ऑप्शन प्रिंट्स हुए। यह कोई संयोग नहीं बल्कि नियम है: इंडेक्स ऑप्शंस में ग्लोबल ट्रेडिंग आवर्स शामिल होते हैं, जबकि स्टॉक और ETF ऑप्शंस स्टॉक मार्केट के साथ ही खुलते हैं। स्टॉक जल्दी ट्रेड होते हैं — प्रीमार्केट और आफ्टर-ऑवर्स ट्रेडिंग देखें — लेकिन उनके ऑप्शंस नहीं।
शुक्रवार, July 3 एक्सपायरी वाला कोई भी कॉन्ट्रैक्ट पूरे दिन ट्रेड नहीं हुआ (0 प्रिंट्स) — क्योंकि उस शुक्रवार को बाजार बंद रहता है — जबकि गुरुवार, July 2 एक्सपायरी का 10.73 मिलियन ट्रेड हुआ।
Quote tape: ट्रेडिंग की लागत
इस पेज पर दी गई प्रत्येक कीमत एक quote stream पर आधारित है — National Best Bid and Offer, जिसे प्रत्येक सूचीबद्ध नाम के लिए लगातार पुन: प्रकाशित किया जाता है। Best bid और best offer के बीच का अंतर, bid-ask spread, वह लागत है जो एक order को पूरा करने के लिए चुकानी पड़ती है।
हर आंकड़े के पीछे का पूरा SQL
SELECT
ticker,
round(count() / 1e6, 2) AS nbbo_updates_m,
round(quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price >= bid_price), 2) AS median_spread_bps,
round(quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price >= bid_price AND sip_timestamp >= '2026-06-29 13:30:00' AND sip_timestamp < '2026-06-29 14:00:00'), 2) AS open_30min_spread_bps,
round(quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price >= bid_price AND sip_timestamp >= '2026-06-29 17:00:00' AND sip_timestamp < '2026-06-29 17:30:00'), 2) AS midday_spread_bps,
round(quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price >= bid_price AND sip_timestamp >= '2026-06-29 13:30:00' AND sip_timestamp < '2026-06-29 14:00:00')
- quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price >= bid_price AND sip_timestamp >= '2026-06-29 17:00:00' AND sip_timestamp < '2026-06-29 17:30:00'), 2) AS open_minus_midday_bps,
countIf(NOT (bid_price > 0 AND ask_price >= bid_price)) AS dropped_invalid_quotes
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'QQQ', 'MU', 'WDC')
AND sip_timestamp >= '2026-06-29 13:30:00' AND sip_timestamp < '2026-06-29 20:00:00'
GROUP BY ticker
ORDER BY tickerSPY की median quoted width इसके mid-price का 0.41 basis points थी, जबकि QQQ के लिए 0.84, Micron के लिए 4.6 और Western Digital के लिए 8.2 थी — इन चारों में सबसे अधिक। $10,000 के order के लिए एक basis point एक डॉलर के बराबर होता है, इसलिए quote पर $10,000 के SPY को खरीदना और तुरंत बेचना लगभग $0.41 की लागत आती है; Western Digital में इसी तरह के round trip की लागत $8.2 है। trade size समान था; केवल stock बदल गया।
चारों stocks के लिए opening half hour में quoted width, midday control window की तुलना में अधिक थी — SPY के लिए 0.41 bps बनाम 0.27, Western Digital के लिए 14.33 बनाम 7.55, यानी सबसे चौड़े stock पर 6.78 bp का opening premium था। Churn का दूसरा हिस्सा यह है: regular hours में SPY पर 3.98 million NBBO updates, और QQQ पर 4.42 million updates हुए।
दरें: कर्व में मामूली बदलाव
Treasuries के लिए सोमवार शांत रहा। Yields दैनिक क्लोजिंग दरें हैं, जो 26 जून के मुकाबले बदलाव दर्शाती हैं।
हर आंकड़े के पीछे का पूरा SQL
SELECT
t.1 AS curve_point,
round(t.2, 2) AS jun29_yield_pct,
round((t.2 - t.3) * 100) AS one_day_change_bp
FROM (
SELECT arrayJoin([
('1 month', toFloat64(mon.yield_1_month), toFloat64(fri.yield_1_month)),
('3 month', toFloat64(mon.yield_3_month), toFloat64(fri.yield_3_month)),
('1 year', toFloat64(mon.yield_1_year), toFloat64(fri.yield_1_year)),
('2 year', toFloat64(mon.yield_2_year), toFloat64(fri.yield_2_year)),
('5 year', toFloat64(mon.yield_5_year), toFloat64(fri.yield_5_year)),
('10 year', toFloat64(mon.yield_10_year), toFloat64(fri.yield_10_year)),
('30 year', toFloat64(mon.yield_30_year), toFloat64(fri.yield_30_year)),
('2s10s spread', toFloat64(mon.yield_10_year - mon.yield_2_year), toFloat64(fri.yield_10_year - fri.yield_2_year))
]) AS t
FROM (SELECT * FROM global_markets.treasury_yields WHERE date = '2026-06-29') AS mon,
(SELECT * FROM global_markets.treasury_yields WHERE date = '2026-06-26') AS fri
)10-year 4.38% पर बंद हुआ, जिसमें दिन भर में कोई बदलाव नहीं हुआ (0 bp), जबकि 3-month bill में 4 bp की वृद्धि हुई और यह 3.87% पर बंद हुआ। 2s10s spread — यानी 10-year में से 2-year को घटाकर — 0.28 प्रतिशत अंक (-3 bp) पर बंद हुआ: यह अभी भी सकारात्मक है, लेकिन थोड़ा सपाट (flatter) है।
दिन के पीछे का कैलेंडर
हर आंकड़े के पीछे का पूरा SQL
WITH
(
SELECT (argMax(d, n), max(n))
FROM (
SELECT ex_dividend_date AS d, count() AS n
FROM global_markets.stocks_dividends
WHERE ex_dividend_date BETWEEN '2026-06-22' AND '2026-07-02'
GROUP BY d
)
) AS peak_ex_div,
(
SELECT (countIf(form_type = '424B2'), countIf(form_type = '4'), countIf(form_type = '8-K'), count())
FROM global_markets.stocks_sec_edgar_index
WHERE filing_date = '2026-06-29'
) AS filings,
(
SELECT (count(), uniqExact(publisher), countIf(has(tickers, 'NVDA')))
FROM global_markets.stocks_news
WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-06-29'
) AS news,
(
SELECT max(n)
FROM (
SELECT t, count() AS n
FROM (
SELECT arrayJoin(tickers) AS t
FROM global_markets.stocks_news
WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-06-29'
)
WHERE t NOT IN ('NVDA', 'SPCX')
GROUP BY t
)
) AS runner_up_articles,
(
SELECT (any(split_from), any(split_to), count())
FROM global_markets.stocks_splits
WHERE ticker = 'HON' AND execution_date = '2026-06-29'
) AS hon_split,
(
SELECT (
round(toFloat64(argMaxIf(close, window_start, window_start < '2026-06-27 00:00:00')), 2),
round(toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-29 00:00:00')), 2)
)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'HON'
AND ((window_start >= '2026-06-26 13:30:00' AND window_start < '2026-06-26 20:00:00')
OR (window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'))
) AS hon_close
SELECT
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-06-29') AS ex_dividend_records_jun29,
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-06-29'
AND ticker IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'GOOGL', 'GOOG', 'META', 'TSLA', 'JPM', 'JNJ',
'XOM', 'KO', 'PG', 'V', 'MA', 'HD', 'WMT', 'CVX', 'MRK', 'PEP',
'SPY', 'QQQ', 'DIA', 'IWM', 'VTI')) AS household_name_ex_dividends,
length(['AAPL', 'MSFT', 'NVDA', 'AMZN', 'GOOGL', 'GOOG', 'META', 'TSLA', 'JPM', 'JNJ',
'XOM', 'KO', 'PG', 'V', 'MA', 'HD', 'WMT', 'CVX', 'MRK', 'PEP',
'SPY', 'QQQ', 'DIA', 'IWM', 'VTI']) AS household_names_checked,
concat(monthName(peak_ex_div.1), ' ', toString(toDayOfMonth(peak_ex_div.1))) AS busiest_ex_div_day_of_window,
peak_ex_div.2 AS busiest_ex_div_day_records,
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date = '2026-06-29') AS splits_executed,
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-06-29') AS ipos_listed_jun29,
(SELECT arrayStringConcat(groupArray(ticker), ', ') FROM (
SELECT ticker FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-01' ORDER BY ticker
)) AS jul1_ipo_debuts,
filings.4 AS sec_filings,
filings.1 AS prospectus_424b2_filings,
filings.2 AS insider_form4_filings,
filings.3 AS filings_8k,
news.1 AS news_articles,
news.2 AS news_publishers,
news.3 AS nvda_articles,
runner_up_articles AS next_most_covered_articles,
news.3 - runner_up_articles AS nvda_minus_next_most_covered,
hon_split.3 AS hon_split_records,
hon_split.1 AS hon_split_from,
hon_split.2 AS hon_split_to,
hon_close.1 AS hon_close_jun26,
hon_close.2 AS hon_close_jun29449 लाभांश रिकॉर्ड 29 जून को ex-dividend हो गए — स्टॉक को इसकी ex-dividend तिथि से पहले खरीदें, अन्यथा भुगतान आपको नहीं मिलेगा — फिर भी हमने 25 प्रसिद्ध ब्रांडों की जांच की, जिनमें से 0 सामने आए। तिमाही के अंत की लहर July 1 को 745 रिकॉर्ड्स के साथ अपने चरम पर थी। 23 स्टॉक विभाजन (splits) पूरे हुए और 0 IPO सूचीबद्ध हुए; बुधवार के डेब्यू (BSP, ITG, LIME) पहले से ही कैलेंडर में शामिल हैं।
SEC ने 29 जून की तारीख वाले 6173 दस्तावेज़ दर्ज किए: 1473 स्ट्रक्चर्ड-प्रोडक्ट प्राइसिंग सप्लीमेंट्स (फॉर्म 424B2) और 1277 इनसाइडर-ट्रेड रिपोर्ट (फॉर्म 4) की संख्या उन 231 8-Ks से कहीं अधिक है जो सुर्खियों में रहते हैं। हमारे न्यूज़ फीड में 3 प्रकाशकों के 170 लेख थे; एक अस्पष्ट रूप से टैग किए गए पुन: उपयोग किए गए सिंबल (जिसे क्वेरी से हटा दिया गया था) को छोड़कर, सबसे अधिक कवर किया गया नाम NVDA था, जिसके 14 लेख थे, जबकि दूसरे स्थान पर 12 लेख थे।
डेटा नोट्स
असामान्य डेटा पर नोट दिया जाता है, उसे कभी भी बिना सूचना के हटाया नहीं जाता — ये चार बिंदु मुख्य आंकड़ों को प्रभावित करते हैं।
- सेक्टर बास्केट एक घोषित पद्धति है। "Sector" का अर्थ eleven SPDR sector ETFs है, जो market-value-weighted हैं — ये हर सत्र में समान रहते हैं, न कि किसी वेंडर का per-ticker वर्गीकरण।
- Dollar volume एक per-minute प्रॉक्सी है — यह प्रति मिनट बार के लिए (close × volume) का योग है, जो print values के योग के बहुत करीब है लेकिन उसके समान नहीं है।
- Quoted spreads में अमान्य quotes शामिल नहीं हैं (एकतरफा या crossed NBBO रिकॉर्ड); पैनल उन रिकॉर्ड्स की गिनती करता है जिन्हें हटाया गया है (SPY पर 1544)। Median quoted width एक quoting statistic है, न कि per-trade लागत — ऑर्डर अक्सर quote के अंदर निष्पादित होते हैं।
- एक अकेला print किसी मिनट बार के high या low को प्रभावित कर सकता है। QQQ का 11:07 ET बार $709.58 का low दिखाता है, जबकि आस-पास के किसी भी बार ने $715.09 से नीचे का स्तर नहीं छुआ — एक print समकालीन बाजार से $5.51 नीचे था। ऊपर के प्रत्येक high और low की आस-पास के bars के साथ जांच की गई थी; QQQ का $705.172 session low सही पाया गया।
विस्तृत डेटा नोट्स
- Treasury coverage स्कीमा से कम है। चार विज्ञापित maturities (6-month, 3-, 7- और 20-year) में कभी डेटा नहीं भरा गया; कर्व मौजूद सात maturities और 2s10s row को दिखाता है।
- Honeywell का एक "reverse split" डेटा विरोधाभास है। फीड में 29 जून का 1 HON रिकॉर्ड है: एक reverse split जो 2 पुराने शेयरों को 1 नए शेयरों में बदलता है। HON शुक्रवार को $231.3 और सोमवार को $227.71 पर बंद हुआ — कोई doubling नहीं हुई। हमने इसे लागू नहीं किया।
- News count एक वेंडर का फीड है, जिसे हम 3 publishers के माध्यम से प्रदान करते हैं — यह "सभी बाजार समाचार" नहीं है।
- Tick-level receipts — crossed quotes, phantom-volume correction, और truncated FINRA short-volume file (और क्यों short volume, short interest नहीं है) — deep dive में उपलब्ध हैं।
सत्र, सत्यापित
हर आंकड़े के पीछे का पूरा SQL
WITH
(
SELECT (
round(toFloat64(minIf(low, formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') = '11:07')), 2),
round(toFloat64(minIf(low, formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') IN ('11:04', '11:05', '11:06', '11:08', '11:09', '11:10'))), 2)
)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'QQQ' AND window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
) AS qqq_lone
SELECT
(SELECT count() FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-03 00:00:00' AND window_start < '2026-07-04 00:00:00') AS jul3_spy_bars,
formatDateTime(min(toTimeZone(window_start, 'America/New_York')), '%H:%i') AS first_spy_bar_et,
formatDateTime(max(toTimeZone(window_start, 'America/New_York')), '%H:%i') AS last_spy_bar_et,
count() AS spy_minute_bars,
countIf(window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00') AS regular_session_bars,
qqq_lone.1 AS qqq_1107_lone_low,
qqq_lone.2 AS qqq_1107_adjacent_bars_low,
round(qqq_lone.2 - qqq_lone.1, 2) AS qqq_lone_print_below_adjacent
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-06-29 00:00:00' AND window_start < '2026-06-30 00:00:00'SPY के बार्स न्यूयॉर्क समय के अनुसार 04:00 से 19:59 तक चलते हैं, जिनमें ठीक 390 रेगुलर-विंडो बार्स होते हैं — एक पूर्ण सत्र, जिसे टेप से सत्यापित किया गया है (एक्सचेंज-कैलेंडर डेटासेट में केवल आगामी क्लोजर शामिल होते हैं)। उस शुक्रवार, 3 जुलाई को पूर्ण क्लोजर था — 0 SPY बार्स पूरे दिन प्रिंट हुए, क्योंकि 4 जुलाई को शनिवार था; चार-सत्र वाले सप्ताह का अपना रिकैप यहाँ है।
FAQ
29 जून, 2026 को शेयर बाजार का प्रदर्शन कैसा रहा?
ग्रोथ शेयरों के नेतृत्व में बाजार में बढ़त देखी गई: QQQ 2.57% ऊपर बंद हुआ, SPY 1.62%, DIA 0.81% और IWM 0.45% भी बढ़त के साथ बंद हुए। कुल 62.3% टिकर्स में से $1m या उससे अधिक वॉल्यूम वाले टिकर्स बढ़त के साथ बंद हुए।
क्या 29 जून, 2026 Nasdaq के लिए एक बड़ा दिन था?
दिन बड़ा था, लेकिन असाधारण नहीं: QQQ के 2.57% क्लोज-ओवर-क्लोज मूवमेंट ने पिछले महीने के 21 सत्रों में पूर्ण आकार (absolute size) के आधार पर 5 स्थान प्राप्त किया, जबकि महीने का उच्चतम स्तर 4.76% था।
29 जून, 2026 को किन सेक्टरों ने नेतृत्व किया?
ग्यारह SPDR सेक्टर बास्केट में टेक्नोलॉजी (2.52%) और कंज्यूमर डिस्क्रीशनरी (2.37%) ने नेतृत्व किया; मटेरियल्स -1.82% स्थान पर रहा, जो 4.34 प्रतिशत अंकों का अंतर है। यूटिलिटीज, स्टैपल्स, एनर्जी और रियल एस्टेट भी गिरावट के साथ बंद हुए।
29 जून, 2026 को ऑप्शंस वॉल्यूम में 0DTE का हिस्सा कितना था?
सेम-डे एक्सपायरी वाले कॉन्ट्रैक्ट्स 66.33 मिलियन कुल कॉन्ट्रैक्ट्स का 35.8% हिस्सा थे; सबसे व्यस्त सिंगल कॉन्ट्रैक्ट, एक सेम-डे SPY $741 कॉल (788,133 कॉन्ट्रैक्ट्स) था, जो आउट ऑफ द मनी बंद हुआ।
स्टॉक मार्केट खुलने से पहले ऑप्शंस क्यों ट्रेड किए जाते हैं?
केवल इंडेक्स ऑप्शंस ही ट्रेड होते हैं। 29 जून को सुबह 9:30 a.m. ET से पहले के सभी 40,621 ऑप्शन प्रिंट्स कैश-सेटलड इंडेक्स रूट्स (RUTW, SPX, SPXW, VIX, VIXW, XSP) पर आधारित थे, जिनमें विस्तारित ग्लोबल-ट्रेडिंग-ऑवर्स सत्र शामिल हैं; उस समय सीमा में स्टॉक और ETF ऑप्शन प्रिंट्स की संख्या 0 थी।
कार्यप्रणाली
- टाइमस्टैम्प UTC में संग्रहीत हैं, जिन्हें क्वेरी के भीतर न्यूयॉर्क समय में परिवर्तित किया गया है। "Close" का अर्थ नियमित सत्र का अंतिम मिनट बार है, न कि ऑक्शन प्रिंट; दिन के बदलाव की तुलना 29 जून और 26 जून के बीच की गई है, और सत्र को देखे गए बार स्पैन से सत्यापित किया गया था।
- पिछले महीने की रैंकिंग के लिए नियमित घंटों के क्लोज-ओवर-क्लोज मूव्स का उपयोग किया जाता है, जिसमें पहला सत्र हटा दिया गया है (क्योंकि विंडो के भीतर कोई पिछला क्लोज नहीं था)। ऑप्शन एक्सपायरी को OCC टिकर से पुन: पार्स किया गया है (तालिका का अपना एक्सपायरी कॉलम त्रुटिपूर्ण है)।
- प्रत्येक पैनल को लेखक के समय में, गेटेड रीड-ओनली पाथ के माध्यम से एक बार पढ़ा जाता है। 13 जुलाई, 2026 तक वेयरहाउस की स्थिति।
प्रत्येक पैनल एक संग्रहीत क्वेरी परिणाम है — चार्ट, तालिका और SQL एक ही ऑब्जेक्ट में। इनमें से किसी को भी Strasmore टर्मिनल में पेस्ट करें। अगला सत्र: 30 जून।