session_speed
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-24, from latency-models-in-hft-backtests.
| et_time | trades_per_second |
|---|---|
| 09:30 | 109.5 |
| 09:35 | 48.6 |
| 09:40 | 37.5 |
| 09:45 | 38.7 |
| 09:50 | 31.7 |
| 09:55 | 37.2 |
| 10:00 | 45.4 |
| 10:05 | 42.2 |
| 10:10 | 41.1 |
| 10:15 | 36.9 |
| 10:20 | 41.2 |
| 10:25 | 38.7 |
| 10:30 | 44.7 |
| 10:35 | 39.4 |
| 10:40 | 45.6 |
| 10:45 | 35.7 |
| 10:50 | 38.9 |
| 10:55 | 44.6 |
| 11:00 | 38.2 |
| 11:05 | 36.6 |
| 11:10 | 39.8 |
| 11:15 | 37 |
| 11:20 | 36.4 |
| 11:25 | 34.7 |
| 11:30 | 34.9 |
| 11:35 | 32.3 |
| 11:40 | 34.8 |
| 11:45 | 31.6 |
| 11:50 | 36.3 |
| 11:55 | 33.9 |
| 12:00 | 31.6 |
| 12:05 | 35.8 |
| 12:10 | 31.6 |
| 12:15 | 16.2 |
| 12:20 | 21.6 |
| 12:25 | 16.4 |
| 12:30 | 17.1 |
| 12:35 | 19.1 |
| 12:40 | 19.1 |
| 12:45 | 17.7 |
| 12:50 | 17.2 |
| 12:55 | 17.8 |
| 13:00 | 14.3 |
| 13:05 | 14.2 |
| 13:10 | 11.8 |
| 13:15 | 10.7 |
| 13:20 | 11.5 |
| 13:25 | 12.8 |
| 13:30 | 15.1 |
| 13:35 | 12.5 |
| 13:40 | 11.8 |
| 13:45 | 14.5 |
| 13:50 | 12.6 |
| 13:55 | 18.5 |
| 14:00 | 15.2 |
| 14:05 | 15 |
| 14:10 | 14.3 |
| 14:15 | 14.3 |
| 14:20 | 14 |
| 14:25 | 15.1 |
| 14:30 | 12.8 |
| 14:35 | 14.9 |
| 14:40 | 16.8 |
| 14:45 | 15 |
| 14:50 | 14.9 |
| 14:55 | 16.3 |
| 15:00 | 14.7 |
| 15:05 | 14.2 |
| 15:10 | 15.3 |
| 15:15 | 20.7 |
| 15:20 | 18.1 |
| 15:25 | 18.3 |
| 15:30 | 22.9 |
| 15:35 | 21.7 |
| 15:40 | 25.6 |
| 15:45 | 29.3 |
| 15:50 | 72.7 |
| 15:55 | 112 |
- Rows × columns
- 78 × 2
- 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 | 78 distinct values (09:30, 09:35, 09:40…) | |
trades_per_second |
number | 10.7 to 112 | 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(toStartOfFiveMinute(toTimeZone(window_start, 'America/New_York')), '%H:%i') AS et_time,
round(sum(transactions) / 300, 1) AS trades_per_second
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'AAPL'
AND window_start >= '2026-09-15 13:30:00'
AND window_start < '2026-09-15 20:00:00'
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.