{"slug":"us-vs-german-market-holidays","qid":"us_fruehschluss","label":"us_fruehschluss","post_title":"us-vs-german-market-holidays","post_url":"/blog/lang/de/us-vs-german-market-holidays#q-us_fruehschluss","columns":["datum","wochentag","anlass","schluss_new_york","schluss_berlin","handelsstunden","xetra"],"rows":[{"datum":"27.11.2026","wochentag":"Fr","anlass":"Thanksgiving","schluss_new_york":"13:00","schluss_berlin":"19:00","handelsstunden":3.5,"xetra":"offen"},{"datum":"24.12.2026","wochentag":"Do","anlass":"Christmas","schluss_new_york":"13:00","schluss_berlin":"19:00","handelsstunden":3.5,"xetra":"geschlossen"}],"shape":"table","sql":"WITH\n    [\n        ('Neujahr',          '2026-01-01'),\n        ('Karfreitag',       '2026-04-03'),\n        ('Ostermontag',      '2026-04-06'),\n        ('Tag der Arbeit',   '2026-05-01'),\n        ('Pfingstmontag',    '2026-05-25'),\n        ('Heiligabend',      '2026-12-24'),\n        ('1. Weihnachtstag', '2026-12-25'),\n        ('2. Weihnachtstag', '2026-12-26'),\n        ('Silvester',        '2026-12-31'),\n        ('Neujahr',          '2027-01-01'),\n        ('Karfreitag',       '2027-03-26'),\n        ('Ostermontag',      '2027-03-29'),\n        ('Tag der Arbeit',   '2027-05-01'),\n        ('Pfingstmontag',    '2027-05-17'),\n        ('Heiligabend',      '2027-12-24'),\n        ('1. Weihnachtstag', '2027-12-25'),\n        ('2. Weihnachtstag', '2027-12-26'),\n        ('Silvester',        '2027-12-31')\n    ]                                                       AS xetra_liste,\n    arrayMap(t -> toDate(tupleElement(t, 2)), xetra_liste)  AS xetra_geschlossen,\n    toDate('2027-12-31')                                    AS xetra_liste_ende\nSELECT\n    formatDateTime(date, '%d.%m.%Y')                                                            AS datum,\n    transform(toDayOfWeek(date), [1, 2, 3, 4, 5, 6, 7], ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'], '') AS wochentag,\n    any(name)                                                                                   AS anlass,\n    formatDateTime(toTimeZone(any(close), 'America/New_York'), '%H:%i')                         AS schluss_new_york,\n    formatDateTime(toTimeZone(any(close), 'Europe/Berlin'), '%H:%i')                            AS schluss_berlin,\n    round(dateDiff('minute', any(open), any(close)) / 60, 1)                                    AS handelsstunden,\n    multiIf(date > xetra_liste_ende,    'nicht hinterlegt',\n            has(xetra_geschlossen, date), 'geschlossen',\n                                          'offen')                                              AS xetra\nFROM global_markets.stocks_market_holidays\nWHERE date >= today()\n  AND status = 'early-close'\n  AND (exchange ILIKE '%nyse%' OR exchange ILIKE '%nasdaq%')\nGROUP BY date\nORDER BY date","computed_at":"2026-11-01T01:49:38.463644+00:00","elapsed":0.02543931}