Strasmore Research
Learn am Matt ConnorBy Matt Connor · Updated 2026-09-05 · data as of September 5, 2026 · refreshed weekly

Stock Market Holidays 2026-2027: NYSE & Nasdaq

When dem go close stock market? See every NYSE and Nasdaq holiday plus 1:00 p.m. early close for 2026-2027 from the live exchange calendar.

When dem close stock market? US equity markets, NYSE and Nasdaq, dey shut for about ten full-day holidays every year. Around Thanksgiving and Christmas, dem close early for some half-days at 1:00 p.m. ET instead of the usual 4:00 p.m. You fit see the complete session-by-session timing for stock market hours for our guide. The calendar below list every upcoming stock market holiday and early close straight from exchange schedule, and e dey refresh by itself: once each holiday pass, e comot, and the next ones move up.

When dem go close stock market next?

The next closure na Labor Day on September 7, 2026, 2 days from today. The complete forward calendar get 12 closures with dates. Each one get label as either full closure, where no trading dey at all, or early close, where session short.

QueryUS stock market holidays and early closes wey dey come
holiday dateweekdayholidayday statusearly close ETdays away
2026-09-07MonLabor Dayclosed2
2026-11-26ThuThanksgivingclosed82
2026-11-27FriThanksgivingearly-close01:00 PM83
2026-12-24ThuChristmasearly-close01:00 PM110
2026-12-25FriChristmasclosed111
2027-01-01FriNew Years Dayclosed118
2027-01-18MonMartin Luther King, Jr. Dayclosed135
2027-02-15MonWashington's Birthdayclosed163
2027-03-26FriGood Fridayclosed202
2027-05-31MonMemorial Dayclosed268
2027-06-18FriJuneteenthclosed286
2027-07-05MonIndependence Dayclosed303
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 am yourself

Read the table from top to bottom and e also work like countdown. The days_away column measure how far each closure dey from today. The day_status column show whether market no open for the whole day or whether e go close early. One holiday fit take two rows: one full-closure day beside one shortened session. Thanksgiving Thursday and the half-day Friday after am na example.

Wetín happen when holiday fall for weekend?

US exchanges dey observe fixed-date holiday on the nearest weekday. When holiday fall on Saturday, market close on the Friday before. When e fall on Sunday, market close on the Monday after. New Year's Day na exception. When January 1 fall on Saturday, market no close on the Friday before. That Friday, December 31, dey inside the previous year, so no makeup day dey. This nearest-weekday rule na why holiday weekday dey change from year to year for the table above. Na also why some years give traders four-day week around Fourth of July. Floating holidays like Thanksgiving, wey dey fall on the fourth Thursday of November, and Memorial Day, wey dey fall on the last Monday of May, already get fixed weekday, so dem no dey move.

Wetin be the difference between full closure and early close?

The schedule ahead get two kinds of day. Full closure mean say regular session no go hold and no trading go happen at all. Early close, wey be shortened half-day, na regular session wey end at 1 p.m. ET instead of 4:00 p.m. That one mean three and a half hours of regular trading instead of six and a half.

QueryClosure calendar wey dey ahead, for quick look
full closures aheadearly closes aheadtotal closures aheadnext closurecalendar fromcalendar through
10212September 7, 20262026-09-072027-07-05
The exact SQL behind every number
SELECT
    countDistinctIf(date, status = 'closed')      AS full_closures_ahead,
    countDistinctIf(date, status = 'early-close') AS early_closes_ahead,
    countDistinct(date)                           AS total_closures_ahead,
    concat(monthName(min(date)), ' ', toString(toDayOfMonth(min(date))), ', ', toString(toYear(min(date)))) AS next_closure_pretty,
    toString(min(date))                           AS calendar_from,
    toString(max(date))                           AS calendar_through
FROM global_markets.stocks_market_holidays
WHERE date >= today()
Run am yourself

The loaded calendar get 10 full-day closures and 2 scheduled early closes, starting from the next one through 2027-07-05. The early closes dey gather around two holidays: the Friday after Thanksgiving and Christmas Eve. July 3 also dey among them for years wey e fall on weekday before Independence Day. On early-close day, closing auction still run. E just prints at 1:00 p.m. instead of 4:00 p.m. The after-hours session also shift with am, starting at 1:00 p.m. instead of 4:00 p.m. Premarket window no change because e dey tied to the 9:30 a.m. open, and that one no dey move. Any volume or closing-price calculation wey assume 4:00 p.m. close for one of these days go quietly overstate the day.

