Strasmore Research
Learn am Matt ConnorBy Matt Connor · Updated 2026-07-25 · data as of July 25, 2026 · refreshed weekly

Stock Market Holidays 2026–2027: NYSE & Nasdaq

Wen stock market dey close? Every NYSE & Nasdaq holiday wey dey come plus 1:00 p.m. early close for 2026–2027, straight from di live exchange calendar.

When US stock market dey close? Di US equity market — NYSE and Nasdaq — dey shut for about ten full-day holidays every year, and on small half-days wey dey around Thanksgiving and Christmas dem dey close early at 1:00 p.m. ET instead of di usual 4:00 p.m. — di full session-by-session clock dey our stock market hours guide. Di calendar below dey list every stock market holiday wey dey come and early close straight from di exchange schedule, and e refresh by im self: as each holiday pass, e drop off, and di next ones go move up.

When US stock market go close next?

Di soonest closure wey dey ahead na Labor Day on September 7, 202645 days out from today. Di full forward calendar carry 12 dated closures, each one dem tag either full closure (no trading at all) or early close (shortened session).

QueryUS stock market public holidays wey dey come and early closes
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

Read di table from top go bottom and e double as countdown: di days_away column dey measure each closure from today, and di day_status column dey mark whether di market dark for di whole day or e just dey close early. One single holiday fit take two rows — full-closure day next to shortened session — as Thanksgiving Thursday dey do with di half-day Friday wey follow am.

Wetin happen when holiday fall on weekend?

US exchanges dey observe fixed-date holiday on di nearest weekday. When holiday land on Saturday, di market go take di Friday before off; when e land on Sunday, e go close di Monday after. New Year's Day na di exception: when January 1 fall on Saturday, di market no dey closed di Friday before — dat Friday, December 31, dey inside di prior year — so no makeup day at all. Dis nearest-weekday rule na why one holiday weekday dey shift from year to year for di table above — and why some years dey give traders four-day week around di Fourth of July. Floating holidays like Thanksgiving (di fourth Thursday of November) and Memorial Day (di last Monday of May) don already pin to one weekday, so dem never dey move.

Wetin be di difference between full closure and early close?

Di schedule ahead dey split into two kinds of day. Full closure mean no regular session and no trading at all. Early close — shortened half day — na regular session wey end at 1 p.m. ET rather than 4:00 p.m., three and half hours of regular trading instead of six and half.

QueryClosure calendar wey dey ahead, quick look
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()

Di loaded calendar hold 10 full-day closures and 2 scheduled early closes, dey run from di next one through 2027-07-05. Di early closes dey cluster around two holidays: di Friday after Thanksgiving and Christmas Eve, plus July 3 for years when e fall on weekday ahead of Independence Day. For early-close day, di closing auction still dey run — e just print at 1:00 p.m. rather than 4:00 p.m. — and di after-hours session dey shift with am, beginning at 1:00 p.m. instead of 4:00 p.m.; di premarket window no change, since dem anchor am to di 9:30 a.m. open, wey no dey move. Volume or closing-price calculation wey assume 4:00 p.m. close on one of these days go quietly overstate di day.

How I go take check if market don close for past date?

Di exchange calendar for dis warehouse na forward-looking: e dey list only di holidays wey still dey ahead and e dey drop each one di moment e pass. Dat one dey keep "wetin dey next" accurate, but e mean say date wey don already happen no dey inside di table again. To audit closure from di past, you go count di tape instead. Full six-and-half-hour session work out to 390 one-minute bars (6.5 × 60 minutes); three-and-half-hour early close to 210 (3.5 × 60); full holiday go print none at all. Weekday wey get zero regular-session bars na, by definition, day wey di market shut.

QueryWeekday closures wey just pass, wey dem recover from SPY tape
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

Dis panel dey walk back over di last several months of di SPY tape and e dey return every weekday wey print 0 regular-session bars — 4 of dem, each one na weekday wey di market sit closed. 2026-04-03 na di earliest one wey still dey inside view. No date dey hardcoded anywhere for di query: e dey derive di closures entirely from wetin do, and no do, trade, so di same SQL go keep working long after those holidays comot from di forward calendar.

How many trading days dey inside one year?

Remove weekends and those ten-odd holidays and one calendar year go leave roughly 250 to 253 trading sessions. Di exact figure dey easiest to settle di same way — by counting di days wey di tape actually record regular session.

QueryRegular trading sessions for the past one year
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
)

Over di trailing year, between 2025-07-21 and 2026-07-17, di market hold 250 regular sessions. Dat one na di working number wey dey behind "about 252 trading days a year" — count, not estimate. E dey move by day or two from year to year as holidays land on weekends and drop off di weekday tally.

FAQ

When US stock market dey closed?

Di NYSE and Nasdaq dey close for about ten full-day holidays each year — New Year's Day, Martin Luther King Jr. Day, Presidents Day, Good Friday, Memorial Day, Juneteenth, Independence Day, Labor Day, Thanksgiving, and Christmas — plus handful of 1:00 p.m. early closes. Di calendar for di top of dis page dey list di next ones with exact dates.

Wetin time stock market dey close early?

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

Wetin happen when market holiday fall on weekend?

Exchanges dey observe am on di nearest weekday: Saturday holiday dem go take on di Friday before, and Sunday holiday on di Monday after. Saturday Fourth of July, for instance, go close di market di Friday before. Di one exception na New Year's Day: when January 1 land on Saturday, di market no dey closed di Friday before (December 31) and no makeup day dey.

How many trading days dey inside one year?

Roughly 250 to 253, once weekends and holidays comot. Di most reliable way to know one specific year count na to count di distinct days wey di market actually hold regular session, as di trailing-year panel above dey do.

Di stock market dey closed for every federal holiday?

No. Di stock market dey open for two federal holidays — Columbus Day and Veterans Day — even though di bond market dey close for both. E dey also close for Good Friday, wey no be federal holiday at all.


Every panel here dey ship with di exact SQL beneath am — expand any one to see how dem count di number. To check whether one specific date be trading day, or find when di market go close next, ask di question for plain English for di Strasmore terminal.