Xetra Trading Hours and Holidays 2026–2027
Weekdays, weekday closures and Xetra sessions per calendar yeartable ·
2026-09-16 · 2×5
Days when the New York open lands at 14:30 Frankfurt time (three-hour overlap), 2026 and 2027series ·
2026-09-16 · 4×5
Xetra non-trading days 2027, from the Deutsche Börse trading calendartable ·
2026-09-16 · 8×5
Xetra non-trading days 2026, from the Deutsche Börse trading calendartable ·
2026-09-16 · 8×5
Short Positions in German Stocks: Bundesanzeiger
Illustrative: four published positions and the Short-Quote they add up toranking ·
2026-09-13 · 5×2
Weekdays, weekday closures and Xetra sessions per calendar year
Weekdays, weekday closures and Xetra sessions per calendar year
| calendar_year | weekdays | weekday_closures | xetra_sessions | weekend_holidays |
|---|---|---|---|---|
| 2026 | 261 | 7 | 254 | 1 |
| 2027 | 261 | 5 | 256 | 3 |
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
More from this analysisXetra Trading Hours and Holidays 2026–2027
Xetra non-trading days 2027, from the Deutsche Börse trading calendar
table 8×5
→
Xetra non-trading days 2026, from the Deutsche Börse trading calendar
table 8×5
→
Days when the New York open lands at 14:30 Frankfurt time (three-hour overlap), 2026 and 2027
series 4×5
→
SPY option volume, minute by minute into the 9:30 open
series 46×3
→
See all 2,272 queries →