intraday_shape
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-28, from compressing-market-data-zstd-vs-gzip.
| et_time | trade_count | distinct_prices |
|---|---|---|
| 04:00 | 6417 | 540 |
| 04:15 | 500 | 117 |
| 04:30 | 128 | 48 |
| 04:45 | 208 | 71 |
| 05:00 | 410 | 78 |
| 05:15 | 305 | 65 |
| 05:30 | 291 | 70 |
| 05:45 | 289 | 52 |
| 06:00 | 289 | 66 |
| 06:15 | 427 | 106 |
| 06:30 | 256 | 48 |
| 06:45 | 448 | 97 |
| 07:00 | 744 | 167 |
| 07:15 | 433 | 124 |
| 07:30 | 581 | 99 |
| 07:45 | 570 | 144 |
| 08:00 | 591 | 165 |
| 08:15 | 706 | 177 |
| 08:30 | 458 | 102 |
| 08:45 | 574 | 133 |
| 09:00 | 713 | 161 |
| 09:15 | 5320 | 376 |
| 09:30 | 58754 | 4989 |
| 09:45 | 32280 | 3340 |
| 10:00 | 38626 | 3725 |
| 10:15 | 35009 | 2749 |
| 10:30 | 38942 | 3031 |
| 10:45 | 35771 | 2670 |
| 11:00 | 34398 | 2789 |
| 11:15 | 32430 | 2552 |
| 11:30 | 30617 | 2024 |
| 11:45 | 30539 | 2114 |
| 12:00 | 29672 | 2281 |
| 12:15 | 16263 | 2161 |
| 12:30 | 16563 | 2158 |
| 12:45 | 15799 | 1970 |
| 13:00 | 12095 | 1426 |
| 13:15 | 10501 | 1137 |
| 13:30 | 11820 | 1531 |
| 13:45 | 13647 | 1286 |
| 14:00 | 13354 | 1393 |
| 14:15 | 13019 | 1488 |
| 14:30 | 13360 | 1248 |
| 14:45 | 13843 | 1293 |
| 15:00 | 13301 | 1515 |
| 15:15 | 17132 | 1686 |
| 15:30 | 21036 | 1802 |
| 15:45 | 64164 | 3439 |
| 16:00 | 1181 | 172 |
| 16:15 | 352 | 86 |
| 16:30 | 289 | 73 |
| 16:45 | 254 | 45 |
| 17:00 | 296 | 31 |
| 17:15 | 174 | 49 |
| 17:30 | 151 | 28 |
| 17:45 | 163 | 40 |
| 18:00 | 355 | 57 |
| 18:15 | 173 | 52 |
| 18:30 | 237 | 52 |
| 18:45 | 202 | 41 |
| 19:00 | 172 | 44 |
| 19:15 | 161 | 37 |
| 19:30 | 425 | 66 |
| 19:45 | 188 | 58 |
- Rows × columns
- 64 × 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 |
|---|---|---|---|
et_time |
text | 64 distinct values (04:00, 04:15, 04:30…) | |
trade_count |
number | 128 to 64,164 | count |
distinct_prices |
number | 28 to 4,989 |
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(toStartOfFifteenMinutes(toTimeZone(sip_timestamp, 'America/New_York')), '%H:%i') AS et_time,
count() AS trade_count,
countDistinct(price) AS distinct_prices
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL'
AND sip_timestamp >= toDateTime64('2026-09-15 04:00:00', 9, 'UTC')
AND sip_timestamp < toDateTime64('2026-09-16 04:00:00', 9, 'UTC')
GROUP BY et_time
ORDER BY et_time
Work with this data in your AI assistant
Opens ready to query, with this page's data. Free, no account.