Strasmore Research
Learn Matt ConnorBy Matt Connor

Xetra Trading Hours and Holidays 2026–2027

Xetra trading hours run 9:00 to 17:30 CET. Every 2026 and 2027 closure, the auction clock, the New York overlap, and why German stocks move until 22:00.

Xetra trading hours run from 9:00 to 17:30 Frankfurt time, Monday to Friday, with an opening auction from 8:55 and a closing auction that starts at 17:30 and sets the official close from 17:35. Xetra is the electronic order book of the Frankfurt Stock Exchange, operated by Deutsche Börse, where the DAX 40 and most German shares form their reference prices. It is dark on 7 weekdays in 2026 and 5 in 2027, and it trades straight through Ascension Day, Whit Monday and Corpus Christi. Every hour and date here comes from the exchange's own calendar; the last section covers why German stocks keep moving until 22:00.

What are the Xetra trading hours?

Xetra runs one main session wrapped in auctions. An auction is a call phase: orders collect without matching, an indicative price is published, and one price is then set that executes the largest possible volume. Continuous trading is everything in between, each order matching against the book as it arrives. The clock, in Frankfurt local time:

  • 8:00 to 8:55: early retail trading (since 1 December 2025), flagged prints that never set the day's open, high, low or close.
  • 8:55 to 9:04: the opening auction call phase, ending with a random end staggered by segment; continuous trading starts at the auction price.
  • 13:00: the intraday auction, with an earliest end at 13:02 for DAX stocks. DAX futures expire on this auction.
  • 17:30 to about 17:35: the closing auction call phase, with a random end after the 17:35 earliest end. The auction price is the official Xetra close.
  • 17:35 to 17:40: Trade-at-Close, DAX, MDAX and SDAX shares only, extra orders matching at the closing price.
  • Until 22:00: late retail trading, again flagged, so the close stands.

Frankfurt time is CET (UTC+1) in winter and CEST (UTC+2) in summer; the exchange writes "CET" but follows German civil time. The 17:30 to 17:35 window is the one to watch: its price is what index funds, benchmark providers, margin systems and the next morning's papers use, and our guide to the closing auction covers the mechanics Xetra shares with the NYSE and Nasdaq.

Xetra holidays 2026: the non-trading days

Deutsche Börse's 2026 calendar carries 8 non-trading days, listed below with the weekday each falls on and whether settlement still runs.

QueryXetra non-trading days 2026, from the Deutsche Börse trading calendar
holiday_dateweekdayholidayxetra_statussettlement
2026-01-01ThuNew Year's Dayclosedclosed
2026-04-03FriGood Fridayclosedclosed
2026-04-06MonEaster Mondayclosedclosed
2026-05-01FriLabour Dayclosedclosed
2026-12-24ThuChristmas Eveclosedruns
2026-12-25FriChristmas Dayclosedclosed
2026-12-26SatBoxing Dayweekendclosed
2026-12-31ThuNew Year's Eveclosedruns
The exact SQL behind every number
SELECT
    toString(d)                                                       AS holiday_date,
    formatDateTime(d, '%a')                                           AS weekday,
    n                                                                 AS holiday,
    if(toDayOfWeek(d) <= 5, 'closed', 'weekend')                      AS xetra_status,
    if(n IN ('Christmas Eve', 'New Year''s Eve'), 'runs', 'closed')   AS settlement
FROM
(
    SELECT
        arrayMap(x -> toDate(x),
                 ['2026-01-01', '2026-04-03', '2026-04-06', '2026-05-01',
                  '2026-12-24', '2026-12-25', '2026-12-26', '2026-12-31']) AS dates,
        ['New Year''s Day', 'Good Friday', 'Easter Monday', 'Labour Day',
         'Christmas Eve', 'Christmas Day', 'Boxing Day', 'New Year''s Eve'] AS names
)
ARRAY JOIN dates AS d, names AS n
ORDER BY d
Run this yourself

Xetra has no half days: where the US markets close at 13:00 on Christmas Eve, Xetra does not open at all on 24 or 31 December, though settlement runs on both days.

Xetra holidays 2027

In 2027 more of the fixed dates land on a weekend, which makes the calendar lighter.

QueryXetra non-trading days 2027, from the Deutsche Börse trading calendar
holiday_dateweekdayholidayxetra_statussettlement
2027-01-01FriNew Year's Dayclosedclosed
2027-03-26FriGood Fridayclosedclosed
2027-03-29MonEaster Mondayclosedclosed
2027-05-01SatLabour Dayweekendclosed
2027-12-24FriChristmas Eveclosedruns
2027-12-25SatChristmas Dayweekendclosed
2027-12-26SunBoxing Dayweekendclosed
2027-12-31FriNew Year's Eveclosedruns
The exact SQL behind every number
SELECT
    toString(d)                                                       AS holiday_date,
    formatDateTime(d, '%a')                                           AS weekday,
    n                                                                 AS holiday,
    if(toDayOfWeek(d) <= 5, 'closed', 'weekend')                      AS xetra_status,
    if(n IN ('Christmas Eve', 'New Year''s Eve'), 'runs', 'closed')   AS settlement
