STRASMORE/EXPLORE 2,170 QUERIES

Upcoming US stock market holidays and early closes, from the exchange calendar

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-08-22, from Stock Market Hours: Open 9:30, Close 4:00 ET.

as of series 12×6read in context →
Upcoming US stock market holidays and early closes, from the exchange calendar — 12 rows by 6 columns, computed from US exchange, SIP and OPRA data.
holiday_dateweekdayholidayday_statusearly_close_etdays_away
2026-09-07MonLabor Dayclosed16
2026-11-26ThuThanksgivingclosed96
2026-11-27FriThanksgivingearly-close01:00 PM97
2026-12-24ThuChristmasearly-close01:00 PM124
2026-12-25FriChristmasclosed125
2027-01-01FriNew Years Dayclosed132
2027-01-18MonMartin Luther King, Jr. Dayclosed149
2027-02-15MonWashington's Birthdayclosed177
2027-03-26FriGood Fridayclosed216
2027-05-31MonMemorial Dayclosed282
2027-06-18FriJuneteenthclosed300
2027-07-05MonIndependence Dayclosed317
Rows × columns
12 × 6
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 Upcoming US stock market holidays and early closes, from the exchange calendar, derived from the stored result.
ColumnTypeRangeNotes
holiday_date date 2026-09-07 to 2027-07-05
weekday date Fri to Thu
holiday date Christmas to Washington
day_status text 2 distinct values (closed, early-close)
early_close_et text 1 distinct value (01:00 PM) 2 of 12 rows populated
days_away number 16 to 317

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
SELECT
    toString(date)                       AS holiday_date,
    formatDateTime(date, '%a')           AS weekday,
    any(name)                            AS holiday,
    any(status)                          AS day_status,
    any(if(status = 'early-close',
           formatDateTime(toTimeZone(close, 'America/New_York'), '%I:%i %p'),
           ''))                          AS early_close_et,
    dateDiff('day', today(), date)       AS days_away
FROM global_markets.stocks_market_holidays
WHERE date >= today()
GROUP BY date
ORDER BY date

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 analysisStock Market Hours: Open 9:30, Close 4:00 ET
Single-name vs. ETF options at the 4:00 p.m. bell: AAPL and SPY options trades around the close (same session) series 2×6 SPY volume by half hour, premarket through after-hours (same session, ET clock) table 32×2 SPY volume by half hour on the early-close session, premarket through the shortened after-hours (ET clock) ranking 21×2 Trading sessions over the trailing year, counted from the SPY tape scalar 1×7 A full trading day on the SPY tape, split by session window (recent full-length session) scalar 1×15 The most recent early-close session on the SPY tape, split by session window scalar 1×13 See all 2,170 queries →