41 return (
d == 22 || (
d == 23 && w ==
Monday)
52 return (
d == 30 || (
d == 31 && w ==
Monday)
69 if (y <= 1970 || y >= 1978) {
71 return (
d == 11 || (
d == 12 && w ==
Monday) ||
80 if (y <= 1970 || y >= 1978) {
91 return (
d == 19 || (
d == 20 && w ==
Monday) || ((
d == 18 && w ==
Friday) && moveToFriday))
92 && m ==
June &&
y >= 2022;
98 static auto settlementImpl = ext::make_shared<UnitedStates::SettlementImpl>();
99 static auto liborImpactImpl = ext::make_shared<UnitedStates::LiborImpactImpl>();
100 static auto nyseImpl = ext::make_shared<UnitedStates::NyseImpl>();
101 static auto governmentImpl = ext::make_shared<UnitedStates::GovernmentBondImpl>();
102 static auto nercImpl = ext::make_shared<UnitedStates::NercImpl>();
103 static auto federalReserveImpl = ext::make_shared<UnitedStates::FederalReserveImpl>();
104 static auto sofrImpl = ext::make_shared<UnitedStates::SofrImpl>();
108 impl_ = settlementImpl;
111 impl_ = liborImpactImpl;
117 impl_ = governmentImpl;
126 impl_ = federalReserveImpl;
148 || isWashingtonBirthday(
d, m,
y, w)
150 || isMemorialDay(
d, m,
y, w)
152 || isJuneteenth(
d, m,
y, w)
154 || ((
d == 4 || (
d == 5 && w ==
Monday) ||
157 || isLaborDay(
d, m,
y, w)
159 || isColumbusDay(
d, m,
y, w)
161 || isVeteransDay(
d, m,
y, w)
165 || ((
d == 25 || (
d == 26 && w ==
Monday) ||
178 if (((
d == 5 && w ==
Monday) ||
189 Day em = easterMonday(
y);
194 || isWashingtonBirthday(
d, m,
y, w)
198 || isMemorialDay(
d, m,
y, w)
200 || isJuneteenth(
d, m,
y, w)
202 || ((
d == 4 || (
d == 5 && w ==
Monday) ||
205 || isLaborDay(
d, m,
y, w)
209 || ((
d == 25 || (
d == 26 && w ==
Monday) ||
217 if ((
y <= 1968 || (
y <= 1980 &&
y % 4 == 0)) && m ==
November
228 || (
y == 2012 && m ==
October && (
d == 29 ||
d == 30))
232 || (
y == 2004 && m ==
June &&
d == 11)
234 || (
y == 2001 && m ==
September && (11 <=
d &&
d <= 14))
236 || (
y == 1994 && m ==
April &&
d == 27)
240 || (
y == 1977 && m ==
July &&
d == 14)
242 || (
y == 1973 && m ==
January &&
d == 25)
246 || (
y == 1969 && m ==
July &&
d == 21)
248 || (
y == 1969 && m ==
March &&
d == 31)
252 || (
y == 1968 && m ==
July &&
d == 5)
257 || (
y == 1968 && m ==
April &&
d == 9)
261 || (
y == 1961 && m ==
May &&
d == 29)
265 || ((
y == 1954 ||
y == 1956 ||
y == 1965)
278 Day em = easterMonday(
y);
286 || isWashingtonBirthday(
d, m,
y, w)
298 || (dd == em-3 && (y < 1996 || d > 7))
300 || isMemorialDay(
d, m,
y, w)
302 || isJuneteenth(
d, m,
y, w)
304 || ((
d == 4 || (
d == 5 && w ==
Monday) ||
307 || isLaborDay(
d, m,
y, w)
309 || isColumbusDay(
d, m,
y, w)
311 || isVeteransDayNoSaturday(
d, m,
y, w)
315 || ((
d == 25 || (
d == 26 && w ==
Monday) ||
323 || (
y == 2012 && m ==
October &&
d == 30)
325 || (
y == 2004 && m ==
June &&
d == 11)
340 if (dY == (easterMonday(
y) - 3))
356 || isMemorialDay(
d, m,
y, w)
360 || isLaborDay(
d, m,
y, w)
383 || isWashingtonBirthday(
d, m,
y, w)
385 || isMemorialDay(
d, m,
y, w)
387 || isJuneteenth(
d, m,
y, w,
false)
391 || isLaborDay(
d, m,
y, w)
393 || isColumbusDay(
d, m,
y, w)
395 || isVeteransDayNoSaturday(
d, m,
y, w)
bool isWeekend(Weekday) const override
bool isWeekend(Weekday w) const
ext::shared_ptr< Impl > impl_
Day dayOfYear() const
One-based (Jan 1st = 1)
bool isBusinessDay(const Date &) const override
bool isBusinessDay(const Date &) const override
bool isBusinessDay(const Date &) const override
bool isBusinessDay(const Date &) const override
bool isBusinessDay(const Date &) const override
bool isBusinessDay(const Date &) const override
bool isBusinessDay(const Date &) const override
@ FederalReserve
Federal Reserve Bankwire System.
@ NYSE
New York stock exchange calendar.
@ LiborImpact
Libor impact calendar.
@ GovernmentBond
government-bond calendar
@ NERC
off-peak days for NERC
@ Settlement
generic settlement calendar
@ SOFR
SOFR fixing calendar.
UnitedStates(Market market)
Classes and functions for error handling.
#define QL_FAIL(message)
throw an error (possibly with file and line information)