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-10-03, from us-market-volume-by-hour-philippine-time.
| manila_hour | median_spread_bps | avg_quoted_size_shares |
|---|---|---|
| 21:30 | 0.263 | 376 |
| 22:00 | 0.264 | 356 |
| 23:00 | 0.264 | 369 |
| 00:00 | 0.264 | 435 |
| 01:00 | 0.264 | 407 |
| 02:00 | 0.264 | 409 |
| 03:00 | 0.132 | 570 |
- Rows × columns
- 7 × 3
- Computed
- Completeness
- No missing values
- Source
- US exchange, SIP and OPRA market data
- Licence
- Strasmore terms · free, no signup
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
manila_hour |
text | 7 distinct values (00:00, 01:00, 02:00…) | |
median_spread_bps |
number | 0.132 to 0.264 | |
avg_quoted_size_shares |
number | 356 to 570 | 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.
WITH quotes AS
(
SELECT
toTimeZone(sip_timestamp, 'Asia/Manila') AS manila_time,
10000 * (toFloat64(ask_price) - toFloat64(bid_price))
/ ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) AS spread_bps,
toFloat64(bid_size + ask_size) / 2 AS quoted_size,
toUInt64(sequence_number) AS sequence_number
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPY'
AND sip_timestamp >= toDateTime('2026-09-15 13:30:00')
AND sip_timestamp < toDateTime('2026-09-15 20:00:00')
AND bid_price > 0
AND ask_price >= bid_price
)
SELECT
formatDateTime(min(manila_time), '%H:%i') AS manila_hour,
round(quantileDeterministic(0.5)(spread_bps, sequence_number), 3) AS median_spread_bps,
round(avg(quoted_size)) AS avg_quoted_size_shares
FROM quotes
GROUP BY (toHour(manila_time) + 3) % 24
HAVING count() > 0
ORDER BY (toHour(manila_time) + 3) % 24
Gamitin ang datos na ito sa iyong AI assistant
Bubukas nang handang mag-query, kasama ang datos ng pahinang ito. Libre, walang account.