From 5758c1c43e70c5b28f0df7ac83ba8e17e23af093 Mon Sep 17 00:00:00 2001 From: Maximilian Muecke Date: Fri, 24 Jul 2026 18:42:19 +0200 Subject: [PATCH] Add Poland market calendars --- ChangeLog | 2 ++ R/calendars.R | 2 ++ src/calendars.cpp | 8 ++++++++ 3 files changed, 12 insertions(+) diff --git a/ChangeLog b/ChangeLog index c74a083..55ffdba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -26,6 +26,8 @@ * R/discount.R: Correct typo in an error message * src/utils.cpp: Idem * R/datasets.R: Correct typo in documentation + * R/calendars.R, src/calendars.cpp: Add Poland market calendars for + QuantLib 1.36 or later 2026-07-22 Maximilian Muecke diff --git a/R/calendars.R b/R/calendars.R index cf151f4..3504ed9 100644 --- a/R/calendars.R +++ b/R/calendars.R @@ -73,6 +73,8 @@ calendars <- c("TARGET", "Norway", "Null", "Poland", + "Poland/Settlement", + "Poland/WSE", "Romania", "Russia", "SaudiArabia", diff --git a/src/calendars.cpp b/src/calendars.cpp index c4ebef0..d3c38ea 100644 --- a/src/calendars.cpp +++ b/src/calendars.cpp @@ -217,8 +217,16 @@ QuantLib::ext::shared_ptr getCalendar(const std::string &cal calstr == "NULL") { pcal.reset(new QuantLib::NullCalendar()); +#if QL_HEX_VERSION >= 0x013600f0 + } else if (calstr == "Poland" || + calstr == "Poland/Settlement") { + pcal.reset(new QuantLib::Poland(QuantLib::Poland::Settlement)); + } else if (calstr == "Poland/WSE") { + pcal.reset(new QuantLib::Poland(QuantLib::Poland::WSE)); +#else } else if (calstr == "Poland") { pcal.reset(new QuantLib::Poland()); +#endif } else if (calstr == "Romania" || calstr == "Romania/Public") { pcal.reset(new QuantLib::Romania(QuantLib::Romania::Public));