Christmas Eve market hours: early closes and your backtest
US stocks usually close at 1:00 p.m. Eastern Time on Christmas Eve, and CME futures halt early on their own schedule. These short, thin sessions shrink daily bars and break time-based exits, so a backtest should either exclude them or model them, then compare the two results.
By Soren Huang · Published · updated · Editorial policy
Contents
- How does the market trade on Christmas Eve?
- What time does the stock market close on Christmas Eve?
- How do CME futures Christmas hours differ from stock hours?
- Why are holiday sessions thin and expensive to trade?
- How do shortened sessions distort daily bars?
- Why do time-based exits break on early-close days?
- Should you exclude Christmas Eve from a backtest or model it?
- How do you check whether holiday sessions change your results?
- Frequently asked questions
- References
How does the market trade on Christmas Eve?
On Christmas Eve, US stock markets usually close early at 1:00 p.m. Eastern Time. CME futures follow their own holiday calendar, with early halts that differ by product group. Volume is thin and spreads are usually wider. In a backtest, these short sessions shrink daily bars, break time-based exits and add an easy-to-miss holiday gap, so handle them deliberately.
An early close is a scheduled trading day that the exchange ends hours before the normal closing time and announces in advance. The US stock market usually has up to three each year: around Independence Day, on the day after Thanksgiving and on Christmas Eve. To list the exact dates for every year in your data, use the stock market holidays and early closes calendar. Exchanges can change holiday hours from year to year, so confirm each date on the NYSE holiday calendar and on the CME Group holiday calendar for the contract you trade.
What time does the stock market close on Christmas Eve?
In recent years, when December 24 falls on a Monday to Thursday, NYSE and Nasdaq have closed at 1:00 p.m. Eastern Time instead of the normal 4:00 p.m. In Taiwan, that is 2:00 a.m. on December 25, because Eastern Time in December is 13 hours behind Taiwan time. The weekday of December 24 changes the pattern from year to year:
| December 24 falls on | Stock market on December 24 | Christmas holiday |
|---|---|---|
| Monday to Thursday | Early close, 1:00 p.m. ET | Closed on December 25 |
| Friday | Closed all day (Christmas, a Saturday, is observed on Friday) | No session on Saturday |
| Saturday | No session | Christmas, a Sunday, is observed on Monday, December 26 |
| Sunday | No session | Closed on Monday, December 25 |
So a ten-year series of daily stock bars does not show the same holiday every year. Some years have a half-day bar on December 24. Other years have no December 24 bar at all. A rule that "knows" Christmas Eve by date alone will therefore behave differently from year to year.
How do CME futures Christmas hours differ from stock hours?
CME futures do not copy the stock market's 1:00 p.m. close. They follow a separate CME holiday schedule, and each product group has its own early halt time. A trade date is the day that a futures session is credited to. On CME Globex, the session that opens on the evening of one day belongs to the next day's trade date. This means the futures trade date for December 24 usually starts on the evening of December 23. It contains overnight trading that the stock market never had.
On Christmas Eve itself, CME Globex usually halts early around midday Central Time. The exact time is set separately for equity index, interest rate, energy, metals and agricultural products. Globex is closed on Christmas Day. To see the hours of your market in your own time zone, use the futures market hours tool and the CME holiday calendar for that year.
| US stocks | CME futures | |
|---|---|---|
| Session on December 24 | Opens 9:30 a.m. ET, early close 1:00 p.m. ET | Starts on the evening of December 23, halts early around midday CT |
| Who sets the halt time | NYSE and Nasdaq holiday calendars | CME holiday calendar, per product group |
| Christmas Day | Closed | Closed |
| What the daily bar holds | Only the shortened day session | Overnight trading plus the shortened morning |
Why are holiday sessions thin and expensive to trade?
Holiday sessions have fewer participants, so each trade usually costs more than on a normal day. Many traders and desks are away. Fewer orders rest in the order book, which usually means a wider bid-ask spread. A single large order can then move the price more than usual. Stop orders and market orders tend to fill further from the trigger price.
A backtest with one fixed slippage value assumes a holiday trade costs the same as a trade on a busy Tuesday. For most strategies, that understates holiday costs. Two practical fixes:
- Raise slippage on holiday dates. Rerun the test with, for example, double the normal slippage on early-close days, and see whether the result holds.
- Check where the profit comes from. If holiday trades are among the best trades, they are also the trades with the least realistic fills.
For how to set commission and slippage in general, see trading costs in backtests.
How do shortened sessions distort daily bars?
A half-day bar has a smaller range and lower volume than a normal bar, and every indicator that averages ranges or volume absorbs that distortion. Think of it like a weather station that measures only from midnight to noon on one day. The day's temperature range looks calm because half of it was never measured.
The effects to look for:
- Volatility measures drop. The Average True Range (ATR) and similar filters fall after a short day, so ATR-based stops and position sizes shift for reasons that have nothing to do with the market.
- Volume filters misfire. A rule such as "trade only when volume is above its 20-day average" sees an unusually low value on Christmas Eve.
- Breakout levels look closer. A narrow December 24 bar sets a tight high and low, so a breakout on December 26 can trigger easily.
- Holiday gaps are easy to overlook. The move from the December 24 close to the December 26 open spans a full holiday, so it often appears as a gap that a test can mistake for an ordinary overnight move.
Hypothetical example
A futures contract has a true range of 60 points on each of nine normal days. Christmas Eve has a true range of 25 points. The 10-day average moves from 60 to (9 × 60 + 25) ÷ 10 = 56.5 points. A stop set at 2 × ATR shrinks from 120 to 113 points, only because of a short session. A position size based on that stop grows a little for the same reason.
Why do time-based exits break on early-close days?
A time-based exit fails on an early-close day if it waits for a clock time that never arrives. A time-based exit is a rule that closes a position at a set time or after a set number of bars, instead of at a price. On Christmas Eve the session can end before that time, so the position is carried over Christmas Day into the next session.
| Exit rule | What happens on a 1:00 p.m. close | Fix |
|---|---|---|
| Exit at 3:55 p.m. ET | No bar exists at 3:55 p.m., so the trade stays open into December 26 | Exit relative to the actual session end, for example on the last bar of the session |
| Exit after N intraday bars | The trade runs past the close and finishes after the holiday | Add "or at session end, whichever comes first" |
| Exit after N days | A half day counts as a full day, so the holding time is shorter than planned | Accept it, or count hours instead of bars |
| Bar size that does not divide the session evenly | The last bar of the short session is a partial bar | Check how your data and platform build that final bar |
The first row matters most for intraday strategies. A day-trading system that should be flat every night can show an overnight trade across a holiday in its trade list. That trade carries risk the strategy was never designed to take. A position carried across Christmas shows up in the individual trades of the performance report of AlphaPrime (Valynox), where every entry and exit is listed.
Should you exclude Christmas Eve from a backtest or model it?
Either choice works, as long as the backtest matches what you would actually do on the day. The default, leaving holiday sessions in without thinking about them, is the only weak option.
| Approach | How | Best when |
|---|---|---|
| Exclude | No new entries on early-close days, and flatten before the early close | You do not plan to trade holiday sessions live |
| Model | Keep the dates, exit at the actual session end, raise slippage on those days | You will trade them and want realistic costs and timing |
| Leave as is | Normal rules on every date | Only as the baseline for comparison |
Removing holiday bars from daily data is not the same as excluding the trading days. Indicators then skip a day, and the December 26 bar sits next to December 23. Most traders keep the bars and change the trading rules instead. In AlphaPrime, backtesting applies the trading session, fees and slippage you set to every candidate and always uses next-bar execution.
How do you check whether holiday sessions change your results?
Run the same strategy with and without holiday trades and compare the two results. If the result depends on a few holiday sessions, the edge is fragile. Use these steps:
- List every early close and holiday in your data range with the holidays calendar, and add the observed holidays from the table above.
- Mark every trade that is open during, or enters on, one of those dates.
- Run the baseline test, then a second test that takes no new trades on those dates and flattens before each early close.
- Compare net result, number of trades, average trade and maximum drawdown between the two runs.
- Read the marked trades one by one: check entry and exit times, and look for gaps and overnight holds.
Hypothetical example
A strategy makes 400 trades over ten years with a net result of $30,000. Six trades touch holiday sessions, and together they made $9,000. Excluding them leaves $21,000. So 1.5% of the trades produced 30% of the profit, on the days with the thinnest markets and the least realistic fills. That share is the number to look at, not the $9,000 itself.
Make the choice once and keep it. If you try many holiday filters and keep the one with the best result, you are fitting the calendar to noise. White (2000) shows why the best of many tested rules tends to look better than it really is. For other holidays and reopenings, see market holidays in backtests.
What this means if you use AlphaPrime: load your own bar data with the holiday sessions as they really traded, set the session and costs you would trade with, and compare a run with holiday trades against a run without them before you keep a strategy.
Frequently asked questions
Is the stock market open on Christmas Eve?
Usually, yes, for a shortened session. When December 24 falls on a Monday to Thursday, NYSE and Nasdaq have closed at 1:00 p.m. Eastern Time in recent years. When December 24 falls on a Friday, the market is closed all day because Christmas is observed that Friday. Confirm each year on the NYSE holiday calendar.
Are futures open on Christmas Day?
No. CME Globex is closed on Christmas Day. On Christmas Eve, CME futures usually halt early around midday Central Time, and each product group has its own halt time in the CME holiday calendar.
Is the stock market open the day after Christmas?
December 26 is usually a regular full trading day in the US when it falls on a weekday. The exception is a year when Christmas falls on a Sunday. Then the holiday is observed on Monday, December 26, and the market is closed.
Should I delete holiday bars from my backtest data?
Usually not. Deleting bars makes indicators skip a day and joins the December 23 and December 26 bars as if they were neighbours. It is cleaner to keep the bars and change the trading rules, for example no new entries on early-close days and an exit at the actual session end.
What time is the Christmas Eve market close in Taiwan time?
The 1:00 p.m. Eastern Time stock close is 2:00 a.m. on December 25 in Taiwan, because Eastern Time in December is 13 hours behind Taiwan time. CME futures halt on their own schedule, so convert the CME halt time for your product separately.
References
- White, H. (2000). A Reality Check for Data Snooping. Econometrica, 68(5), 1097–1126.

