STRASMORE/EXPLORE 2,170 QUERIES

SPY's median quoted spread by half hour, 4:00 am to 8:00 pm ET

Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-07-26, from Microstructure Deep-Dive: June 29, 2026.

as of series 32×3read in context →
SPY's median quoted spread by half hour, 4:00 am to 8:00 pm ET — 32 rows by 3 columns, computed from US exchange, SIP and OPRA data.
et_timemedian_spread_centsquote_updates
04:00890477
04:30794194
05:00685391
05:30684732
06:00680634
06:30667515
07:00678384
07:30790251
08:00682373
08:30696858
09:00575032
09:303714684
10:003828786
10:303598922
11:003415660
11:303254713
12:003194340
12:302159115
13:002150132
13:302106726
14:002104312
14:30299685
15:002135135
15:302219316
16:00451513
16:30418896
17:007233
17:3081466
18:00740608
18:30621385
19:00625428
19:3067955
Rows × columns
32 × 3
Period covered
to
Computed
Completeness
No missing values
Source
US exchange, SIP and OPRA market data
Licence
Strasmore terms · free, no signup
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for SPY's median quoted spread by half hour, 4:00 am to 8:00 pm ET, derived from the stored result.
ColumnTypeRangeNotes
et_time date 04:00 to 19:30
median_spread_cents number 2 to 8
quote_updates number 233 to 828,786

Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.

the exact SQL behind every number
SELECT
    formatDateTime(toTimeZone(toStartOfInterval(sip_timestamp, INTERVAL 30 MINUTE), 'America/New_York'), '%H:%i') AS et_time,
    round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price), bid_price > 0 AND ask_price >= bid_price) * 100, 1) AS median_spread_cents,
    count() AS quote_updates
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPY' AND sip_timestamp >= '2026-06-29 08:00:00' AND sip_timestamp < '2026-06-30 00:00:00'
GROUP BY et_time
ORDER BY et_time

Run your own version of this

The same 22 years of US equities and 12 years of options data are queryable in SQL or plain English. A free account runs 100 queries a day and takes no card.

More from this analysisMicrostructure Deep-Dive: June 29, 2026
The largest single prints of June 29 (dictionary-excluded codes stripped) series 9×7 Completeness probe: FINRA short-volume file coverage, June 26-30 series 3×6 The ten busiest minutes of the trade tape (millions of prints) ranking 10×2 NBBO quote updates for eight heavily-quoted tickers (millions) ranking 8×2 Raw vs SIP-counted volume, applying the derived exclusion set scalar 1×4 One day of trades: session check plus the size of every print scalar 1×8 See all 2,170 queries →