STRASMORE/EXPLORE 3,293 QUERIES
Full options quote history: clean NBBO bid/ask snapshots for any US option contract at the interval you choose, by SQL API, $79 a month. See the options quotes plan

Sessions grouped by the local time the open landed

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-11-07, from US Stock Market Hours in Mountain Time.

as of ranking 2×3read in context →
Sessions grouped by the local time the open landed — 2 rows by 3 columns, computed from US exchange, SIP and OPRA data.
phoenix_opendenver_opensessions
06:3007:30186
07:3007:3088
Rows × columns
2 × 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 Sessions grouped by the local time the open landed, derived from the stored result.
ColumnTypeRangeNotes
phoenix_open text 2 distinct values (06:30, 07:30)
denver_open text 1 distinct value (07:30)
sessions number 88 to 186

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 session_opens AS
(
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
        min(window_start)                                    AS open_utc
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= today() - 400
      AND window_start <  today() - 2
      AND toHour(toTimeZone(window_start, 'America/New_York'))   = 9
      AND toMinute(toTimeZone(window_start, 'America/New_York')) = 30
    GROUP BY session_date
)
SELECT
    formatDateTime(toTimeZone(open_utc, 'America/Phoenix'), '%H:%i') AS phoenix_open,
    formatDateTime(toTimeZone(open_utc, 'America/Denver'),  '%H:%i') AS denver_open,
    count()                                                          AS sessions
FROM session_opens
GROUP BY phoenix_open, denver_open
ORDER BY phoenix_open
⌘/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 in Mountain Time
The 9:30 a.m. Eastern open, read on three clocks, by month series 14×6 → The regular session, half hour by half hour, on both clocks series 13×3 → Upcoming market closures, with early-close times in Mountain Time series 12×8 → SPY volume by clock hour, New York and Dubai (1 to 25 September 2026) ranking 16×4 → Twelve months of dividends per share, gross and after 30% US withholding ranking 6×3 → Share of September 2026 volume by US session window ranking 5×4 → See all 3,293 queries →