lunch_pov
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-17, from twap-vs-vwap-vs-pov-orders.
| et_time | aapl_volume_millions | pov_child_fill_k_shares | share_of_total_pct |
|---|---|---|---|
| 09:30 | 3.82 | 382 | 12.4 |
| 10:00 | 2.8 | 280 | 9.1 |
| 10:30 | 2.5 | 250 | 8.1 |
| 11:00 | 2.35 | 235 | 7.6 |
| 11:30 | 1.96 | 196 | 6.3 |
| 12:00 | 1.62 | 162 | 5.2 |
| 12:30 | 1.37 | 137 | 4.4 |
| 13:00 | 1.22 | 122 | 3.9 |
| 13:30 | 1.6 | 160 | 5.2 |
| 14:00 | 1.51 | 151 | 4.9 |
| 14:30 | 2.73 | 273 | 8.8 |
| 15:00 | 1.93 | 193 | 6.2 |
| 15:30 | 5.49 | 549 | 17.8 |
- Rows × columns
- 13 × 4
- 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 | 13 distinct values (09:30, 10:00, 10:30…) | |
aapl_volume_millions |
number | 1.22 to 5.49 | count |
pov_child_fill_k_shares |
number | 122 to 549 | count |
share_of_total_pct |
number | 3.9 to 17.8 | percent |
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.
the exact SQL behind every number
WITH bars AS
(
SELECT
toTimeZone(window_start, 'America/New_York') AS et,
toHour(et) * 60 + toMinute(et) AS minute_of_day,
toFloat64(volume) AS shares
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'AAPL'
AND window_start >= toDateTime('2026-08-12 00:00:00', 'America/New_York')
AND window_start < toDateTime('2026-08-13 00:00:00', 'America/New_York')
),
buckets AS
(
SELECT
formatDateTime(toStartOfInterval(et, INTERVAL 30 MINUTE), '%H:%i', 'America/New_York') AS et_time,
sum(shares) AS bucket_shares
FROM bars
WHERE minute_of_day >= 570
AND minute_of_day < 960
GROUP BY et_time
)
SELECT
b.et_time AS et_time,
round(b.bucket_shares / 1e6, 2) AS aapl_volume_millions,
toUInt32(round(b.bucket_shares * 0.10 / 1e3)) AS pov_child_fill_k_shares,
round(100 * b.bucket_shares / t.day_shares, 1) AS share_of_total_pct
FROM buckets AS b
CROSS JOIN
(
SELECT sum(bucket_shares) AS day_shares
FROM buckets
) AS t
ORDER BY et_time
Run your own version of this
The same 22 years of US equities and 12 years of options data are queryable in SQL or plain English. A free account runs 100 queries a day and takes no card.
More from this analysistwap-vs-vwap-vs-pov-orders
volume_curve
series 13×4
→
curve_dispersion
series 13×4
→
open_vs_lunch
table 5×6
→
One SPY $600 LEAPS call's price over two years (expired Jan 16 2026)
series 470×2
→
monthly
series 241×4
→
2s10s spread, monthly average: last 20 years
series 240×2
→
See all 2,309 queries →