FROM
(
    SELECT
        arrayMap(x -> toDate(x),
                 ['2027-01-01', '2027-03-26', '2027-03-29', '2027-05-01',
                  '2027-12-24', '2027-12-25', '2027-12-26', '2027-12-31']) AS dates,
        ['New Year''s Day', 'Good Friday', 'Easter Monday', 'Labour Day',
         'Christmas Eve', 'Christmas Day', 'Boxing Day', 'New Year''s Eve'] AS names
)
ARRAY JOIN dates AS d, names AS n
ORDER BY d
Run this yourself

Germany does not move a weekend holiday to the nearest weekday, so a Saturday Labour Day is simply lost; the US exchanges close the Friday before or the Monday after instead. Toronto's rules are in our TSX trading hours and holidays guide.

How many trading days does Xetra have?

The panel subtracts each year's weekday closures from its weekdays.

QueryWeekdays, weekday closures and Xetra sessions per calendar year
calendar_yearweekdaysweekday_closuresxetra_sessionsweekend_holidays
202626172541
202726152563
The exact SQL behind every number
WITH
    arrayMap(x -> toDate(x),
             ['2026-01-01', '2026-04-03', '2026-04-06', '2026-05-01',
              '2026-12-24', '2026-12-25', '2026-12-26', '2026-12-31',
              '2027-01-01', '2027-03-26', '2027-03-29', '2027-05-01',
              '2027-12-24', '2027-12-25', '2027-12-26', '2027-12-31']) AS closures
SELECT
    toString(toYear(day))                                      AS calendar_year,
    countIf(toDayOfWeek(day) <= 5)                             AS weekdays,
    countIf(toDayOfWeek(day) <= 5 AND has(closures, day))      AS weekday_closures,
    weekdays - weekday_closures                                AS xetra_sessions,
    countIf(toDayOfWeek(day) >= 6 AND has(closures, day))      AS weekend_holidays
FROM
(
    SELECT toDate('2026-01-01') + arrayJoin(range(730)) AS day
)
GROUP BY calendar_year
ORDER BY calendar_year
Run this yourself

2026 has 261 weekdays and 7 weekday closures, so Xetra holds 254 sessions, a few more than the NYSE and Nasdaq holiday calendar allows in a typical year. 2027 loses only 5 weekdays, 3 holidays falling on a weekend, and holds 256.

Is Xetra open on Ascension Day, Whit Monday and Corpus Christi?

Yes, on all three. Ascension Day and Whit Monday are public holidays in every German state; Corpus Christi is one in Hesse, the state Frankfurt sits in, and in five other states. Banks and offices close. The exchange does not. Deutsche Börse states it outright for 2026: regular trading takes place on Ascension Day (Thursday, 14 May), Whit Monday (25 May) and Corpus Christi (Thursday, 4 June). The 2027 list carries no closure on the equivalent dates either: Thursday, 6 May, Monday, 17 May and Thursday, 27 May 2027 are all trading days.

One caution: the calendar is set fresh each year, and the exchange's own archive lists Whit Monday as a non-trading day in several past years, 2017 and 2021 among them, so its page is worth a look each year.

When does Xetra overlap with the New York session?

New York's regular session runs 9:30 to 16:00 Eastern. For most of the year Frankfurt is six hours ahead, so the US open lands at 15:30 Frankfurt time and the US close at 22:00. That gives Xetra a two-hour overlap, 15:30 to 17:30. US premarket, from 4:00 Eastern, is 10:00 in Frankfurt, so US pre-open quotes are visible for most of the Xetra day.

The overlap stretches to three hours twice a year, in the gaps where one side has changed its clocks and the other has not: the US moves to daylight time on the second Sunday of March and back on the first Sunday of November, Europe on the last Sunday of March and the last Sunday of October. Inside those gaps New York opens at 14:30 Frankfurt time and closes at 21:00; the panel derives each window from the two zones' clock rules.

QueryDays when the New York open lands at 14:30 Frankfurt time (three-hour overlap), 2026 and 2027
first_daylast_dayweekdaysny_open_frankfurtxetra_close_new_york
8 Mar 202628 Mar 20261514:3012:30
25 Oct 202631 Oct 2026514:3012:30
14 Mar 202727 Mar 20271014:3012:30
31 Oct 20276 Nov 2027514:3012:30
The exact SQL behind every number
SELECT
    concat(toString(toDayOfMonth(min(day))), ' ', formatDateTime(min(day), '%b %Y')) AS first_day,
    concat(toString(toDayOfMonth(max(day))), ' ', formatDateTime(max(day), '%b %Y')) AS last_day,
    countIf(toDayOfWeek(day) <= 5)                                                   AS weekdays,
    any(ny_open_frankfurt)                                                           AS ny_open_frankfurt,
    any(xetra_close_new_york)                                                        AS xetra_close_new_york
