STRASMORE/EXPLORE 2,707 QUERIES

spread_by_hour

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-27, from us-premarket-and-after-hours-in-beijing-time.

as of ranking 16×3read in context →
spread_by_hour — 16 rows by 3 columns, computed from US exchange, SIP and OPRA data.
et_houravg_spread_bpsquote_count
04:0019150
05:0019.74219
06:0023.95195
07:0014.29237
08:0014.82835
09:002.43100405
10:001.48151094
11:001.42115311
12:001.4359105
13:001.455371
14:001.3546091
15:001.2766892
16:0038.89260
17:0038.66196
18:0011.43171
19:009.18278
Rows × columns
16 × 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 spread_by_hour, derived from the stored result.
ColumnTypeRangeNotes
et_hour text 16 distinct values (04:00, 05:00, 06:00…)
avg_spread_bps number 1.27 to 38.89
quote_count number 150 to 151,094 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
    concat(leftPad(toString(et_h), 2, '0'), ':00') AS et_hour,
    round(avg(
        (toFloat64(ask_price) - toFloat64(bid_price))
        / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000
    ), 2)                                          AS avg_spread_bps,
    count()                                        AS quote_count
FROM
(
    SELECT
        toHour(toTimeZone(sip_timestamp, 'America/New_York')) AS et_h,
        ask_price,
        bid_price
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'KO'
      AND sip_timestamp >= toDateTime('2026-06-10 04:00:00', 'America/New_York')
      AND sip_timestamp <  toDateTime('2026-06-10 20:00:00', 'America/New_York')
      AND bid_price > 0
      AND ask_price > bid_price
)
GROUP BY et_h
HAVING count() >= 20
ORDER BY et_h
⌘/Ctrl + Enter

在你的 AI 助手中使用这些数据

打开即可查询,已带上本页数据。免费,无需账号。