diff --git a/modules/basics/src/main/java/com/opengamma/strata/basics/date/GlobalHolidayCalendars.java b/modules/basics/src/main/java/com/opengamma/strata/basics/date/GlobalHolidayCalendars.java index 436954f163..181ad9d389 100644 --- a/modules/basics/src/main/java/com/opengamma/strata/basics/date/GlobalHolidayCalendars.java +++ b/modules/basics/src/main/java/com/opengamma/strata/basics/date/GlobalHolidayCalendars.java @@ -337,7 +337,7 @@ private static void usCommon( } // juneteenth (seems like it wasn't widely applied in 2021) if (year >= 2022) { - holidays.add(bumpToFriOrMon(date(year, 6, 19))); + holidays.add(bumpBack ? bumpToFriOrMon(date(year, 6, 19)) : bumpSunToMon(date(year, 6, 19))); } // labor day holidays.add(date(year, 9, 1).with(firstInMonth(MONDAY))); diff --git a/modules/basics/src/test/java/com/opengamma/strata/basics/date/GlobalHolidayCalendarsTest.java b/modules/basics/src/test/java/com/opengamma/strata/basics/date/GlobalHolidayCalendarsTest.java index ab72db08fc..9b4f748b63 100644 --- a/modules/basics/src/test/java/com/opengamma/strata/basics/date/GlobalHolidayCalendarsTest.java +++ b/modules/basics/src/test/java/com/opengamma/strata/basics/date/GlobalHolidayCalendarsTest.java @@ -623,6 +623,15 @@ public void test_nyse(int year, List holidays) { } } + @Test + public void test_usJuneteenthSaturdayObservance() { + LocalDate observedDate = LocalDate.of(2027, 6, 18); + assertThat(USGS.isHoliday(observedDate)).isTrue(); + assertThat(NYSE.isHoliday(observedDate)).isTrue(); + assertThat(USNY.isHoliday(observedDate)).isFalse(); + assertThat(NYFD.isHoliday(observedDate)).isFalse(); + } + //------------------------------------------------------------------------- private static final HolidayCalendar JPTO = GlobalHolidayCalendars.generateTokyo();