STRASMORE/EXPLORE 2,595 QUERIES

sgt_clock_curve

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-25, from us-stock-market-hours-singapore-time.

as of series 34×3read in context →
sgt_clock_curve — 34 rows by 3 columns, computed from US exchange, SIP and OPRA data.
sgt_timejanuary_shares_millionsaugust_shares_millions
00:004.411.93
00:304.131.71
01:003.431.52
01:303.271.48
02:003.011.82
02:302.891.82
03:003.842.19
03:304.586.6
04:005.094.11
04:3012.520.25
05:005.60.16
05:300.660.09
06:000.130.07
06:300.090.02
07:000.080.02
07:300.030.02
08:000.030
08:300.040
16:0000.08
16:3000.02
17:000.050.02
17:300.040.01
18:000.030.02
18:300.030.03
19:000.040.08
19:300.070.11
20:000.130.13
20:300.10.22
21:000.310.21
21:300.333.8
22:000.422.7
22:309.622.5
23:006.532.19
23:305.862.24
Rows × columns
34 × 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 sgt_clock_curve, derived from the stored result.
ColumnTypeRangeNotes
sgt_time text 34 distinct values (00:00, 00:30, 01:00…)
january_shares_millions number 0 to 12.52 count
august_shares_millions number 0 to 6.6 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 bars AS
(
    SELECT
        toStartOfInterval(toTimeZone(window_start, 'Asia/Singapore'), INTERVAL 30 MINUTE) AS sgt_bucket,
        toDate(toTimeZone(window_start, 'America/New_York'))                              AS et_date,
        volume
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND (
            (window_start >= toDateTime('2026-01-05 05:00:00') AND window_start < toDateTime('2026-01-31 05:00:00'))
         OR (window_start >= toDateTime('2026-08-03 04:00:00') AND window_start < toDateTime('2026-08-29 04:00:00'))
          )
)
SELECT
    formatDateTime(sgt_bucket, '%H:%i') AS sgt_time,
    round(sumIf(volume, et_date < toDate('2026-04-01'))
          / greatest(uniqExactIf(et_date, et_date < toDate('2026-04-01')), 1) / 1e6, 2) AS january_shares_millions,
    round(sumIf(volume, et_date > toDate('2026-04-01'))
          / greatest(uniqExactIf(et_date, et_date > toDate('2026-04-01')), 1) / 1e6, 2) AS august_shares_millions
FROM bars
GROUP BY sgt_time
HAVING january_shares_millions + august_shares_millions > 0
ORDER BY sgt_time
⌘/Ctrl + Enter

Work with this data in your AI assistant

Opens ready to query, with this page's data. Free, no account.

More from this analysisus-stock-market-hours-singapore-time
sgt_holidays series 12×6 → dst_shift_dates series 9×5 → us_dividend_withholding ranking 6×3 → The 2s10s spread by month, full history series 604×5 → One SPY $600 LEAPS call's price over two years (expired Jan 16 2026) series 470×2 → 3m10y and 2s10s spreads, monthly averages over twenty years series 241×4 → See all 2,595 queries →