diff --git a/tests/resources/xnys.csv b/tests/resources/xnys.csv index df14850d..1c14e52d 100644 --- a/tests/resources/xnys.csv +++ b/tests/resources/xnys.csv @@ -8564,3 +8564,255 @@ 2023-12-27,2023-12-27 14:31:00,2023-12-27 21:00:00 2023-12-28,2023-12-28 14:31:00,2023-12-28 21:00:00 2023-12-29,2023-12-29 14:31:00,2023-12-29 21:00:00 +2024-01-02,2024-01-02 14:31:00,2024-01-02 21:00:00 +2024-01-03,2024-01-03 14:31:00,2024-01-03 21:00:00 +2024-01-04,2024-01-04 14:31:00,2024-01-04 21:00:00 +2024-01-05,2024-01-05 14:31:00,2024-01-05 21:00:00 +2024-01-08,2024-01-08 14:31:00,2024-01-08 21:00:00 +2024-01-09,2024-01-09 14:31:00,2024-01-09 21:00:00 +2024-01-10,2024-01-10 14:31:00,2024-01-10 21:00:00 +2024-01-11,2024-01-11 14:31:00,2024-01-11 21:00:00 +2024-01-12,2024-01-12 14:31:00,2024-01-12 21:00:00 +2024-01-16,2024-01-16 14:31:00,2024-01-16 21:00:00 +2024-01-17,2024-01-17 14:31:00,2024-01-17 21:00:00 +2024-01-18,2024-01-18 14:31:00,2024-01-18 21:00:00 +2024-01-19,2024-01-19 14:31:00,2024-01-19 21:00:00 +2024-01-22,2024-01-22 14:31:00,2024-01-22 21:00:00 +2024-01-23,2024-01-23 14:31:00,2024-01-23 21:00:00 +2024-01-24,2024-01-24 14:31:00,2024-01-24 21:00:00 +2024-01-25,2024-01-25 14:31:00,2024-01-25 21:00:00 +2024-01-26,2024-01-26 14:31:00,2024-01-26 21:00:00 +2024-01-29,2024-01-29 14:31:00,2024-01-29 21:00:00 +2024-01-30,2024-01-30 14:31:00,2024-01-30 21:00:00 +2024-01-31,2024-01-31 14:31:00,2024-01-31 21:00:00 +2024-02-01,2024-02-01 14:31:00,2024-02-01 21:00:00 +2024-02-02,2024-02-02 14:31:00,2024-02-02 21:00:00 +2024-02-05,2024-02-05 14:31:00,2024-02-05 21:00:00 +2024-02-06,2024-02-06 14:31:00,2024-02-06 21:00:00 +2024-02-07,2024-02-07 14:31:00,2024-02-07 21:00:00 +2024-02-08,2024-02-08 14:31:00,2024-02-08 21:00:00 +2024-02-09,2024-02-09 14:31:00,2024-02-09 21:00:00 +2024-02-12,2024-02-12 14:31:00,2024-02-12 21:00:00 +2024-02-13,2024-02-13 14:31:00,2024-02-13 21:00:00 +2024-02-14,2024-02-14 14:31:00,2024-02-14 21:00:00 +2024-02-15,2024-02-15 14:31:00,2024-02-15 21:00:00 +2024-02-16,2024-02-16 14:31:00,2024-02-16 21:00:00 +2024-02-20,2024-02-20 14:31:00,2024-02-20 21:00:00 +2024-02-21,2024-02-21 14:31:00,2024-02-21 21:00:00 +2024-02-22,2024-02-22 14:31:00,2024-02-22 21:00:00 +2024-02-23,2024-02-23 14:31:00,2024-02-23 21:00:00 +2024-02-26,2024-02-26 14:31:00,2024-02-26 21:00:00 +2024-02-27,2024-02-27 14:31:00,2024-02-27 21:00:00 +2024-02-28,2024-02-28 14:31:00,2024-02-28 21:00:00 +2024-02-29,2024-02-29 14:31:00,2024-02-29 21:00:00 +2024-03-01,2024-03-01 14:31:00,2024-03-01 21:00:00 +2024-03-04,2024-03-04 14:31:00,2024-03-04 21:00:00 +2024-03-05,2024-03-05 14:31:00,2024-03-05 21:00:00 +2024-03-06,2024-03-06 14:31:00,2024-03-06 21:00:00 +2024-03-07,2024-03-07 14:31:00,2024-03-07 21:00:00 +2024-03-08,2024-03-08 14:31:00,2024-03-08 21:00:00 +2024-03-11,2024-03-11 13:31:00,2024-03-11 20:00:00 +2024-03-12,2024-03-12 13:31:00,2024-03-12 20:00:00 +2024-03-13,2024-03-13 13:31:00,2024-03-13 20:00:00 +2024-03-14,2024-03-14 13:31:00,2024-03-14 20:00:00 +2024-03-15,2024-03-15 13:31:00,2024-03-15 20:00:00 +2024-03-18,2024-03-18 13:31:00,2024-03-18 20:00:00 +2024-03-19,2024-03-19 13:31:00,2024-03-19 20:00:00 +2024-03-20,2024-03-20 13:31:00,2024-03-20 20:00:00 +2024-03-21,2024-03-21 13:31:00,2024-03-21 20:00:00 +2024-03-22,2024-03-22 13:31:00,2024-03-22 20:00:00 +2024-03-25,2024-03-25 13:31:00,2024-03-25 20:00:00 +2024-03-26,2024-03-26 13:31:00,2024-03-26 20:00:00 +2024-03-27,2024-03-27 13:31:00,2024-03-27 20:00:00 +2024-03-28,2024-03-28 13:31:00,2024-03-28 20:00:00 +2024-04-01,2024-04-01 13:31:00,2024-04-01 20:00:00 +2024-04-02,2024-04-02 13:31:00,2024-04-02 20:00:00 +2024-04-03,2024-04-03 13:31:00,2024-04-03 20:00:00 +2024-04-04,2024-04-04 13:31:00,2024-04-04 20:00:00 +2024-04-05,2024-04-05 13:31:00,2024-04-05 20:00:00 +2024-04-08,2024-04-08 13:31:00,2024-04-08 20:00:00 +2024-04-09,2024-04-09 13:31:00,2024-04-09 20:00:00 +2024-04-10,2024-04-10 13:31:00,2024-04-10 20:00:00 +2024-04-11,2024-04-11 13:31:00,2024-04-11 20:00:00 +2024-04-12,2024-04-12 13:31:00,2024-04-12 20:00:00 +2024-04-15,2024-04-15 13:31:00,2024-04-15 20:00:00 +2024-04-16,2024-04-16 13:31:00,2024-04-16 20:00:00 +2024-04-17,2024-04-17 13:31:00,2024-04-17 20:00:00 +2024-04-18,2024-04-18 13:31:00,2024-04-18 20:00:00 +2024-04-19,2024-04-19 13:31:00,2024-04-19 20:00:00 +2024-04-22,2024-04-22 13:31:00,2024-04-22 20:00:00 +2024-04-23,2024-04-23 13:31:00,2024-04-23 20:00:00 +2024-04-24,2024-04-24 13:31:00,2024-04-24 20:00:00 +2024-04-25,2024-04-25 13:31:00,2024-04-25 20:00:00 +2024-04-26,2024-04-26 13:31:00,2024-04-26 20:00:00 +2024-04-29,2024-04-29 13:31:00,2024-04-29 20:00:00 +2024-04-30,2024-04-30 13:31:00,2024-04-30 20:00:00 +2024-05-01,2024-05-01 13:31:00,2024-05-01 20:00:00 +2024-05-02,2024-05-02 13:31:00,2024-05-02 20:00:00 +2024-05-03,2024-05-03 13:31:00,2024-05-03 20:00:00 +2024-05-06,2024-05-06 13:31:00,2024-05-06 20:00:00 +2024-05-07,2024-05-07 13:31:00,2024-05-07 20:00:00 +2024-05-08,2024-05-08 13:31:00,2024-05-08 20:00:00 +2024-05-09,2024-05-09 13:31:00,2024-05-09 20:00:00 +2024-05-10,2024-05-10 13:31:00,2024-05-10 20:00:00 +2024-05-13,2024-05-13 13:31:00,2024-05-13 20:00:00 +2024-05-14,2024-05-14 13:31:00,2024-05-14 20:00:00 +2024-05-15,2024-05-15 13:31:00,2024-05-15 20:00:00 +2024-05-16,2024-05-16 13:31:00,2024-05-16 20:00:00 +2024-05-17,2024-05-17 13:31:00,2024-05-17 20:00:00 +2024-05-20,2024-05-20 13:31:00,2024-05-20 20:00:00 +2024-05-21,2024-05-21 13:31:00,2024-05-21 20:00:00 +2024-05-22,2024-05-22 13:31:00,2024-05-22 20:00:00 +2024-05-23,2024-05-23 13:31:00,2024-05-23 20:00:00 +2024-05-24,2024-05-24 13:31:00,2024-05-24 20:00:00 +2024-05-28,2024-05-28 13:31:00,2024-05-28 20:00:00 +2024-05-29,2024-05-29 13:31:00,2024-05-29 20:00:00 +2024-05-30,2024-05-30 13:31:00,2024-05-30 20:00:00 +2024-05-31,2024-05-31 13:31:00,2024-05-31 20:00:00 +2024-06-03,2024-06-03 13:31:00,2024-06-03 20:00:00 +2024-06-04,2024-06-04 13:31:00,2024-06-04 20:00:00 +2024-06-05,2024-06-05 13:31:00,2024-06-05 20:00:00 +2024-06-06,2024-06-06 13:31:00,2024-06-06 20:00:00 +2024-06-07,2024-06-07 13:31:00,2024-06-07 20:00:00 +2024-06-10,2024-06-10 13:31:00,2024-06-10 20:00:00 +2024-06-11,2024-06-11 13:31:00,2024-06-11 20:00:00 +2024-06-12,2024-06-12 13:31:00,2024-06-12 20:00:00 +2024-06-13,2024-06-13 13:31:00,2024-06-13 20:00:00 +2024-06-14,2024-06-14 13:31:00,2024-06-14 20:00:00 +2024-06-17,2024-06-17 13:31:00,2024-06-17 20:00:00 +2024-06-18,2024-06-18 13:31:00,2024-06-18 20:00:00 +2024-06-20,2024-06-20 13:31:00,2024-06-20 20:00:00 +2024-06-21,2024-06-21 13:31:00,2024-06-21 20:00:00 +2024-06-24,2024-06-24 13:31:00,2024-06-24 20:00:00 +2024-06-25,2024-06-25 13:31:00,2024-06-25 20:00:00 +2024-06-26,2024-06-26 13:31:00,2024-06-26 20:00:00 +2024-06-27,2024-06-27 13:31:00,2024-06-27 20:00:00 +2024-06-28,2024-06-28 13:31:00,2024-06-28 20:00:00 +2024-07-01,2024-07-01 13:31:00,2024-07-01 20:00:00 +2024-07-02,2024-07-02 13:31:00,2024-07-02 20:00:00 +2024-07-03,2024-07-03 13:31:00,2024-07-03 17:00:00 +2024-07-05,2024-07-05 13:31:00,2024-07-05 20:00:00 +2024-07-08,2024-07-08 13:31:00,2024-07-08 20:00:00 +2024-07-09,2024-07-09 13:31:00,2024-07-09 20:00:00 +2024-07-10,2024-07-10 13:31:00,2024-07-10 20:00:00 +2024-07-11,2024-07-11 13:31:00,2024-07-11 20:00:00 +2024-07-12,2024-07-12 13:31:00,2024-07-12 20:00:00 +2024-07-15,2024-07-15 13:31:00,2024-07-15 20:00:00 +2024-07-16,2024-07-16 13:31:00,2024-07-16 20:00:00 +2024-07-17,2024-07-17 13:31:00,2024-07-17 20:00:00 +2024-07-18,2024-07-18 13:31:00,2024-07-18 20:00:00 +2024-07-19,2024-07-19 13:31:00,2024-07-19 20:00:00 +2024-07-22,2024-07-22 13:31:00,2024-07-22 20:00:00 +2024-07-23,2024-07-23 13:31:00,2024-07-23 20:00:00 +2024-07-24,2024-07-24 13:31:00,2024-07-24 20:00:00 +2024-07-25,2024-07-25 13:31:00,2024-07-25 20:00:00 +2024-07-26,2024-07-26 13:31:00,2024-07-26 20:00:00 +2024-07-29,2024-07-29 13:31:00,2024-07-29 20:00:00 +2024-07-30,2024-07-30 13:31:00,2024-07-30 20:00:00 +2024-07-31,2024-07-31 13:31:00,2024-07-31 20:00:00 +2024-08-01,2024-08-01 13:31:00,2024-08-01 20:00:00 +2024-08-02,2024-08-02 13:31:00,2024-08-02 20:00:00 +2024-08-05,2024-08-05 13:31:00,2024-08-05 20:00:00 +2024-08-06,2024-08-06 13:31:00,2024-08-06 20:00:00 +2024-08-07,2024-08-07 13:31:00,2024-08-07 20:00:00 +2024-08-08,2024-08-08 13:31:00,2024-08-08 20:00:00 +2024-08-09,2024-08-09 13:31:00,2024-08-09 20:00:00 +2024-08-12,2024-08-12 13:31:00,2024-08-12 20:00:00 +2024-08-13,2024-08-13 13:31:00,2024-08-13 20:00:00 +2024-08-14,2024-08-14 13:31:00,2024-08-14 20:00:00 +2024-08-15,2024-08-15 13:31:00,2024-08-15 20:00:00 +2024-08-16,2024-08-16 13:31:00,2024-08-16 20:00:00 +2024-08-19,2024-08-19 13:31:00,2024-08-19 20:00:00 +2024-08-20,2024-08-20 13:31:00,2024-08-20 20:00:00 +2024-08-21,2024-08-21 13:31:00,2024-08-21 20:00:00 +2024-08-22,2024-08-22 13:31:00,2024-08-22 20:00:00 +2024-08-23,2024-08-23 13:31:00,2024-08-23 20:00:00 +2024-08-26,2024-08-26 13:31:00,2024-08-26 20:00:00 +2024-08-27,2024-08-27 13:31:00,2024-08-27 20:00:00 +2024-08-28,2024-08-28 13:31:00,2024-08-28 20:00:00 +2024-08-29,2024-08-29 13:31:00,2024-08-29 20:00:00 +2024-08-30,2024-08-30 13:31:00,2024-08-30 20:00:00 +2024-09-03,2024-09-03 13:31:00,2024-09-03 20:00:00 +2024-09-04,2024-09-04 13:31:00,2024-09-04 20:00:00 +2024-09-05,2024-09-05 13:31:00,2024-09-05 20:00:00 +2024-09-06,2024-09-06 13:31:00,2024-09-06 20:00:00 +2024-09-09,2024-09-09 13:31:00,2024-09-09 20:00:00 +2024-09-10,2024-09-10 13:31:00,2024-09-10 20:00:00 +2024-09-11,2024-09-11 13:31:00,2024-09-11 20:00:00 +2024-09-12,2024-09-12 13:31:00,2024-09-12 20:00:00 +2024-09-13,2024-09-13 13:31:00,2024-09-13 20:00:00 +2024-09-16,2024-09-16 13:31:00,2024-09-16 20:00:00 +2024-09-17,2024-09-17 13:31:00,2024-09-17 20:00:00 +2024-09-18,2024-09-18 13:31:00,2024-09-18 20:00:00 +2024-09-19,2024-09-19 13:31:00,2024-09-19 20:00:00 +2024-09-20,2024-09-20 13:31:00,2024-09-20 20:00:00 +2024-09-23,2024-09-23 13:31:00,2024-09-23 20:00:00 +2024-09-24,2024-09-24 13:31:00,2024-09-24 20:00:00 +2024-09-25,2024-09-25 13:31:00,2024-09-25 20:00:00 +2024-09-26,2024-09-26 13:31:00,2024-09-26 20:00:00 +2024-09-27,2024-09-27 13:31:00,2024-09-27 20:00:00 +2024-09-30,2024-09-30 13:31:00,2024-09-30 20:00:00 +2024-10-01,2024-10-01 13:31:00,2024-10-01 20:00:00 +2024-10-02,2024-10-02 13:31:00,2024-10-02 20:00:00 +2024-10-03,2024-10-03 13:31:00,2024-10-03 20:00:00 +2024-10-04,2024-10-04 13:31:00,2024-10-04 20:00:00 +2024-10-07,2024-10-07 13:31:00,2024-10-07 20:00:00 +2024-10-08,2024-10-08 13:31:00,2024-10-08 20:00:00 +2024-10-09,2024-10-09 13:31:00,2024-10-09 20:00:00 +2024-10-10,2024-10-10 13:31:00,2024-10-10 20:00:00 +2024-10-11,2024-10-11 13:31:00,2024-10-11 20:00:00 +2024-10-14,2024-10-14 13:31:00,2024-10-14 20:00:00 +2024-10-15,2024-10-15 13:31:00,2024-10-15 20:00:00 +2024-10-16,2024-10-16 13:31:00,2024-10-16 20:00:00 +2024-10-17,2024-10-17 13:31:00,2024-10-17 20:00:00 +2024-10-18,2024-10-18 13:31:00,2024-10-18 20:00:00 +2024-10-21,2024-10-21 13:31:00,2024-10-21 20:00:00 +2024-10-22,2024-10-22 13:31:00,2024-10-22 20:00:00 +2024-10-23,2024-10-23 13:31:00,2024-10-23 20:00:00 +2024-10-24,2024-10-24 13:31:00,2024-10-24 20:00:00 +2024-10-25,2024-10-25 13:31:00,2024-10-25 20:00:00 +2024-10-28,2024-10-28 13:31:00,2024-10-28 20:00:00 +2024-10-29,2024-10-29 13:31:00,2024-10-29 20:00:00 +2024-10-30,2024-10-30 13:31:00,2024-10-30 20:00:00 +2024-10-31,2024-10-31 13:31:00,2024-10-31 20:00:00 +2024-11-01,2024-11-01 13:31:00,2024-11-01 20:00:00 +2024-11-04,2024-11-04 14:31:00,2024-11-04 21:00:00 +2024-11-05,2024-11-05 14:31:00,2024-11-05 21:00:00 +2024-11-06,2024-11-06 14:31:00,2024-11-06 21:00:00 +2024-11-07,2024-11-07 14:31:00,2024-11-07 21:00:00 +2024-11-08,2024-11-08 14:31:00,2024-11-08 21:00:00 +2024-11-11,2024-11-11 14:31:00,2024-11-11 21:00:00 +2024-11-12,2024-11-12 14:31:00,2024-11-12 21:00:00 +2024-11-13,2024-11-13 14:31:00,2024-11-13 21:00:00 +2024-11-14,2024-11-14 14:31:00,2024-11-14 21:00:00 +2024-11-15,2024-11-15 14:31:00,2024-11-15 21:00:00 +2024-11-18,2024-11-18 14:31:00,2024-11-18 21:00:00 +2024-11-19,2024-11-19 14:31:00,2024-11-19 21:00:00 +2024-11-20,2024-11-20 14:31:00,2024-11-20 21:00:00 +2024-11-21,2024-11-21 14:31:00,2024-11-21 21:00:00 +2024-11-22,2024-11-22 14:31:00,2024-11-22 21:00:00 +2024-11-25,2024-11-25 14:31:00,2024-11-25 21:00:00 +2024-11-26,2024-11-26 14:31:00,2024-11-26 21:00:00 +2024-11-27,2024-11-27 14:31:00,2024-11-27 21:00:00 +2024-11-29,2024-11-29 14:31:00,2024-11-29 18:00:00 +2024-12-02,2024-12-02 14:31:00,2024-12-02 21:00:00 +2024-12-03,2024-12-03 14:31:00,2024-12-03 21:00:00 +2024-12-04,2024-12-04 14:31:00,2024-12-04 21:00:00 +2024-12-05,2024-12-05 14:31:00,2024-12-05 21:00:00 +2024-12-06,2024-12-06 14:31:00,2024-12-06 21:00:00 +2024-12-09,2024-12-09 14:31:00,2024-12-09 21:00:00 +2024-12-10,2024-12-10 14:31:00,2024-12-10 21:00:00 +2024-12-11,2024-12-11 14:31:00,2024-12-11 21:00:00 +2024-12-12,2024-12-12 14:31:00,2024-12-12 21:00:00 +2024-12-13,2024-12-13 14:31:00,2024-12-13 21:00:00 +2024-12-16,2024-12-16 14:31:00,2024-12-16 21:00:00 +2024-12-17,2024-12-17 14:31:00,2024-12-17 21:00:00 +2024-12-18,2024-12-18 14:31:00,2024-12-18 21:00:00 +2024-12-19,2024-12-19 14:31:00,2024-12-19 21:00:00 +2024-12-20,2024-12-20 14:31:00,2024-12-20 21:00:00 +2024-12-23,2024-12-23 14:31:00,2024-12-23 21:00:00 +2024-12-24,2024-12-24 14:31:00,2024-12-24 18:00:00 +2024-12-26,2024-12-26 14:31:00,2024-12-26 21:00:00 +2024-12-27,2024-12-27 14:31:00,2024-12-27 21:00:00 +2024-12-30,2024-12-30 14:31:00,2024-12-30 21:00:00 +2024-12-31,2024-12-31 14:31:00,2024-12-31 21:00:00 diff --git a/tests/resources/xtks.csv b/tests/resources/xtks.csv index 528d7bd9..878721c8 100644 --- a/tests/resources/xtks.csv +++ b/tests/resources/xtks.csv @@ -5882,3 +5882,248 @@ 2023-12-27,2023-12-27 00:01:00,2023-12-27 06:00:00 2023-12-28,2023-12-28 00:01:00,2023-12-28 06:00:00 2023-12-29,2023-12-29 00:01:00,2023-12-29 06:00:00 +2024-01-04,2024-01-04 00:01:00,2024-01-04 06:00:00 +2024-01-05,2024-01-05 00:01:00,2024-01-05 06:00:00 +2024-01-09,2024-01-09 00:01:00,2024-01-09 06:00:00 +2024-01-10,2024-01-10 00:01:00,2024-01-10 06:00:00 +2024-01-11,2024-01-11 00:01:00,2024-01-11 06:00:00 +2024-01-12,2024-01-12 00:01:00,2024-01-12 06:00:00 +2024-01-15,2024-01-15 00:01:00,2024-01-15 06:00:00 +2024-01-16,2024-01-16 00:01:00,2024-01-16 06:00:00 +2024-01-17,2024-01-17 00:01:00,2024-01-17 06:00:00 +2024-01-18,2024-01-18 00:01:00,2024-01-18 06:00:00 +2024-01-19,2024-01-19 00:01:00,2024-01-19 06:00:00 +2024-01-22,2024-01-22 00:01:00,2024-01-22 06:00:00 +2024-01-23,2024-01-23 00:01:00,2024-01-23 06:00:00 +2024-01-24,2024-01-24 00:01:00,2024-01-24 06:00:00 +2024-01-25,2024-01-25 00:01:00,2024-01-25 06:00:00 +2024-01-26,2024-01-26 00:01:00,2024-01-26 06:00:00 +2024-01-29,2024-01-29 00:01:00,2024-01-29 06:00:00 +2024-01-30,2024-01-30 00:01:00,2024-01-30 06:00:00 +2024-01-31,2024-01-31 00:01:00,2024-01-31 06:00:00 +2024-02-01,2024-02-01 00:01:00,2024-02-01 06:00:00 +2024-02-02,2024-02-02 00:01:00,2024-02-02 06:00:00 +2024-02-05,2024-02-05 00:01:00,2024-02-05 06:00:00 +2024-02-06,2024-02-06 00:01:00,2024-02-06 06:00:00 +2024-02-07,2024-02-07 00:01:00,2024-02-07 06:00:00 +2024-02-08,2024-02-08 00:01:00,2024-02-08 06:00:00 +2024-02-09,2024-02-09 00:01:00,2024-02-09 06:00:00 +2024-02-13,2024-02-13 00:01:00,2024-02-13 06:00:00 +2024-02-14,2024-02-14 00:01:00,2024-02-14 06:00:00 +2024-02-15,2024-02-15 00:01:00,2024-02-15 06:00:00 +2024-02-16,2024-02-16 00:01:00,2024-02-16 06:00:00 +2024-02-19,2024-02-19 00:01:00,2024-02-19 06:00:00 +2024-02-20,2024-02-20 00:01:00,2024-02-20 06:00:00 +2024-02-21,2024-02-21 00:01:00,2024-02-21 06:00:00 +2024-02-22,2024-02-22 00:01:00,2024-02-22 06:00:00 +2024-02-26,2024-02-26 00:01:00,2024-02-26 06:00:00 +2024-02-27,2024-02-27 00:01:00,2024-02-27 06:00:00 +2024-02-28,2024-02-28 00:01:00,2024-02-28 06:00:00 +2024-02-29,2024-02-29 00:01:00,2024-02-29 06:00:00 +2024-03-01,2024-03-01 00:01:00,2024-03-01 06:00:00 +2024-03-04,2024-03-04 00:01:00,2024-03-04 06:00:00 +2024-03-05,2024-03-05 00:01:00,2024-03-05 06:00:00 +2024-03-06,2024-03-06 00:01:00,2024-03-06 06:00:00 +2024-03-07,2024-03-07 00:01:00,2024-03-07 06:00:00 +2024-03-08,2024-03-08 00:01:00,2024-03-08 06:00:00 +2024-03-11,2024-03-11 00:01:00,2024-03-11 06:00:00 +2024-03-12,2024-03-12 00:01:00,2024-03-12 06:00:00 +2024-03-13,2024-03-13 00:01:00,2024-03-13 06:00:00 +2024-03-14,2024-03-14 00:01:00,2024-03-14 06:00:00 +2024-03-15,2024-03-15 00:01:00,2024-03-15 06:00:00 +2024-03-18,2024-03-18 00:01:00,2024-03-18 06:00:00 +2024-03-19,2024-03-19 00:01:00,2024-03-19 06:00:00 +2024-03-21,2024-03-21 00:01:00,2024-03-21 06:00:00 +2024-03-22,2024-03-22 00:01:00,2024-03-22 06:00:00 +2024-03-25,2024-03-25 00:01:00,2024-03-25 06:00:00 +2024-03-26,2024-03-26 00:01:00,2024-03-26 06:00:00 +2024-03-27,2024-03-27 00:01:00,2024-03-27 06:00:00 +2024-03-28,2024-03-28 00:01:00,2024-03-28 06:00:00 +2024-03-29,2024-03-29 00:01:00,2024-03-29 06:00:00 +2024-04-01,2024-04-01 00:01:00,2024-04-01 06:00:00 +2024-04-02,2024-04-02 00:01:00,2024-04-02 06:00:00 +2024-04-03,2024-04-03 00:01:00,2024-04-03 06:00:00 +2024-04-04,2024-04-04 00:01:00,2024-04-04 06:00:00 +2024-04-05,2024-04-05 00:01:00,2024-04-05 06:00:00 +2024-04-08,2024-04-08 00:01:00,2024-04-08 06:00:00 +2024-04-09,2024-04-09 00:01:00,2024-04-09 06:00:00 +2024-04-10,2024-04-10 00:01:00,2024-04-10 06:00:00 +2024-04-11,2024-04-11 00:01:00,2024-04-11 06:00:00 +2024-04-12,2024-04-12 00:01:00,2024-04-12 06:00:00 +2024-04-15,2024-04-15 00:01:00,2024-04-15 06:00:00 +2024-04-16,2024-04-16 00:01:00,2024-04-16 06:00:00 +2024-04-17,2024-04-17 00:01:00,2024-04-17 06:00:00 +2024-04-18,2024-04-18 00:01:00,2024-04-18 06:00:00 +2024-04-19,2024-04-19 00:01:00,2024-04-19 06:00:00 +2024-04-22,2024-04-22 00:01:00,2024-04-22 06:00:00 +2024-04-23,2024-04-23 00:01:00,2024-04-23 06:00:00 +2024-04-24,2024-04-24 00:01:00,2024-04-24 06:00:00 +2024-04-25,2024-04-25 00:01:00,2024-04-25 06:00:00 +2024-04-26,2024-04-26 00:01:00,2024-04-26 06:00:00 +2024-04-30,2024-04-30 00:01:00,2024-04-30 06:00:00 +2024-05-01,2024-05-01 00:01:00,2024-05-01 06:00:00 +2024-05-02,2024-05-02 00:01:00,2024-05-02 06:00:00 +2024-05-07,2024-05-07 00:01:00,2024-05-07 06:00:00 +2024-05-08,2024-05-08 00:01:00,2024-05-08 06:00:00 +2024-05-09,2024-05-09 00:01:00,2024-05-09 06:00:00 +2024-05-10,2024-05-10 00:01:00,2024-05-10 06:00:00 +2024-05-13,2024-05-13 00:01:00,2024-05-13 06:00:00 +2024-05-14,2024-05-14 00:01:00,2024-05-14 06:00:00 +2024-05-15,2024-05-15 00:01:00,2024-05-15 06:00:00 +2024-05-16,2024-05-16 00:01:00,2024-05-16 06:00:00 +2024-05-17,2024-05-17 00:01:00,2024-05-17 06:00:00 +2024-05-20,2024-05-20 00:01:00,2024-05-20 06:00:00 +2024-05-21,2024-05-21 00:01:00,2024-05-21 06:00:00 +2024-05-22,2024-05-22 00:01:00,2024-05-22 06:00:00 +2024-05-23,2024-05-23 00:01:00,2024-05-23 06:00:00 +2024-05-24,2024-05-24 00:01:00,2024-05-24 06:00:00 +2024-05-27,2024-05-27 00:01:00,2024-05-27 06:00:00 +2024-05-28,2024-05-28 00:01:00,2024-05-28 06:00:00 +2024-05-29,2024-05-29 00:01:00,2024-05-29 06:00:00 +2024-05-30,2024-05-30 00:01:00,2024-05-30 06:00:00 +2024-05-31,2024-05-31 00:01:00,2024-05-31 06:00:00 +2024-06-03,2024-06-03 00:01:00,2024-06-03 06:00:00 +2024-06-04,2024-06-04 00:01:00,2024-06-04 06:00:00 +2024-06-05,2024-06-05 00:01:00,2024-06-05 06:00:00 +2024-06-06,2024-06-06 00:01:00,2024-06-06 06:00:00 +2024-06-07,2024-06-07 00:01:00,2024-06-07 06:00:00 +2024-06-10,2024-06-10 00:01:00,2024-06-10 06:00:00 +2024-06-11,2024-06-11 00:01:00,2024-06-11 06:00:00 +2024-06-12,2024-06-12 00:01:00,2024-06-12 06:00:00 +2024-06-13,2024-06-13 00:01:00,2024-06-13 06:00:00 +2024-06-14,2024-06-14 00:01:00,2024-06-14 06:00:00 +2024-06-17,2024-06-17 00:01:00,2024-06-17 06:00:00 +2024-06-18,2024-06-18 00:01:00,2024-06-18 06:00:00 +2024-06-19,2024-06-19 00:01:00,2024-06-19 06:00:00 +2024-06-20,2024-06-20 00:01:00,2024-06-20 06:00:00 +2024-06-21,2024-06-21 00:01:00,2024-06-21 06:00:00 +2024-06-24,2024-06-24 00:01:00,2024-06-24 06:00:00 +2024-06-25,2024-06-25 00:01:00,2024-06-25 06:00:00 +2024-06-26,2024-06-26 00:01:00,2024-06-26 06:00:00 +2024-06-27,2024-06-27 00:01:00,2024-06-27 06:00:00 +2024-06-28,2024-06-28 00:01:00,2024-06-28 06:00:00 +2024-07-01,2024-07-01 00:01:00,2024-07-01 06:00:00 +2024-07-02,2024-07-02 00:01:00,2024-07-02 06:00:00 +2024-07-03,2024-07-03 00:01:00,2024-07-03 06:00:00 +2024-07-04,2024-07-04 00:01:00,2024-07-04 06:00:00 +2024-07-05,2024-07-05 00:01:00,2024-07-05 06:00:00 +2024-07-08,2024-07-08 00:01:00,2024-07-08 06:00:00 +2024-07-09,2024-07-09 00:01:00,2024-07-09 06:00:00 +2024-07-10,2024-07-10 00:01:00,2024-07-10 06:00:00 +2024-07-11,2024-07-11 00:01:00,2024-07-11 06:00:00 +2024-07-12,2024-07-12 00:01:00,2024-07-12 06:00:00 +2024-07-16,2024-07-16 00:01:00,2024-07-16 06:00:00 +2024-07-17,2024-07-17 00:01:00,2024-07-17 06:00:00 +2024-07-18,2024-07-18 00:01:00,2024-07-18 06:00:00 +2024-07-19,2024-07-19 00:01:00,2024-07-19 06:00:00 +2024-07-22,2024-07-22 00:01:00,2024-07-22 06:00:00 +2024-07-23,2024-07-23 00:01:00,2024-07-23 06:00:00 +2024-07-24,2024-07-24 00:01:00,2024-07-24 06:00:00 +2024-07-25,2024-07-25 00:01:00,2024-07-25 06:00:00 +2024-07-26,2024-07-26 00:01:00,2024-07-26 06:00:00 +2024-07-29,2024-07-29 00:01:00,2024-07-29 06:00:00 +2024-07-30,2024-07-30 00:01:00,2024-07-30 06:00:00 +2024-07-31,2024-07-31 00:01:00,2024-07-31 06:00:00 +2024-08-01,2024-08-01 00:01:00,2024-08-01 06:00:00 +2024-08-02,2024-08-02 00:01:00,2024-08-02 06:00:00 +2024-08-05,2024-08-05 00:01:00,2024-08-05 06:00:00 +2024-08-06,2024-08-06 00:01:00,2024-08-06 06:00:00 +2024-08-07,2024-08-07 00:01:00,2024-08-07 06:00:00 +2024-08-08,2024-08-08 00:01:00,2024-08-08 06:00:00 +2024-08-09,2024-08-09 00:01:00,2024-08-09 06:00:00 +2024-08-13,2024-08-13 00:01:00,2024-08-13 06:00:00 +2024-08-14,2024-08-14 00:01:00,2024-08-14 06:00:00 +2024-08-15,2024-08-15 00:01:00,2024-08-15 06:00:00 +2024-08-16,2024-08-16 00:01:00,2024-08-16 06:00:00 +2024-08-19,2024-08-19 00:01:00,2024-08-19 06:00:00 +2024-08-20,2024-08-20 00:01:00,2024-08-20 06:00:00 +2024-08-21,2024-08-21 00:01:00,2024-08-21 06:00:00 +2024-08-22,2024-08-22 00:01:00,2024-08-22 06:00:00 +2024-08-23,2024-08-23 00:01:00,2024-08-23 06:00:00 +2024-08-26,2024-08-26 00:01:00,2024-08-26 06:00:00 +2024-08-27,2024-08-27 00:01:00,2024-08-27 06:00:00 +2024-08-28,2024-08-28 00:01:00,2024-08-28 06:00:00 +2024-08-29,2024-08-29 00:01:00,2024-08-29 06:00:00 +2024-08-30,2024-08-30 00:01:00,2024-08-30 06:00:00 +2024-09-02,2024-09-02 00:01:00,2024-09-02 06:00:00 +2024-09-03,2024-09-03 00:01:00,2024-09-03 06:00:00 +2024-09-04,2024-09-04 00:01:00,2024-09-04 06:00:00 +2024-09-05,2024-09-05 00:01:00,2024-09-05 06:00:00 +2024-09-06,2024-09-06 00:01:00,2024-09-06 06:00:00 +2024-09-09,2024-09-09 00:01:00,2024-09-09 06:00:00 +2024-09-10,2024-09-10 00:01:00,2024-09-10 06:00:00 +2024-09-11,2024-09-11 00:01:00,2024-09-11 06:00:00 +2024-09-12,2024-09-12 00:01:00,2024-09-12 06:00:00 +2024-09-13,2024-09-13 00:01:00,2024-09-13 06:00:00 +2024-09-17,2024-09-17 00:01:00,2024-09-17 06:00:00 +2024-09-18,2024-09-18 00:01:00,2024-09-18 06:00:00 +2024-09-19,2024-09-19 00:01:00,2024-09-19 06:00:00 +2024-09-20,2024-09-20 00:01:00,2024-09-20 06:00:00 +2024-09-24,2024-09-24 00:01:00,2024-09-24 06:00:00 +2024-09-25,2024-09-25 00:01:00,2024-09-25 06:00:00 +2024-09-26,2024-09-26 00:01:00,2024-09-26 06:00:00 +2024-09-27,2024-09-27 00:01:00,2024-09-27 06:00:00 +2024-09-30,2024-09-30 00:01:00,2024-09-30 06:00:00 +2024-10-01,2024-10-01 00:01:00,2024-10-01 06:00:00 +2024-10-02,2024-10-02 00:01:00,2024-10-02 06:00:00 +2024-10-03,2024-10-03 00:01:00,2024-10-03 06:00:00 +2024-10-04,2024-10-04 00:01:00,2024-10-04 06:00:00 +2024-10-07,2024-10-07 00:01:00,2024-10-07 06:00:00 +2024-10-08,2024-10-08 00:01:00,2024-10-08 06:00:00 +2024-10-09,2024-10-09 00:01:00,2024-10-09 06:00:00 +2024-10-10,2024-10-10 00:01:00,2024-10-10 06:00:00 +2024-10-11,2024-10-11 00:01:00,2024-10-11 06:00:00 +2024-10-15,2024-10-15 00:01:00,2024-10-15 06:00:00 +2024-10-16,2024-10-16 00:01:00,2024-10-16 06:00:00 +2024-10-17,2024-10-17 00:01:00,2024-10-17 06:00:00 +2024-10-18,2024-10-18 00:01:00,2024-10-18 06:00:00 +2024-10-21,2024-10-21 00:01:00,2024-10-21 06:00:00 +2024-10-22,2024-10-22 00:01:00,2024-10-22 06:00:00 +2024-10-23,2024-10-23 00:01:00,2024-10-23 06:00:00 +2024-10-24,2024-10-24 00:01:00,2024-10-24 06:00:00 +2024-10-25,2024-10-25 00:01:00,2024-10-25 06:00:00 +2024-10-28,2024-10-28 00:01:00,2024-10-28 06:00:00 +2024-10-29,2024-10-29 00:01:00,2024-10-29 06:00:00 +2024-10-30,2024-10-30 00:01:00,2024-10-30 06:00:00 +2024-10-31,2024-10-31 00:01:00,2024-10-31 06:00:00 +2024-11-01,2024-11-01 00:01:00,2024-11-01 06:00:00 +2024-11-05,2024-11-05 00:01:00,2024-11-05 06:00:00 +2024-11-06,2024-11-06 00:01:00,2024-11-06 06:00:00 +2024-11-07,2024-11-07 00:01:00,2024-11-07 06:00:00 +2024-11-08,2024-11-08 00:01:00,2024-11-08 06:00:00 +2024-11-11,2024-11-11 00:01:00,2024-11-11 06:00:00 +2024-11-12,2024-11-12 00:01:00,2024-11-12 06:00:00 +2024-11-13,2024-11-13 00:01:00,2024-11-13 06:00:00 +2024-11-14,2024-11-14 00:01:00,2024-11-14 06:00:00 +2024-11-15,2024-11-15 00:01:00,2024-11-15 06:00:00 +2024-11-18,2024-11-18 00:01:00,2024-11-18 06:00:00 +2024-11-19,2024-11-19 00:01:00,2024-11-19 06:00:00 +2024-11-20,2024-11-20 00:01:00,2024-11-20 06:00:00 +2024-11-21,2024-11-21 00:01:00,2024-11-21 06:00:00 +2024-11-22,2024-11-22 00:01:00,2024-11-22 06:00:00 +2024-11-25,2024-11-25 00:01:00,2024-11-25 06:00:00 +2024-11-26,2024-11-26 00:01:00,2024-11-26 06:00:00 +2024-11-27,2024-11-27 00:01:00,2024-11-27 06:00:00 +2024-11-28,2024-11-28 00:01:00,2024-11-28 06:00:00 +2024-11-29,2024-11-29 00:01:00,2024-11-29 06:00:00 +2024-12-02,2024-12-02 00:01:00,2024-12-02 06:00:00 +2024-12-03,2024-12-03 00:01:00,2024-12-03 06:00:00 +2024-12-04,2024-12-04 00:01:00,2024-12-04 06:00:00 +2024-12-05,2024-12-05 00:01:00,2024-12-05 06:00:00 +2024-12-06,2024-12-06 00:01:00,2024-12-06 06:00:00 +2024-12-09,2024-12-09 00:01:00,2024-12-09 06:00:00 +2024-12-10,2024-12-10 00:01:00,2024-12-10 06:00:00 +2024-12-11,2024-12-11 00:01:00,2024-12-11 06:00:00 +2024-12-12,2024-12-12 00:01:00,2024-12-12 06:00:00 +2024-12-13,2024-12-13 00:01:00,2024-12-13 06:00:00 +2024-12-16,2024-12-16 00:01:00,2024-12-16 06:00:00 +2024-12-17,2024-12-17 00:01:00,2024-12-17 06:00:00 +2024-12-18,2024-12-18 00:01:00,2024-12-18 06:00:00 +2024-12-19,2024-12-19 00:01:00,2024-12-19 06:00:00 +2024-12-20,2024-12-20 00:01:00,2024-12-20 06:00:00 +2024-12-23,2024-12-23 00:01:00,2024-12-23 06:00:00 +2024-12-24,2024-12-24 00:01:00,2024-12-24 06:00:00 +2024-12-25,2024-12-25 00:01:00,2024-12-25 06:00:00 +2024-12-26,2024-12-26 00:01:00,2024-12-26 06:00:00 +2024-12-27,2024-12-27 00:01:00,2024-12-27 06:00:00 +2024-12-30,2024-12-30 00:01:00,2024-12-30 06:00:00 diff --git a/tests/test_xnys_calendar.py b/tests/test_xnys_calendar.py index bdecbdf3..fe1201f9 100644 --- a/tests/test_xnys_calendar.py +++ b/tests/test_xnys_calendar.py @@ -284,3 +284,38 @@ def test_2023(self): bdays = weekdays[~weekdays.isin(expected_holidays_2023)] for session_label in bdays: self.assertIn(session_label, self.calendar.all_sessions) + + def test_2024(self): + expected_holidays_2024 = [ + pd.Timestamp("2024-01-01", tz="UTC"), # New Years Day + pd.Timestamp("2024-01-15", tz="UTC"), # Martin Luther King Jr. Day + pd.Timestamp("2024-02-19", tz="UTC"), # Washington's Birthday + pd.Timestamp("2024-03-29", tz="UTC"), # Good Friday + pd.Timestamp("2024-05-27", tz="UTC"), # Memorial Day + pd.Timestamp("2024-06-19", tz="UTC"), # Juneteenth + pd.Timestamp("2024-07-04", tz="UTC"), # Independence Day + pd.Timestamp("2024-09-02", tz="UTC"), # Labor Day + pd.Timestamp("2024-11-28", tz="UTC"), # Thanksgiving Day + pd.Timestamp("2024-12-25", tz="UTC"), # Christmas Day + ] + + early_closes = [ + pd.Timestamp("2024-07-03", tz="UTC"), # Independence Day + pd.Timestamp("2024-11-29", tz="UTC"), # Thanksgiving Day + pd.Timestamp("2024-12-24", tz="UTC"), # Christmas Eve + ] + + for session_label in expected_holidays_2024: + self.assertNotIn(session_label, self.calendar.all_sessions) + + for session_label in early_closes: + self.assertIn(session_label, self.calendar.early_closes) + + weekdays = pd.bdate_range( + start="2024-01-01", + end="2024-12-31", + tz="UTC", + ) + bdays = weekdays[~weekdays.isin(expected_holidays_2024)] + for session_label in bdays: + self.assertIn(session_label, self.calendar.all_sessions) diff --git a/tests/test_xtks_calendar.py b/tests/test_xtks_calendar.py index c3fa1517..6e3efb3e 100644 --- a/tests/test_xtks_calendar.py +++ b/tests/test_xtks_calendar.py @@ -319,3 +319,43 @@ def test_2023(self): bdays = weekdays[~weekdays.isin(expected_holidays_2023)] for session_label in bdays: self.assertIn(session_label, self.calendar.all_sessions) + + def test_2024(self): + expected_holidays_2024 = [ + pd.Timestamp("2024-01-01", tz="UTC"), # New Year's Day + pd.Timestamp("2024-01-02", tz="UTC"), # Market Holiday + pd.Timestamp("2024-01-03", tz="UTC"), # Market Holiday + pd.Timestamp("2024-01-08", tz="UTC"), # Coming of Age Day + pd.Timestamp("2024-02-11", tz="UTC"), # National Foundation Day + pd.Timestamp("2024-02-12", tz="UTC"), # National Foundation Day + pd.Timestamp("2024-02-23", tz="UTC"), # Emperor's Birthday + pd.Timestamp("2024-03-20", tz="UTC"), # Vernal Equinox + pd.Timestamp("2024-04-29", tz="UTC"), # Showa Day + pd.Timestamp("2024-05-03", tz="UTC"), # Constitution Memorial Day + pd.Timestamp("2024-05-04", tz="UTC"), # Greenery Day + pd.Timestamp("2024-05-05", tz="UTC"), # Children's Day + pd.Timestamp("2024-05-06", tz="UTC"), # Children's Day (May 5) + pd.Timestamp("2024-07-15", tz="UTC"), # Marine Day + pd.Timestamp("2024-08-11", tz="UTC"), # Mountain Day + pd.Timestamp("2024-08-12", tz="UTC"), # Mountain Day (Aug. 11) + pd.Timestamp("2024-09-16", tz="UTC"), # Respect for the Aged Day + pd.Timestamp("2024-09-22", tz="UTC"), # Autumnal Equinox + pd.Timestamp("2024-09-23", tz="UTC"), # Autumnal Equinox (Sep. 22) + pd.Timestamp("2024-10-14", tz="UTC"), # Sports Day + pd.Timestamp("2024-11-03", tz="UTC"), # Culture Day + pd.Timestamp("2024-11-04", tz="UTC"), # Culture Day (11-03) + pd.Timestamp("2024-11-23", tz="UTC"), # Labor Thanksgiving Day + pd.Timestamp("2024-12-31", tz="UTC"), # Market Holiday + ] + + for session_label in expected_holidays_2024: + self.assertNotIn(session_label, self.calendar.all_sessions) + + weekdays = pd.bdate_range( + start="2024-01-01", + end="2024-12-31", + tz="UTC", + ) + bdays = weekdays[~weekdays.isin(expected_holidays_2024)] + for session_label in bdays: + self.assertIn(session_label, self.calendar.all_sessions) diff --git a/trading_calendars/us_holidays.py b/trading_calendars/us_holidays.py index d4a93190..bfff918a 100644 --- a/trading_calendars/us_holidays.py +++ b/trading_calendars/us_holidays.py @@ -164,7 +164,7 @@ def following_tuesday_every_four_years_observance(dt): month=6, day=19, start_date=Timestamp("2022-01-01"), - offset=DateOffset(weekday=MO(1)), + observance=nearest_workday, ) USIndependenceDayBefore1954 = Holiday( diff --git a/trading_calendars/xtks_holidays.py b/trading_calendars/xtks_holidays.py index fc21a073..8f2f69a7 100644 --- a/trading_calendars/xtks_holidays.py +++ b/trading_calendars/xtks_holidays.py @@ -91,6 +91,7 @@ def sunday_to_wednesday(dt): Timestamp('2021-03-20'), Timestamp('2022-03-21'), Timestamp('2023-03-21'), + Timestamp('2024-03-20'), ] # The Golden Week holidays (late April - early May) are listed in reverse @@ -261,6 +262,8 @@ def sunday_to_wednesday(dt): Timestamp('2020-09-22'), Timestamp('2021-09-23'), Timestamp('2022-09-23'), + Timestamp('2023-09-23'), + Timestamp('2024-09-23'), ] # If the Autumnal Equinox falls on a Wednesday, the Tuesday before