STRASMORE/EXPLORE 2,648 QUERIES

quote_clock

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-26, from agentic-trading-bots-on-retail-brokerages.

as of series 36×3read in context →
quote_clock — 36 rows by 3 columns, computed from US exchange, SIP and OPRA data.
et_timespread_bpsquote_count
08:005.2481
08:203.3396
08:402.5224
09:002.9575
09:202.641701
09:401.861032
10:001.348942
10:201.159095
10:40140204
11:00141381
11:20152970
11:400.830145
12:000.834270
12:200.828980
12:400.723918
13:000.721450
13:200.821990
13:400.927665
14:000.830567
14:200.720024
14:400.723978
15:000.722386
15:200.725430
15:400.650124
16:004.5322
16:201.792
16:402.8148
17:001.461
17:203.2113
17:402.760
18:001.233
18:202.972
18:402.277
19:001.154
19:202.4113
19:401.8110
Rows × columns
36 × 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 quote_clock, derived from the stored result.
ColumnTypeRangeNotes
et_time text 36 distinct values (08:00, 08:20, 08:40…)
spread_bps number 0.6 to 5.2
quote_count number 33 to 61,032 count

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 20 MINUTE), '%H:%i') AS et_time,
    round(avg(toFloat64(ask_price - bid_price) / toFloat64(bid_price) * 10000), 1)                                 AS spread_bps,
    count()                                                                                                       AS quote_count
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'AAPL'
  AND sip_timestamp >= '2026-08-14 12:00:00'
  AND sip_timestamp <  '2026-08-15 00:00:00'
  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 analysisagentic-trading-bots-on-retail-brokerages
settle_calendar series 12×6 → options_dte ranking 5×3 → fill_slices ranking 5×4 → fast_minutes ranking 5×4 → 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 → See all 2,648 queries →