Market Recap: July 7, 2026, The Day in Numbers
Advancers vs decliners among tickers with at least $1M traded on July 7scalar ·
2026-07-26 · 1×72,091
Market Recap: July 6, 2026, The Day in Numbers
Shares traded per 30-minute bucket, regular hours (billions)series ·
2026-07-26 · 13×3
Volume leaders two ways: top 6 by dollars traded, top 4 by shares traded (one reused-symbol listing excluded pending entity verification)table ·
2026-07-26 · 10×5
Session check: SPY's observed minute-bar span, the July 3 closure, and the next one on the calendarscalar ·
2026-07-26 · 1×8917
The eleven sector ETFs: July 6 vs the July 2 close, split into gap and intradaytable ·
2026-07-26 · 11×6
The touch at the gap open: median quoted spread and quote rate, 9:30–9:42 ET vs a midday control (12 minutes each)table ·
2026-07-26 · 10×9
One row for the whole options day: volume, call share, and the Monday same-day expiryscalar ·
2026-07-26 · 1×1610.53
Every split executed July 6, with its unadjusted close before and after (splits with no regular-session tape on both sides are dropped)table ·
2026-07-26 · 12×7
The treasury curve: July 6 vs the July 2 print (populated maturities only)ranking ·
2026-07-26 · 8×3
SPY's open-to-close move ranked against the trailing month of sessions (rank 1 = biggest absolute move)scalar ·
2026-07-26 · 1×40.34
SPY's update-weighted average quoted spread: July 6 ranked against the trailing month (rank 1 = tightest)scalar ·
2026-07-26 · 1×71.815
SPY / QQQ / DIA / IWM: July 6 vs the July 2 close, regular hourstable ·
2026-07-26 · 4×10
The whole equity NBBO stream: July 6 vs the July 2 session, and where Monday's quotes clusteredscalar ·
2026-07-26 · 1×6391.96
The memory and storage names: change vs Thursday's close, range timing, and dollar volumetable ·
2026-07-26 · 4×10
Megacap rotation: change vs Thursday's close, range timing, and dollar volumetable ·
2026-07-26 · 4×10
July 6's corporate calendar and information flow, in one row (including the reverse-split wall behind a screener trap)scalar ·
2026-07-26 · 1×12119
Advancers vs decliners among tickers with at least $1M traded on July 6scalar ·
2026-07-26 · 1×73,861
Market Recap: July 2, 2026, The Day in Numbers
Shares traded per 30-minute bucket, regular hours (billions)series ·
2026-07-26 · 13×3
Volume leaders two ways: top 6 by dollars traded, top 4 by shares traded (one reused-symbol listing excluded pending entity verification)table ·
2026-07-26 · 10×6
Session check: SPY's observed minute-bar span, and the July 3 closure on the tapescalar ·
2026-07-26 · 1×6886
Median quoted spread in basis points, regular hours: index ETFs, megacaps, and the memory namestable ·
2026-07-26 · 8×6
One row for the whole options day: volume, same-day expiry, the holiday-shifted week, and the July monthlyscalar ·
2026-07-26 · 1×1913.15
After the holiday: the next session, its ex-dividends and splits, the next scheduled closure, and the short-interest lagscalar ·
2026-07-26 · 1×9390
The session's curve print: July 2 vs July 1 (populated maturities only)ranking ·
2026-07-26 · 8×3
The receipt: the July 2 treasury print is on filescalar ·
2026-07-26 · 1×21
SPY and QQQ ranked against the trailing month of sessions (rank 1 = biggest absolute move)scalar ·
2026-07-26 · 1×7-0.35
Was liquidity unusual? SPY's regular-hours median spread vs the trailing month of sessionsscalar ·
2026-07-26 · 1×60.27
The eleven SPDR sector ETFs: July 2 close vs July 1 close, regular hourstable ·
2026-07-26 · 11×6
SPY / QQQ / DIA / IWM: July 2 vs the July 1 close, regular hourstable ·
2026-07-26 · 4×8
Stocks NBBO update count: July 2 vs July 1, with named-ticker updates (millions)scalar ·
2026-07-26 · 1×6597.22
The memory and storage names: change vs Wednesday's close, range timing, and dollar volumetable ·
2026-07-26 · 4×10
Megacap rotation: change vs Wednesday's close, range timing, and dollar volumetable ·
2026-07-26 · 4×10
July 2's corporate calendar and information flow, in one row (including the eight splits behind one fake screener move)scalar ·
2026-07-26 · 1×20322
Advancers vs decliners among tickers with at least $1M traded on July 2scalar ·
2026-07-26 · 1×113,398
Market Recap: July 1, 2026, The Day in Numbers
Volume leaders two ways: top 6 by dollars traded, top 4 by shares traded (one reused-symbol listing excluded pending entity verification)table ·
2026-07-26 · 10×6
Session check: SPY's observed minute-bar spanscalar ·
2026-07-26 · 1×6893
One row for the whole options day: volume, same-day expiry, put/call skew, and the busiest contractscalar ·
2026-07-26 · 1×2111.22
The day's last twelve news articles tagging MU, SNDK, STX, WDC or META (one licensed feed)table ·
2026-07-26 · 12×4
The biggest names going ex-dividend on July 1, ranked by the day's dollar volumetable ·
2026-07-26 · 8×7
July 1's corporate calendar and information flow, in one rowscalar ·
2026-07-26 · 1×14746
The volatility complex on July 1: VIX-futures ETFs vs Tuesday's close, with SPY as the anchortable ·
2026-07-26 · 5×5
The Treasury curve, July 1 close vs June 30 (populated maturities only)ranking ·
2026-07-26 · 8×3
SPY's open-to-close move ranked against the trailing month of sessions (rank 1 = biggest absolute move)scalar ·
2026-07-26 · 1×40.09
The memory complex and the megacaps: change vs Tuesday's close, range timing, and dollar volumetable ·
2026-07-26 · 8×9
The eleven S&P sector ETFs on July 1, best to worst vs Tuesday's closetable ·
2026-07-26 · 11×7
SPY / QQQ / DIA / IWM: July 1 vs the June 30 close, regular hourstable ·
2026-07-26 · 4×8
Every quarter-opening session since 2004: SPY's open-to-close move, with July 1 ranked inside itscalar ·
2026-07-26 · 1×991
Advancers, decliners, and new quarterly highs vs lows among tickers with at least $1M traded on July 1scalar ·
2026-07-26 · 1×122,928
Market Recap: June 30, 2026, The Day in Numbers
Shares traded per 30-minute bucket, regular hours (billions)series ·
2026-07-26 · 13×3
Volume leaders two ways: top 6 by dollars traded, top 4 by shares traded (one reused-symbol listing excluded pending entity verification)table ·
2026-07-26 · 10×6
Session check: SPY's observed minute-bar spanscalar ·
2026-07-26 · 1×5860
The six busiest option contracts of June 30, by contracts tradedseries ·
2026-07-26 · 6×7
One row for the whole options day: volume, same-day expiry, SPY's put/call skew by moneyness, the holiday-shifted weekscalar ·
2026-07-26 · 1×2010.06
The news feed on June 30: article count and the day's last headline for each name in this recapseries ·
2026-07-26 · 7×5
The Treasury curve, June 30 close vs June 29 (populated maturities only)ranking ·
2026-07-26 · 8×3
SPY's open-to-close move ranked against the trailing month of sessions (rank 1 = biggest absolute move)scalar ·
2026-07-26 · 1×40.68
The semiconductor and storage names: change vs Monday's close, range, and dollar volumetable ·
2026-07-26 · 6×10
The ten S&P sector funds on June 30: change vs Monday's close, and how far each sat behind the leadertable ·
2026-07-26 · 10×7
SPY / QQQ / DIA / IWM: June 30 vs the June 29 close, regular hourstable ·
2026-07-26 · 4×8
Q2 2026 end to end: each index ETF from the April 1 open to the June 30 close, regular hoursseries ·
2026-07-26 · 4×7
Top 5 gainers and top 5 decliners among names with $10M+ traded on June 30 (one reused-symbol listing excluded)table ·
2026-07-26 · 10×8
Crypto-adjacent financials: change vs Monday's close, range, and dollar volumetable ·
2026-07-26 · 4×10
June 30's corporate calendar and information flow, in one row (the filing-index gap on display)scalar ·
2026-07-26 · 1×12704
Advancers vs decliners among tickers with at least $1M traded on June 30scalar ·
2026-07-26 · 1×93,349
Market Recap: June 29, 2026, The Day in Numbers
Shares traded per 30-minute bucket, regular hours (billions)series ·
2026-07-26 · 13×4
Volume leaders two ways: top 6 by dollars traded, top 4 by shares tradedtable ·
2026-07-26 · 10×6
The Treasury curve, June 29 close vs June 26 (populated maturities only)ranking ·
2026-07-26 · 8×3
QQQ and SPY: June 29 ranked against the trailing month of sessions (rank 1 = biggest absolute move)scalar ·
2026-07-26 · 1×102.57
Session check: SPY's observed minute-bar span, and the Friday closure on the tapescalar ·
2026-07-26 · 1×80
The eleven sector baskets: June 29 vs the June 26 close, regular hourstable ·
2026-07-26 · 11×6
SPY / QQQ / DIA / IWM: June 29 vs the June 26 close, regular hourstable ·
2026-07-26 · 4×9
What it cost to cross the spread: NBBO updates and median quoted width, regular hourstable ·
2026-07-26 · 4×7
One row for the whole options day: volume, 0DTE, the holiday-shifted weekscalar ·
2026-07-26 · 1×2011.04
The memory/storage names: change vs Friday's close and intraday rangetable ·
2026-07-26 · 4×9
June 29's corporate calendar and information flow, in one rowscalar ·
2026-07-26 · 1×22449
Advancers vs decliners among tickers with at least $1M traded on June 29scalar ·
2026-07-26 · 1×93,968
Market Order vs Limit Order, Measured
AAPL options vs. AAPL stock: median quoted spread, same regular session, July 8, 2026scalar ·
2026-07-26 · 1×5606
How far SPY moved inside a single minute: average one-minute high-to-low range by time of day, July 8, 2026scalar ·
2026-07-26 · 1×470.3
What a 100-share market order pays crossing the spread: July 8, 2026, regular sessionranking ·
2026-07-26 · 5×4
Median quoted spread by session window: pre-market vs. regular vs. after-hours, July 8, 2026ranking ·
2026-07-26 · 3×4
Displayed shares at the best ask: median size and how often it covered a 1,000-share order, July 8, 2026ranking ·
2026-07-26 · 5×4
SPY on a calm day vs. a fast day: session range, per-minute movement, and quoted spreadseries ·
2026-07-26 · 2×5
IPO Lockup Expiration: Meaning & Release Date
UBER options tape into the Nov 6, 2019 lockup expiry: put and call contract volume by sessionseries ·
2026-07-26 · 13×5
Five famous lockup expirations: expiry-day price change and volume multiple vs. the prior sessionseries ·
2026-07-26 · 5×7
FB daily closes and volume, Oct 22 – Nov 13, 2012: the run-in to the giant lockup expiry (as-traded prices)series ·
2026-07-26 · 15×5
FB from the eve of the Nov 14, 2012 unlock through month-end: did the expiry-day pop hold?series ·
2026-07-26 · 13×4
The 2010 Flash Crash, Minute by Minute
Crash-window damage by name: low vs the 2:30 pm ET referencetable ·
2026-07-26 · 6×6
SPY on May 6, 2010: the flash crash day, receiptedscalar ·
2026-07-26 · 1×10116.83
SPY at one-minute resolution, 2:00–3:30 pm ET on May 6, 2010table ·
2026-07-26 · 90×4
The steepest single minutes: biggest open-to-low drops, 2:00–3:30 pm ETtable ·
2026-07-26 · 5×5
Five famous crash sessions: depth of the low and the bounce off it (SPY)series ·
2026-07-26 · 5×4
The aftermath: when the May 5 close was reclaimed, and when the panic low broke for realscalar ·
2026-07-26 · 1×7105
The famous casualties on the raw trade tape, 2:30–3:30 pm ETtable ·
2026-07-26 · 4×6
How Leveraged ETFs Work (and Why They Decay)
Every SOXS reverse split since 2020, and the running consolidation factorseries ·
2026-07-15 · 5×3
One semiconductor selloff, four funds: SOXX, USD, SOXL, SOXS on July 13, 2026ranking ·
2026-07-15 · 4×2
Growth of $100 in the 1x SOXX vs the 3x SOXL, Jan 2 to Jul 13 2026series ·
2026-07-15 · 131×3
SpaceX Joins the Nasdaq-100: The Index-Add Trade
July 6's matched volume by where it printed: the cross, continuous on-exchange, off-exchange (TRF)ranking ·
2026-07-09 · 3×4
The morning after: July 7, 2026 through 12:59 p.m. ET (window pinned by design; see data notes)scalar ·
2026-07-09 · 1×10210
The add-eve receipts row: checkpoints, the last continuous trade, and the auction print itselfscalar ·
2026-07-09 · 1×23165.95
July 6, 2026 in five-minute buckets: the slide, the late climb, and the volume underneathseries ·
2026-07-09 · 78×3
Market-wide options volume by session, with monthly expirations labelled
Market-wide options volume by session, with monthly expirations labelled
| session | contracts_m | session_type | monthly_expiry_m | session_id |
|---|---|---|---|---|
| Jul 16 | 70.7 | ordinary | 76.8 | 20260716 |
| Jul 17 | 76.8 | monthly expiration | 76.8 | 20260717 |
| Jul 20 | 63.5 | ordinary | 76.8 | 20260720 |
| Jul 21 | 56.8 | ordinary | 76.8 | 20260721 |
| Jul 22 | 55.4 | ordinary | 76.8 | 20260722 |
| Jul 23 | 65.4 | ordinary | 76.8 | 20260723 |
| Jul 24 | 70.7 | ordinary | 76.8 | 20260724 |
| Jul 27 | 64.3 | ordinary | 76.8 | 20260727 |
| Jul 28 | 58.7 | ordinary | 76.8 | 20260728 |
| Jul 29 | 66.3 | ordinary | 76.8 | 20260729 |
| Jul 30 | 66.3 | ordinary | 76.8 | 20260730 |
| Jul 31 | 75.5 | ordinary | 76.8 | 20260731 |
| Aug 3 | 72.7 | ordinary | 76.8 | 20260803 |
| Aug 4 | 78.9 | ordinary | 76.8 | 20260804 |
| Aug 5 | 69.5 | ordinary | 76.8 | 20260805 |
| Aug 6 | 63.2 | ordinary | 76.8 | 20260806 |
| Aug 7 | 73.2 | ordinary | 76.8 | 20260807 |
| Aug 10 | 61.4 | ordinary | 76.8 | 20260810 |
| Aug 11 | 54.6 | ordinary | 76.8 | 20260811 |
| Aug 12 | 55.4 | ordinary | 76.8 | 20260812 |
| Aug 13 | 66.6 | ordinary | 76.8 | 20260813 |
| Aug 14 | 66 | ordinary | 76.8 | 20260814 |
| Aug 17 | 60.9 | ordinary | 76.8 | 20260817 |
| Aug 18 | 56.9 | ordinary | 76.8 | 20260818 |
| Aug 19 | 67.2 | ordinary | 76.8 | 20260819 |
the exact SQL behind every number
WITH tape AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
sum(toFloat64(volume)) AS vol
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime(today() - 45, 'America/New_York')
GROUP BY d
),
ranked AS (
SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS raw_rn
FROM tape
),
cal AS (
SELECT d, vol, rn, sum(if(rn BETWEEN 2 AND 21, 1, 0)) OVER () AS baseline_sessions
FROM (
SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS rn
FROM ranked
WHERE vol >= 0.75 * (SELECT quantileExact(0.5)(vol) FROM ranked WHERE raw_rn > 1)
)
),
w AS (
SELECT d, vol,
toStartOfMonth(d) + toIntervalDay(((5 - toDayOfWeek(toStartOfMonth(d)) + 7) % 7) + 14) AS third_friday
FROM cal
WHERE rn <= 25
),
marked AS (
SELECT d, vol,
(d = max(if(d <= third_friday, d, toDate('1970-01-01'))) OVER (PARTITION BY toStartOfMonth(d)))
AND (third_friday <= max(d) OVER ()) AS is_expiry
FROM w
),
latest AS (
SELECT d, vol, is_expiry,
max(if(is_expiry, d, toDate('1970-01-01'))) OVER () AS last_expiry_d
FROM marked
)
SELECT formatDateTime(d, '%b %e') AS session,
round(vol / 1e6, 1) AS contracts_m,
multiIf(is_expiry, 'monthly expiration', 'ordinary') AS session_type,
round(max(if(d = last_expiry_d, vol, 0)) OVER () / 1e6, 1) AS monthly_expiry_m,
toYYYYMMDD(d) AS session_id
FROM latest
ORDER BY d ASC
More from this analysisUnusual Options Activity: Last Session
Calls or puts: the board's call and put contract volume on the same session
table 10×5
→
Unusual options activity: last completed session vs. each underlying's own 20-session average
table 10×8
→
What the session's contracts were made of: options volume by days to expiry
ranking 6×4
→
What follows a heavy options session: next-session absolute move vs. the same names on an ordinary day
table 5×6
→
See all 2,173 queries →