STRASMORE/EXPLORE 2,549 QUERIES

closures_mt

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 us-stock-market-hours-mountain-time.

as of series 12×8read in context →
closures_mt — 12 rows by 8 columns, computed from US exchange, SIP and OPRA data.
holiday_dateclosure_labelweekdayholidayday_statusdenver_closephoenix_closedays_away
2026-11-26Nov 26ThuThanksgivingclosed63
2026-11-27Nov 27FriThanksgivingearly-close11:0011:0064
2026-12-24Dec 24ThuChristmasearly-close11:0011:0091
2026-12-25Dec 25FriChristmasclosed92
2027-01-01Jan 1FriNew Years Dayclosed99
2027-01-18Jan 18MonMartin Luther King, Jr. Dayclosed116
2027-02-15Feb 15MonWashington's Birthdayclosed144
2027-03-26Mar 26FriGood Fridayclosed183
2027-05-31May 31MonMemorial Dayclosed249
2027-06-18Jun 18FriJuneteenthclosed267
2027-07-05Jul 5MonIndependence Dayclosed284
2027-09-06Sep 6MonLabor Dayclosed347
Rows × columns
12 × 8
Period covered
to
Computed
Completeness
Some fields are partly empty — see the columns below
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 closures_mt, derived from the stored result.
ColumnTypeRangeNotes
holiday_date date 2026-11-26 to 2027-09-06
closure_label text 12 distinct values (Dec 24, Dec 25, Feb 15…)
weekday text 3 distinct values (Fri, Mon, Thu)
holiday text 10 distinct values (Christmas, Good Friday, Independence Day…)
day_status text 2 distinct values (closed, early-close)
denver_close text 1 distinct value (11:00) 2 of 12 rows populated
phoenix_close text 1 distinct value (11:00) 2 of 12 rows populated
days_away number 63 to 347

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
    toString(date)                AS holiday_date,
    formatDateTime(date, '%b %e') AS closure_label,
    formatDateTime(date, '%a')    AS weekday,
    any(name)                     AS holiday,
    any(status)                   AS day_status,
    any(if(status = 'early-close',
           formatDateTime(toTimeZone(close, 'America/Denver'), '%H:%i'),
           ''))                   AS denver_close,
    any(if(status = 'early-close',
           formatDateTime(toTimeZone(close, 'America/Phoenix'), '%H:%i'),
           ''))                   AS phoenix_close,
    dateDiff('day', today(), date) AS days_away
FROM global_markets.stocks_market_holidays
WHERE date >= today()
GROUP BY date
ORDER BY date
⌘/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-mountain-time
open_by_zone series 14×6 → session_clock series 13×3 → phoenix_open_split ranking 2×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,549 queries →