FROM
(
    SELECT
        day,
        toDateTime(concat(toString(day), ' 09:30:00'), 'America/New_York')      AS ny_open,
        toDateTime(concat(toString(day), ' 17:30:00'), 'Europe/Berlin')         AS xetra_close,
        formatDateTime(toTimeZone(ny_open, 'Europe/Berlin'), '%H:%i')           AS ny_open_frankfurt,
        formatDateTime(toTimeZone(xetra_close, 'America/New_York'), '%H:%i')    AS xetra_close_new_york,
        intDiv(toUnixTimestamp(xetra_close) - toUnixTimestamp(ny_open), 3600)   AS overlap_hours
    FROM
    (
        SELECT toDate('2026-01-01') + arrayJoin(range(730)) AS day
    )
)
WHERE overlap_hours = 3
GROUP BY toYear(day), toMonth(day) < 7
ORDER BY min(day)
Run this yourself

The first window runs from 8 Mar 2026 to 28 Mar 2026, 15 weekdays with the New York open at 14:30 Frankfurt time; the autumn window, 25 Oct 2026 to 31 Oct 2026, covers 5 weekdays. A year later the spring window is shorter, 10 weekdays from 14 Mar 2027, and the autumn window from 31 Oct 2027 again spans 5.

Conversions for other cities are in US stock market hours around the world. Holidays break the overlap both ways: Xetra trades on Independence Day, Labor Day, Thanksgiving and Martin Luther King Day with no New York session that afternoon, while New York trades on Easter Monday, 1 May, 31 December and (for a shortened session) 24 December with Xetra dark. Only Good Friday closes both.

Why do German stock prices keep moving in the evening?

"Warum fallen Aktien abends?", why do stocks fall in the evening, is a question German retail investors search for constantly, and the answer is a matter of venue. The closing auction fixes the official Xetra price at 17:35. From then on the main Xetra book is shut, but four other places keep quoting the same shares:

  • Börse Frankfurt, the specialist venue of the Frankfurt Stock Exchange, from 8:00 to 22:00.
  • Tradegate Exchange in Berlin, from 7:30 to 22:00.
  • LS Exchange (Lang & Schwarz, at the Hamburg exchange), from 7:30 to 23:00.
  • Xetra's own late retail trading until 22:00, every print flagged.

In these hours the price on screen is a market maker's quote, a firm obliged to post a bid and an offer. The references are the markets still open: the US session, which runs until exactly 22:00 Frankfurt time, and DAX futures on Eurex, which also trade until 22:00. A German stock showing down 1% at 21:00 has moved alongside the US tape and the futures, on a wider spread and a fraction of the daytime volume.

The evening quote never changes the Xetra close and never enters the DAX index, which is computed from Xetra prices; DAX daily options settle against that index. The next morning's opening auction gathers the overnight information into one price at 9:00, which often sits a long way from where the evening quotes left off.

FAQ

What time does Xetra open and close?

Continuous trading runs 9:00 to 17:30 Frankfurt time (CET in winter, CEST in summer), Monday to Friday. The opening auction begins at 8:55 and the closing auction runs from 17:30 to about 17:35, when the official close is set.

Is the Frankfurt Stock Exchange open on Whit Monday?

Yes. Whit Monday is a regular trading day on Xetra and Börse Frankfurt in 2026 (25 May) and 2027 (17 May), as are Ascension Day and Corpus Christi.

Is Xetra open on 24 and 31 December?

No. Christmas Eve and New Year's Eve are non-trading days on Xetra, with no shortened session. Settlement still runs on both days.

What time is the Xetra close in New York?

17:30 Frankfurt time is 11:30 Eastern for most of the year, and 12:30 Eastern in the March and autumn windows where only one side has switched to daylight time.

Why is my German stock still moving at 21:00?

After the closing auction, the price on screen comes from Börse Frankfurt, Tradegate, LS Exchange or Xetra's late retail session, quoted by market makers until 22:00 or 23:00 on wider spreads. Those quotes follow the US session and DAX futures and do not change the official Xetra close.


Every date in the panels is typed in from the exchange's own calendar at cashmarket.deutsche-boerse.com. To see how the 15:30 New York open shows up on the US tape minute by minute, ask the question in plain English on the Strasmore terminal.

#xetra#germany#trading hours#market holidays#dax#deutsche börse