{"slug":"us-vs-german-market-holidays","qid":"xetra_zu_us_offen","label":"xetra_zu_us_offen","post_title":"us-vs-german-market-holidays","post_url":"/blog/lang/de/us-vs-german-market-holidays#q-xetra_zu_us_offen","columns":["datum","wochentag","xetra_feiertag","us_sitzung","ny_eroeffnung_berlin","tage_bis"],"rows":[{"datum":"24.12.2026","wochentag":"Do","xetra_feiertag":"Heiligabend","us_sitzung":"verkürzter Handelstag","ny_eroeffnung_berlin":"15:30","tage_bis":53},{"datum":"31.12.2026","wochentag":"Do","xetra_feiertag":"Silvester","us_sitzung":"voller Handelstag","ny_eroeffnung_berlin":"15:30","tage_bis":60},{"datum":"29.03.2027","wochentag":"Mo","xetra_feiertag":"Ostermontag","us_sitzung":"voller Handelstag","ny_eroeffnung_berlin":"15:30","tage_bis":148},{"datum":"17.05.2027","wochentag":"Mo","xetra_feiertag":"Pfingstmontag","us_sitzung":"voller Handelstag","ny_eroeffnung_berlin":"15:30","tage_bis":197}],"shape":"table","sql":"WITH\n    (\n        SELECT groupArray(date)\n        FROM global_markets.stocks_market_holidays\n        WHERE status = 'closed'\n          AND (exchange ILIKE '%nyse%' OR exchange ILIKE '%nasdaq%')\n    ) AS us_geschlossen,\n    (\n        SELECT groupArray(date)\n        FROM global_markets.stocks_market_holidays\n        WHERE status = 'early-close'\n          AND (exchange ILIKE '%nyse%' OR exchange ILIKE '%nasdaq%')\n    ) AS us_verkuerzt,\n    (\n        SELECT max(date)\n        FROM global_markets.stocks_market_holidays\n        WHERE exchange ILIKE '%nyse%' OR exchange ILIKE '%nasdaq%'\n    ) AS us_kalender_ende\nSELECT\n    formatDateTime(d, '%d.%m.%Y')                                                               AS datum,\n    transform(toDayOfWeek(d), [1, 2, 3, 4, 5, 6, 7], ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'], '')    AS wochentag,\n    xetra_feiertag,\n    if(has(us_verkuerzt, d), 'verkürzter Handelstag', 'voller Handelstag')                       AS us_sitzung,\n    formatDateTime(\n        toTimeZone(toDateTime(concat(toString(d), ' 09:30:00'), 'America/New_York'), 'Europe/Berlin'),\n        '%H:%i')                                                                                AS ny_eroeffnung_berlin,\n    dateDiff('day', today(), d)                                                                 AS tage_bis\nFROM\n(\n    SELECT\n        tupleElement(t, 1)          AS xetra_feiertag,\n        toDate(tupleElement(t, 2))  AS d\n    FROM\n    (\n        SELECT arrayJoin([\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 t\n    )\n)\nWHERE d >= today()\n  AND toDayOfWeek(d) BETWEEN 1 AND 5\n  AND d <= us_kalender_ende\n  AND NOT has(us_geschlossen, d)\nORDER BY d","computed_at":"2026-11-01T01:49:38.324506+00:00","elapsed":0.069836046}