From b6847b8ba58ce6f8c05f8e27d7f29f169d2acbb2 Mon Sep 17 00:00:00 2001 From: Giuseppe Li Date: Mon, 17 Jan 2022 12:19:08 +0900 Subject: [PATCH 1/3] Fix XTKS 2022 holidays --- exchange_calendars/xtks_holidays.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/exchange_calendars/xtks_holidays.py b/exchange_calendars/xtks_holidays.py index f268aaaa..216eb128 100644 --- a/exchange_calendars/xtks_holidays.py +++ b/exchange_calendars/xtks_holidays.py @@ -83,6 +83,7 @@ def sunday_to_wednesday(dt): Timestamp("2019-03-21"), Timestamp("2020-03-20"), Timestamp("2021-03-20"), + Timestamp("2022-03-21"), ] # The Golden Week holidays (late April - early May) are listed in reverse @@ -249,6 +250,7 @@ def sunday_to_wednesday(dt): Timestamp("2019-09-23"), Timestamp("2020-09-22"), Timestamp("2021-09-23"), + Timestamp("2022-09-23"), ] # If the Autumnal Equinox falls on a Wednesday, the Tuesday before From 6dfc1180c8a4b67fca3eacb984004e249e806ae4 Mon Sep 17 00:00:00 2001 From: Prerak Sanghvi Date: Fri, 14 Jan 2022 11:42:34 -0500 Subject: [PATCH 2/3] Add US Juneteenth holiday to XNYS calendar starting in 2022 --- exchange_calendars/exchange_calendar_xnys.py | 3 +++ exchange_calendars/us_holidays.py | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/exchange_calendars/exchange_calendar_xnys.py b/exchange_calendars/exchange_calendar_xnys.py index f45e0220..1c9c911d 100644 --- a/exchange_calendars/exchange_calendar_xnys.py +++ b/exchange_calendars/exchange_calendar_xnys.py @@ -54,6 +54,7 @@ USMemorialDay, USMemorialDay1964to1969, USMemorialDayBefore1964, + USJuneteenth, USNationalDaysofMourning, USNewYearsDay, USPresidentsDay, @@ -85,6 +86,7 @@ class XNYSExchangeCalendar(ExchangeCalendar): - Good Friday (two days before Easter Sunday) - Memorial Day (May 30th, before 1970, with rule change in 1964) - Memorial Day (last Monday in May, after 1970) + - Juneteenth (June 16th, since 2022) - Independence Day (July 4th Sunday to Monday, before 1954) - Independence Day (observed on the nearest weekday to July 4th, after 1953) @@ -175,6 +177,7 @@ def regular_holidays(self): USMemorialDayBefore1964, USMemorialDay1964to1969, USMemorialDay, + USJuneteenth, USIndependenceDayBefore1954, USIndependenceDay, USLaborDay, diff --git a/exchange_calendars/us_holidays.py b/exchange_calendars/us_holidays.py index f7d8af1d..cee41943 100644 --- a/exchange_calendars/us_holidays.py +++ b/exchange_calendars/us_holidays.py @@ -137,7 +137,13 @@ def following_tuesday_every_four_years_observance(dt): start_date=Timestamp("1971-01-01"), offset=DateOffset(weekday=MO(1)), ) - +USJuneteenth = Holiday( + "Juneteenth National Independence Day", + month=6, + day=19, + start_date=Timestamp("2022-01-01"), + observance=nearest_workday +) USIndependenceDayBefore1954 = Holiday( "July 4th", month=7, From 3bb087bdd10c05241ef609bcc6774d19610a0721 Mon Sep 17 00:00:00 2001 From: Sercan Turkmen Date: Thu, 17 Mar 2022 11:19:48 +0900 Subject: [PATCH 3/3] dev: align with trading calendars impl --- exchange_calendars/us_holidays.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exchange_calendars/us_holidays.py b/exchange_calendars/us_holidays.py index cee41943..7245ea1e 100644 --- a/exchange_calendars/us_holidays.py +++ b/exchange_calendars/us_holidays.py @@ -142,7 +142,7 @@ def following_tuesday_every_four_years_observance(dt): month=6, day=19, start_date=Timestamp("2022-01-01"), - observance=nearest_workday + offset=DateOffset(weekday=MO(1)) ) USIndependenceDayBefore1954 = Holiday( "July 4th",