How I fit check whether market close on date for past?

The exchange calendar for this warehouse dey look forward. E list only holidays wey never reach and e remove each one immediately after e pass. That keep “wetín dey next” accurate, but e mean say date wey don happen no longer dey inside table. To audit past closure, count the tape instead. Full six-and-a-half-hour session na 390 one-minute bars (6.5 × 60 minutes). Three-and-a-half-hour early close na 210 (3.5 × 60). Full holiday no go print any bar. Weekday wey get zero regular-session bars na, by definition, day wey market shut.

QueryWeekday closures wey recently pass, recovered from SPY tape
session dateweekdayregular session bars
2026-05-25Mon0
2026-06-19Fri0
2026-07-03Fri0
The exact SQL behind every number
SELECT
    toString(cal.day)                    AS session_date,
    formatDateTime(cal.day, '%a')        AS weekday,
    toUInt32(ifNull(t.bars, 0))          AS regular_session_bars
FROM
(
    SELECT today() - 150 + arrayJoin(range(146)) AS day
) AS cal
LEFT JOIN
(
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        count()                                              AS bars
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= today() - 150
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
    GROUP BY d
) AS t ON t.d = cal.day
WHERE toDayOfWeek(cal.day) BETWEEN 1 AND 5
  AND cal.day <= today() - 5
  AND ifNull(t.bars, 0) = 0
ORDER BY cal.day
Run am yourself

This panel check the last several months of SPY tape and return every weekday wey print 0 regular-session bars, 3 of them. Each one na weekday wey market remain closed. 2026-05-25 na the earliest one still dey inside view. No date hardcode dey anywhere for the query. E derive closures entirely from wetín trade and wetín no trade. So the same SQL go continue to work long after those holidays comot from forward calendar.

How many trading days dey inside one year?

Remove weekends and those ten-something holidays, and calendar year go get roughly 250 to 253 trading sessions. The exact number easiest to settle the same way: count the days wey tape actually record regular session.

QueryRegular trading sessions for the past year
trading daysfirst sessionlast session
2512025-09-022026-08-31
The exact SQL behind every number
SELECT
    count()             AS trading_days,
    toString(min(d))    AS first_session,
    toString(max(d))    AS last_session
FROM
(
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= today() - 370
      AND window_start <  today() - 4
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
    GROUP BY d
)
Run am yourself

For the trailing year, between 2025-09-02 and 2026-08-31, market hold 251 regular sessions. Na this number dey behind “about 252 trading days a year.” E be count, no be estimate. E fit change by one or two days from year to year as holidays fall on weekends and comot from weekday count.

FAQ

When dem close US stock market?

NYSE and Nasdaq dey close for about ten full-day holidays every year: New Year's Day, Martin Luther King Jr. Day, Presidents Day, Good Friday, Memorial Day, Juneteenth, Independence Day, Labor Day, Thanksgiving, and Christmas. Dem also get some 1:00 p.m. early closes. The calendar for top of this page list the next ones with exact dates.

Wetin be the time stock market dey close early?

On early-close day, regular trading end at 1:00 p.m. ET instead of 4:00 p.m. ET. Na three-and-a-half-hour session. These half-days dey happen on the Friday after Thanksgiving, Christmas Eve when e fall on weekday, and July 3 for some years.

Wetin happen when market holiday fall for weekend?

Exchanges observe am on the nearest weekday. Saturday holiday dey move to Friday before am, while Sunday holiday dey move to Monday after am. For example, if Fourth of July fall on Saturday, market close the Friday before. The only exception na New Year's Day. When January 1 fall on Saturday, market no close the Friday before, December 31, and no makeup day dey.

How many trading days dey inside one year?

Roughly 250 to 253, after weekends and holidays comot. The most reliable way to know one specific year's count na to count the distinct days wey market actually hold regular session, like the trailing-year panel above dey do.

Stock market dey close for every federal holiday?

No. Stock market dey open for two federal holidays, Columbus Day and Veterans Day, even though bond market close for both. E also close for Good Friday, even though Good Friday no be federal holiday.


Every panel here come with the exact SQL underneath am. Open any one to see how the number take count. To check whether one specific date be trading day, or find when market go close next, ask the question in plain English for Strasmore terminal.

#market hours#holidays#trading calendar#early close#sessions