Mutual Fund Cutoffs on Early-Close Days
Mutual fund cutoffs move on early-close days: when the NYSE closes at 1:00 p.m. ET, forward pricing strikes NAV early and every broker deadline shifts.
Mutual fund cutoffs move with the exchange close. On a day the NYSE closes at 1:00 p.m. ET instead of 4:00 p.m., the deadline for getting that day's net asset value lands three hours earlier, and a cutoff written as "one hour before the close" quietly becomes noon. A fund strikes one NAV per business day at the close of the market it references, and orders are forward priced: an order accepted before the fund's cutoff gets that day's NAV, and an order accepted after it gets the next business day's. For the once-a-day cycle in full, start with when mutual funds trade and the mutual fund forward pricing rule.
What time is the mutual fund cutoff on an early-close day?
Brokers write cutoffs two ways, and the wording decides what happens on a half day. A relative cutoff ("one hour before market close", "at market close") tracks the exchange on its own: the reference point moves to 1:00 p.m. ET, and the cutoff moves with it. A wall-clock cutoff such as 3:00 p.m. ET cannot survive an early close unchanged, since 3:00 p.m. sits two hours after the only NAV of the day was struck. Firms re-base those wall-clock times on half days, and the re-based time is not always posted anywhere a customer will see it.
The panel below reads the exchange calendar and prints, for every early close still ahead, the scheduled end of the regular session in ET and the hour before it. That second column is the working deadline for anyone whose broker quotes a one-hour rule.
| closure_date | date_label | holiday | session_ends_et | one_hour_before_et | days_away |
|---|---|---|---|---|---|
| 2026-11-27 | Fri Nov 27 | Thanksgiving | 01:00 PM | 12:00 PM | 61 |
| 2026-12-24 | Thu Dec 24 | Christmas | 01:00 PM | 12:00 PM | 88 |
The exact SQL behind every number
SELECT
toString(date) AS closure_date,
formatDateTime(date, '%a %b %e') AS date_label,
any(name) AS holiday,
formatDateTime(toTimeZone(any(close), 'America/New_York'), '%I:%i %p') AS session_ends_et,
formatDateTime(toTimeZone(any(close), 'America/New_York') - INTERVAL 1 HOUR, '%I:%i %p') AS one_hour_before_et,
dateDiff('day', today(), date) AS days_away
FROM global_markets.stocks_market_holidays
WHERE date >= today()
AND status = 'early-close'
GROUP BY date
ORDER BY dateThe loaded calendar carries 2 scheduled early closes ahead. The soonest is Fri Nov 27, 61 days out, with the regular session ending at 01:00 PM ET and a one-hour-before deadline of 12:00 PM ET. The furthest one currently on the calendar is Thu Dec 24. Cutoffs set by the fund company itself, rather than by the broker, are almost always stated as the close of the New York Stock Exchange, which is precisely the anchor that moved. The broker-by-broker wall-clock times sit in mutual fund order cutoff times by broker.
Which sessions close early, and which close entirely?
Two different things get called a market holiday, and only one of them stops a fund from pricing. A full closure means no regular session, no trades, and no new NAV for a US equity fund. An early close is a live session that ends at 1:00 p.m. ET, and funds do strike a NAV on those days. The forward calendar tags every dated closure as one or the other.
| closure_date | weekday | holiday | day_status | session_ends_et | days_away |
|---|---|---|---|---|---|
| 2026-11-26 | Thu | Thanksgiving | closed | no session | 60 |
| 2026-11-27 | Fri | Thanksgiving | early-close | 01:00 PM | 61 |
| 2026-12-24 | Thu | Christmas | early-close | 01:00 PM | 88 |
| 2026-12-25 | Fri | Christmas | closed | no session | 89 |
| 2027-01-01 | Fri | New Years Day | closed | no session | 96 |
| 2027-01-18 | Mon | Martin Luther King, Jr. Day | closed | no session | 113 |
| 2027-02-15 | Mon | Washington's Birthday | closed | no session | 141 |
| 2027-03-26 | Fri | Good Friday | closed | no session | 180 |
| 2027-05-31 | Mon | Memorial Day | closed | no session | 246 |
| 2027-06-18 | Fri | Juneteenth | closed | no session | 264 |
| 2027-07-05 | Mon | Independence Day | closed | no session | 281 |
| 2027-09-06 | Mon | Labor Day | closed | no session | 344 |
The exact SQL behind every number
SELECT
toString(date) AS closure_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'),
'no session')) AS session_ends_et,
dateDiff('day', today(), date) AS days_away
FROM global_markets.stocks_market_holidays
WHERE date >= today()
GROUP BY date
ORDER BY dateThe panel holds 12 dated closures, and the nearest one of any kind is 60 days out. Read the day_status column first: an early-close row prints a session end time, and a closed row prints no session at all. A single holiday can occupy two rows, a full closure next to a shortened session, as Thanksgiving Thursday does with the half day Friday behind it. The half days cluster on the Friday after Thanksgiving and on Christmas Eve when it lands on a weekday, plus July 3 in years when that date falls on a weekday ahead of Independence Day. Full closures are handled in do mutual funds trade on holidays, and the raw exchange schedule lives in stock market holidays and early closes.
What a 1:00 p.m. close looks like on the tape
The close is a physical event rather than a convention. Quotes stop, the closing auction prints, and the last price of the day is set. Pinning two Fridays from late 2025 next to each other shows the shape of it. November 28, 2025 was the half day after Thanksgiving. December 5, 2025 was an ordinary Friday one week later. Both are fixed past dates, so the numbers below never refresh. The window shown is the standard 9:30 a.m. to 4:00 p.m. regular-session window, in half-hour ET buckets.
| et_time | half_day_volume_m | regular_day_volume_m |
|---|---|---|
| 09:30 | 4.86 | 7.45 |
| 10:00 | 4.03 | 5.53 |
| 10:30 | 3.83 | 4.71 |
| 11:00 | 4.53 | 4.09 |
| 11:30 | 5.48 | 3.97 |
| 12:00 | 4.14 | 2.37 |
| 12:30 | 9.99 | 3 |
| 13:00 | 2.36 | 2.63 |
| 13:30 | 0 | 2.27 |
| 14:00 | 0 | 2.37 |
| 14:30 | 0 | 2.77 |
| 15:00 | 0 | 3.29 |
| 15:30 | 0 | 10.47 |
The exact SQL behind every number
SELECT
formatDateTime(
toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE),
'%H:%i') AS et_time,
round(sumIf(volume, toDate(toTimeZone(window_start, 'America/New_York')) = '2025-11-28') / 1e6, 2) AS half_day_volume_m,
round(sumIf(volume, toDate(toTimeZone(window_start, 'America/New_York')) = '2025-12-05') / 1e6, 2) AS regular_day_volume_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2025-11-28 00:00:00'
AND window_start < '2025-12-06 06:00:00'
AND toDate(toTimeZone(window_start, 'America/New_York')) IN ('2025-11-28', '2025-12-05')
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 et_time
ORDER BY et_timeThe opening half hour carried 4.86 million SPY shares on the half day against 7.45 million on the ordinary Friday. By the 15:30 ET bucket the half day printed 0 million and the ordinary Friday printed 10.47 million. A fund's valuation inputs stop where that volume stops. There is no afternoon tape to wait for.
Counting one-minute bars makes the same point across a longer stretch of the calendar. A full six-and-a-half-hour session prints 390 one-minute bars (6.5 x 60). A three-and-a-half-hour early close prints 210.
| category | sessions | avg_minute_bars | avg_volume_millions |
|---|---|---|---|
| Early close 1 p.m. | 2 | 211 | 37.1 |
| Full session 4 p.m. | 27 | 390 | 69.8 |
The exact SQL behind every number
WITH day_totals AS
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
count() AS regular_bars,
sum(volume) AS regular_volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2025-11-20 00:00:00'
AND window_start < '2026-01-03 06:00:00'
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 et_date
)
SELECT
if(regular_bars < 300, 'Early close 1 p.m.', 'Full session 4 p.m.') AS category,
count() AS sessions,
round(avg(regular_bars)) AS avg_minute_bars,
round(avg(regular_volume) / 1e6, 1) AS avg_volume_millions
FROM day_totals
GROUP BY category
ORDER BY avg_minute_barsOver the November and December 2025 window, the early closes averaged 211 regular-session minute bars across 2 such days, against 390 bars on the 27 full sessions in the same stretch. Average regular-session volume ran 37.1 million shares on the half days and 69.8 million on the full ones. The NAV struck at the end of a half day rests on that shorter tape.
A worked order: $1,000 at 2:30 p.m. on the Friday after Thanksgiving
Say a $1,000 purchase of an S&P 500 index fund goes in at 2:30 p.m. ET on the Friday after Thanksgiving. The NYSE closed at 1:00 p.m. that day. The fund calculated its NAV off that 1:00 p.m. close, once, and the books for the day are shut. The order arrived ninety minutes after the only NAV of the day existed, so it is queued for the next business day's NAV: the following Monday, priced off Monday's 4:00 p.m. close. The confirmation shows a trade date of Monday, not Friday.
Four things follow from that timeline.
- The price is unknown at the moment of submission. Forward pricing means the NAV that fills the order has not been calculated yet, on any day.
- A Friday half day stretches the wait. The order sits from 1:00 p.m. Friday until Monday's 4:00 p.m. close before it has a price at all, which is roughly three calendar days of market movement between the click and the fill.
- Cancellation windows shrink with the cutoff, and the rules differ by firm. Cancelling a mutual fund order covers what is still possible after submission.
- Settlement counts from the trade date, so a Monday trade date starts Monday's clock, as laid out in mutual fund settlement time.
The trap: the bond market closes at 2:00 p.m.
On most equity half days the US bond market keeps its own later schedule, with a recommended 2:00 p.m. ET close. A bond fund, a money market fund, or a balanced sleeve values its holdings off that market rather than off the 1:00 p.m. equity close, and its valuation time can sit a full hour after the stock market has gone dark. The two calendars also disagree on whole days: the bond market observes Columbus Day and Veterans Day, and the stock market stays open on both. Where a prospectus says the NAV is determined as of the close of the New York Stock Exchange, the 1:00 p.m. anchor governs even for a fixed-income portfolio, so the prospectus wording settles the question rather than the asset class. The calculation itself is stepped through in how mutual fund NAV is calculated.
What to do when the cutoff cannot be confirmed
Some firms publish holiday-schedule notices and some do not. When the early-close cutoff cannot be confirmed in writing, the conservative working assumption is 12:00 noon ET. Noon clears a one-hour-before rule against a 1:00 p.m. close, and it clears every re-based wall-clock time that a 1:00 p.m. NAV can support. Two cheap checks exist besides. The order ticket usually displays the effective trade date before the final confirm step, and a ticket that already reads tomorrow's date is telling you the cutoff has passed. After submission, the confirmation's trade date is the receipt: a Friday half-day order that confirms with Monday's date priced at Monday's NAV.
FAQ
What time is the mutual fund cutoff on a half day?
It tracks the exchange close. With the NYSE closing at 1:00 p.m. ET, a broker cutoff quoted as one hour before the close falls at noon, and a wall-clock cutoff later than 1:00 p.m. gets re-based to the early close or earlier. Noon ET is the safe assumption when the exact time is not published.
Does a mutual fund price its NAV on an early-close day?
Yes. An early close is a real trading session, so the fund calculates one NAV that day, using the 1:00 p.m. ET closing prices instead of the 4:00 p.m. ones. A full market closure is the case where no new NAV is struck.
What happens to a mutual fund order placed after the early close?
It prices at the next business day's NAV. An order entered at 2:30 p.m. ET on a 1:00 p.m. half day arrives after that day's NAV has been calculated, so the trade date on the confirmation becomes the following business day.
Do bond funds use the 1:00 p.m. close as well?
Often not. The US bond market keeps a recommended 2:00 p.m. ET close on most equity half days, and a fixed-income fund valuing off that market can strike its NAV an hour later than an equity fund. The prospectus language for the specific fund is what determines the time.
Data notes and caveats
The closure panels read the exchange holiday calendar, which is forward-looking: it lists the closures still ahead and drops each one as it passes, which is why past half days do not appear there. The tape panels pin fixed 2025 dates, so those figures are stable across regenerations. Minute-bar counts cover the 9:30 a.m. to 4:00 p.m. ET regular session only, at 390 bars for a full session against 211 for an early close. Front-edge data carries a one to two day ingest lag, which does not affect the pinned dates above.
Every panel here ships with the exact SQL beneath it, expandable, so each number can be traced to the row that produced it. The same calendar and tape questions can be asked in plain English on the Strasmore terminal.