STRASMORE/EXPLORE 2,500 QUERIES

us_quoted_spread

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-09-23, from krx-after-hours-trading.

as of series 24×3read in context →
us_quoted_spread — 24 rows by 3 columns, computed from US exchange, SIP and OPRA data.
et_timemedian_spread_bpsp90_spread_bps
08:004.527.84
08:305.589.36
09:007.5714.54
09:301.513.64
10:001.211.82
10:301.211.82
11:000.911.52
11:300.911.52
12:000.911.21
12:300.911.21
13:000.611.21
13:300.611.21
14:000.60.91
14:300.610.91
15:000.611.21
15:300.61.21
16:004.538.76
16:303.024.52
17:003.026.33
17:302.713.32
18:004.228.74
18:303.325.73
19:003.165.73
19:302.714.52
Rows × columns
24 × 3
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 us_quoted_spread, derived from the stored result.
ColumnTypeRangeNotes
et_time text 24 distinct values (08:00, 08:30, 09:00…)
median_spread_bps number 0.6 to 7.57
p90_spread_bps number 0.91 to 14.54

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.

Run it yourself

This is the exact query behind the result above. Change a ticker, a date or a column and run it against the warehouse — no account, no key. The no-signup tier is smaller than the one this page was computed on; a query that reaches past it comes back saying which plan runs it.

SELECT
    formatDateTime(toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
    round(quantileDeterministic(0.5)(20000 * toFloat64(ask_price - bid_price) / toFloat64(ask_price + bid_price), toUInt64(sequence_number)), 2) AS median_spread_bps,
    round(quantileDeterministic(0.9)(20000 * toFloat64(ask_price - bid_price) / toFloat64(ask_price + bid_price), toUInt64(sequence_number)), 2) AS p90_spread_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'AAPL'
  AND sip_timestamp >= toDateTime('2026-09-15 08:00:00', 'America/New_York')
  AND sip_timestamp <  toDateTime('2026-09-15 20:00:00', 'America/New_York')
  AND bid_price > 0
  AND ask_price > bid_price
GROUP BY et_time
ORDER BY et_time
⌘/Ctrl + Enter

Work with this data in your AI assistant

Opens ready to query, with this page's data. Free, no account.

More from this analysiskrx-after-hours-trading
us_clock_volume series 32×3 closing_print series 11×2 The 2s10s spread by month, full history series 604×5 One SPY $600 LEAPS call's price over two years (expired Jan 16 2026) series 470×2 3m10y and 2s10s spreads, monthly averages over twenty years series 241×4 2s10s spread, monthly average: last 20 years series 240×2 See all 2,500 queries →