סיכום שוק 29 ביוני 2026 — היום במספרים
עלייה בהובלת צמיחה: QQQ זינק, SPY עלה, אך כמעט חצי מסקטורי ה-S&P נסגרו באדום. צלילה למיקרו-מבנה, מרווחי סקטור צרים ומניית זיכרון בתנופה – כל נתון גולמי ממתין לניתוחך.
יום שני, 29 ביוני 2026 היה יום עליות בהובלת מניות צמיחה עם רצועת הובלה צרה: QQQ עלה 2.57%, SPY 1.62%, 3968 מניות נזילות עלו לעומת 2327 יורדות — ובכל זאת כמעט מחצית מסלי הסקטור נסגרו באדום. כל מספר נקרא משאילתה שמורה; הרחב כל פאנל ל-SQL. שכבת הנתונים מפקודה לפקודה של אותו מסחר: צלילת המיקרו-מבנה של 29 ביוני.
לוח התוצאות
כל שינוי משווה את דקת המסחר האחרונה ב-29 ביוני לזו של יום שישי, 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. הפער בין עלייה של 2.57% ב-QQQ לעלייה של 0.81% ב-DIA מסמן יום של צמיחה וטכנולוגיה; מדד החברות הקטנות IWM הוסיף 0.45%.
האם היום היה חריג?
שינוי באחוזים חסר משמעות ללא קנה מידה. פאנל זה מדרג את 29 ביוני מול החודש העוקב לפי גודל מוחלט של שינוי מסגירה לסגירה.
ה-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)גדול, לא שיא: המהלך של 2.57% ב‑QQQ מדורג 5 מתוך 21 ימי המסחר מאז May 29, 2026, בחודש שהמהלך היומי הגדול ביותר בו נמדד ב‑4.76%; המהלך של 1.62% ב‑SPY מדורג 4 מתוך 21. מקור המהלך משנה: השחיקה מפתיחה לסגירה ב‑SPY הייתה 0.59% בלבד, כך שרוב העלייה הגיעה בפער הלילה, לפני שנסחרה ולו שעה רגילה אחת. QQQ נסגר בעלייה ב‑10 מימי המסחר הללו: חודש של הטלת מטבע.
רוחב: עד כמה רחב היה העלייה?
מניה עולה היא מניה שמחיר הסגירה שלה ביום שני עלה על מחיר הסגירה ביום שישי, מבין המניות שנסחרו בהיקף של לפחות מיליון דולר — סינון שמפיל 5,108 מתוך 11,475 מניות הנסחרות בשני מושבים.
ה-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 עולות, 2327 יורדות, 72 ללא שינוי: 62.3% מהשוק הסחיר עלו — בספירה של מניה אחר מניה, יום רחב.
מגזר למגזר: העלייה הייתה צרה ממה שנראה
ספירת מניות באופן שווה היא נקודת מבט אחת; שקלולן לפי גודל החברה היא נקודת מבט אחרת. אחת-עשרה תעודות הסל המגזריות של SPDR הן קיצור הדרך לשנייה — סל אחד משוקלל שווי-שוק לכל מגזר במדד S&P 500. הן חלוקות בחריפות עם ספירת הרוחב.
ה-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 DESCהטכנולוגיה הובילה ב-2.52%, מניות הצריכה המחזורית אחריה ב-2.37%; חומרי גלם סגרו ב--1.82% ונדל"ן ב--0.64%. הפער בין הטוב ביותר לגרוע ביותר — פיזור המגזרים היומי — עמד על 4.34 נקודות אחוז, כאשר תשתיות, מוצרי צריכה בסיסיים, אנרגיה, נדל"ן וחומרי גלם כולם באדום ביום שבו המדד עלה. רחב לפי ספירת מניות, צר לפי משקל: זה מה שעליית קרן מחקה יכולה להסתיר.
הכותרת המרכזית של היום: זיכרון ואחסון
ארבע מניות נסחרו סביב אותו נושא עם תוצאות שונות מאוד — מדובר רק בתנועה משותפת ובעוצמתה; הנתונים אינם מסבירים מדוע.
ה-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 tickerמניית MU היא דוגמה מובהקת להבדל בין טווח המסחר לשינוי נטו: טווח תוך-יומי של 12.22% — שפל של $1023.65 בשעה 10:18 שעון החוף המזרחי, שיא של $1148.79 בשעה 15:59 — ובכל זאת סגירה 1.97% מעל יום שישי. וסטרן דיגיטל עלתה 11.15% וסיגייט 8.17%; סאנדיסק נסגרה -1.9% על פני טווח של 10.33% — הסגירה השלילית היחידה בקבוצה. שער הסגירה מסתיר את מה שחוו המחזיקים במהלך היום.
היכן נסחר הכסף
לפי דולרים שנסחרו, מיקרון (MU) התנשאה מעל הכול, כולל קרנות מדד: 58.47 מיליארד דולר לעומת 33.97 מיליארד דולר של SPY. לפי מספר מניות, יום שונה.
ה-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לוחות כמות מניות מטעים: המובילות בכמות היו SOXS, תעודת סל ממונפת פי 3 בחסר על מוליכים למחצה (695.3 מיליון מניות), ו־INLF, מניית פרוטות ש־353.8 מיליון המניות שלה היו שוות כ־23 מיליון דולר במשך כל היום. נפח דולרי מראה לאן הכסף זז; נפח יחסי מראה אם הפעילות בנייר חריגה עבורו.
בחיתוכים של 30 דקות לפי שעון ניו יורק, 29 ביוני משרטט את "חיוך" הנפח הקלאסי:
ה-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_time2.3 מיליארד מניות בחצי השעה הראשונה, שפל של 0.77 מיליארד בשעה 13:30, והחיתוך הגדול ביותר — 2.39 מיליארד — בחצי השעה האחרונה, שבה מכרזי נעילה ותזרימי מעקב מדדים מתרכזים.
קלטת האופציות
נסחרו 66.33 מיליון חוזים של אופציות על פני 11.04 מיליון הדפסות.
ה-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 מיליון.
הפאנל סופר גם 40,621 הדפסות אופציות לפני פתיחת שוק המניות ב-9:30 — כל אחת על שורש מדד בסילוק מזומן (RUTW, SPX, SPXW, VIX, VIXW, XSP), עם 0 הדפסות של אופציות מניות או תעודות סל באותו חלון. זהו הכלל, לא מקרה: אופציות מדד מציעות סשנים מורחבים בשעות מסחר גלובליות, אופציות על מניות ותעודות סל נפתחות עם שוק המניות. המניות נסחרות מוקדם — ראו מסחר טרום-פתיחה ולאחר-סגירה — האופציות שלהן לא.
שום חוזה עם קוד פקיעה של יום שישי, 3 ביולי לא הודפס במשך כל היום (0 הדפסות) — השוק סגור באותו יום שישי — בעוד שפקיעת יום חמישי, 2 ביולי סחרה 10.73 מיליון.
קלטת הציטוטים: מה עלה לסחור במהלך היום
כל מחיר בדף הזה יושב על זרם ציטוטים — הצעת הקנייה והמכירה הלאומית הטובה ביותר, שמתפרסמת מחדש ברציפות עבור כל נייר רשום. הפער בין הצעת הקנייה הטובה ביותר להצעת המכירה הטובה ביותר, פער הציטוט, הוא מה שפקודה משלמת כדי לחצות.
ה-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 tickerרוחב הציטוט החציוני של SPY היה 0.41 נקודות בסיס ממחיר האמצע שלו, לעומת 0.84 עבור QQQ, 4.6 עבור מיקרון ו-8.2 עבור וסטרן דיגיטל — הרחב ביותר מבין הארבעה. נקודת בסיס אחת על פקודה של 10,000 דולר היא דולר אחד, כך שקנייה ומכירה מיידית של 10,000 דולר של SPY לפי הציטוט עולה בערך $0.41; אותו סבב הלוך-ושוב בווסטרן דיגיטל עולה $8.2. גודל העסקה לא השתנה; השם כן.
כל הארבעה ציטטו ברוחב גדול יותר בחצי השעה הראשונה מאשר בחלון הביקורת של אמצע היום — SPY 0.41 נ"ב לעומת 0.27, וסטרן דיגיטל 14.33 לעומת 7.55, פרמיית פתיחה של 6.78 נ"ב על השם הרחב ביותר. התחלופה היא החצי השני: 3.98 מיליון עדכוני NBBO על SPY בשעות הרגילות, 4.42 מיליון על QQQ.
אג״ח ממשלתיות: העקום כמעט לא זז
יום שני שקט באג״ח הממשלתיות. התשואות הן שערי סגירה יומיים, ביחס ל-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 שנים נסגרה בתשואה של 4.38%, ללא שינוי יומי (0 נ״ב), בעוד המק״מ ל-3 חודשים הוסיף 4 נ״ב ל-3.87%. פער ה-2 מול ה-10 — התשואה ל-10 שנים פחות התשואה לשנתיים — נסגר ב-0.28 נקודות אחוז (-3 נ״ב): עדיין חיובי, מעט שטוח יותר.
לוח השנה שמאחורי היום
ה-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 ביוני — החזק את המניה לפני תאריך האקס-דיבידנד שלה או שהתשלום אינו שלך — אך מבין 25 שמות מוכרים שבדקנו, 0 הופיעו. גל סוף הרבעון הגיע לשיא של 745 רשומות ב-July 1. 23 פיצולי מניות בוצעו ו-0 הנפקות ראשוניות נרשמו, ההנפקות של יום רביעי (BSP, ITG, LIME) כבר בלוח השנה.
ה-SEC רשם 6173 הגשות מתאריך 29 ביוני: 1473 תוספי תמחור למוצרים מובנים (טופס 424B2) ו-1277 דוחות סחר של אנשי פנים (טופס 4) מגמדים את 231 דוחות ה-8-K שתופסים כותרות. פיד החדשות שלנו הכיל 170 כתבות מ-3 מפרסמים; למעט סימול אחד בשימוש חוזר שתויג באופן מעורפל (הושמט בשאילתה), השם שזכה לסיקור הרב ביותר היה NVDA עם 14 כתבות לעומת 12 של המתחרה הקרוב.
הערות על הנתונים
נתונים חריגים מקבלים הערה, לעולם לא מושמטים בשקט — ארבעת אלו נוגעים במספרים הראשיים.
- סלי הסקטורים הם שיטה מוצהרת. "סקטור" משמעו אחת-עשרה תעודות הסל הסקטוריאליות של SPDR, משוקללות לפי שווי שוק — אותם שמות בכל יום מסחר, לא סיווג לפי תעודת זיהוי של ספק חיצוני.
- היקף דולרי הוא קירוב לפי דקה — מחיר סגירה × נפח, מסוכם לכל פס דקה, קרוב אך לא זהה לסכום ערכי העסקאות.
- מרווחים מצוטטים אינם כוללים ציטוטים פסולים (רשומות NBBO חד-צדדיות או מוצלבות); הפאנל סופר את מה שהשמיט (1544 על SPY). חציון רוחב ציטוט הוא מדד סטטיסטי של ציטוט, לא עלות לעסקה — פקודות מבוצעות לעיתים קרובות בתוך הציטוט.
- עסקה בודדת עלולה לזהם את השפל או השיא של פס דקה. הפס של QQQ בשעה 11:07 שעון החוף המזרחי נושא שפל של $709.58 בעוד שאף פס סמוך לא ירד מתחת ל-$715.09 — עסקה אחת $5.51 מתחת לשוק באותו הזמן. כל שיא ושפל מעלה נבדקו מול הפסים הסמוכים; השפל היומי של QQQ, $705.172, עבר את הבדיקה.
הערות נתונים מלאות
- כיסוי אג"ח ממשלתיות דליל יותר מהסכֵמה. ארבע מח"מים מפורסמים (6 חודשים, 3, 7 ו-20 שנה) מעולם לא אוישו; העקומה מציגה את השבעה שקיימים, בתוספת שורת 2s10s.
- "איחוד מניות הפוך" של האניוול שהטייפ סותר. הפיד נושא רשומת 1 HON מתאריך 29 ביוני: איחוד מניות הפוך הממיר 2 מניות ישנות ל-1 חדשות. HON נסגר ב-$231.3 ביום שישי וב-$227.71 ביום שני — ללא הכפלה. לא החלנו אותו.
- ספירת החדשות היא מפיד של ספק אחד, 3 המפרסמים שאנו נושאים — לא "כל חדשות השוק".
- נתוני הקבלה ברמת הטיק — ציטוטים מוצלבים, תיקון נפח-הרפאים, קובץ הנפח הקצר הקטום של FINRA (ומדוע נפח שורט אינו שורט אינטרסט) — נמצאים ב-צלילה לעומק.
המסחר ביום זה, מאומת
ה-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 ביולי חל בשבת; לשבוע בן ארבעת הימים יש סיכום משלו.
שאלות נפוצות
כיצד התנהג שוק המניות ב-29 ביוני 2026?
יום עליות בהובלת מניות צמיחה: QQQ סגר 2.57% מעל יום שישי, SPY 1.62%, DIA 0.81% ו-IWM 0.45%, כאשר 62.3% מהמניות שנסחרו במיליון דולר ומעלה סיימו בעלייה.
האם 29 ביוני 2026 היה יום משמעותי עבור הנאסד"ק?
משמעותי, לא חריג: השינוי של QQQ מסגירה לסגירה בשיעור 2.57% דורג במקום 5 מבין 21 ימי המסחר של החודש החולף לפי גודל מוחלט, לעומת שיא חודשי של 4.76%.
אילו סקטורים הובילו ב-29 ביוני 2026?
טכנולוגיה (2.52%) וצריכה מחזורית (2.37%) הובילו את אחת-עשרה סלי הסקטור של SPDR; חומרי גלם היה אחרון עם -1.82%, פער של 4.34 נקודות אחוז. תשתיות, צריכה בסיסית, אנרגיה ונדל"ן גם הם סגרו בירידה.
איזה חלק מנפח האופציות ב-29 ביוני 2026 היה 0DTE?
פקיעות לאותו יום היוו 35.8% מתוך 66.33 מיליון החוזים שנסחרו; החוזה הבודד העמוס ביותר, אופציית רכש (call) יומית על SPY במימוש $741 (788,133 חוזים), סיים מחוץ לכסף.
מדוע אופציות נסחרות לפני פתיחת שוק המניות?
רק אופציות מדד עושות זאת. כל 40,621 העסקאות באופציות לפני 9:30 בבוקר שעון החוף המזרחי ב-29 ביוני היו על מדדים בסיסיים בסילוק מזומן (RUTW, SPX, SPXW, VIX, VIXW, XSP), שמציעים סשנים מורחבים של שעות מסחר גלובליות; עסקאות באופציות על מניות וקרנות סל בחלון זה הסתכמו ב-0.
מתודולוגיה
- חותמות הזמן נשמרות ב-UTC ומומרות לשעון ניו יורק בתוך השאילתות. "סגירה" היא נר הדקה האחרון של המסחר הרציף, לא ההדפסה במכרז הנעילה; השוואת ימים משווה את 29 ביוני מול 26 ביוני, והסשן אומת לפי טווח הנרות שנצפה.
- דירוג החודש העוקב משתמש בתנועות מסגירה לסגירה במסחר הרציף, כשהסשן הראשון מושמט (אין שער סגירה קודם בתוך החלון). פקיעות האופציות מפוענחות מחדש מהטיקר של OCC (עמודת הפקיעה בטבלה עצמה מקולקלת).
- כל לוח נקרא פעם אחת, בזמן הכתיבה, דרך נתיב הקריאה בלבד המגודר. מצב המחסן נכון ל-13 ביולי 2026.
כל לוח הוא תוצאת שאילתה שמורה — גרף, טבלה ו-SQL באובייקט אחד. הדבק כל אחד מהם במסוף Strasmore. הסשן הבא: 30 ביוני.