QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
calendar class More...
#include <calendar.hpp>
Classes | |
class | Impl |
abstract base class for calendar implementations More... | |
class | OrthodoxImpl |
partial calendar implementation More... | |
class | WesternImpl |
partial calendar implementation More... | |
Public Member Functions | |
Calendar ()=default | |
Calendar interface | |
bool | empty () const |
Returns whether or not the calendar is initialized. More... | |
std::string | name () const |
Returns the name of the calendar. More... | |
const std::set< Date > & | addedHolidays () const |
const std::set< Date > & | removedHolidays () const |
void | resetAddedAndRemovedHolidays () |
bool | isBusinessDay (const Date &d) const |
bool | isHoliday (const Date &d) const |
bool | isWeekend (Weekday w) const |
bool | isEndOfMonth (const Date &d) const |
Date | endOfMonth (const Date &d) const |
last business day of the month to which the given date belongs More... | |
void | addHoliday (const Date &) |
void | removeHoliday (const Date &) |
std::vector< Date > | holidayList (const Date &from, const Date &to, bool includeWeekEnds=false) const |
std::vector< Date > | businessDayList (const Date &from, const Date &to) const |
Date | adjust (const Date &, BusinessDayConvention convention=Following) const |
Date | advance (const Date &, Integer n, TimeUnit unit, BusinessDayConvention convention=Following, bool endOfMonth=false) const |
Date | advance (const Date &date, const Period &period, BusinessDayConvention convention=Following, bool endOfMonth=false) const |
Date::serial_type | businessDaysBetween (const Date &from, const Date &to, bool includeFirst=true, bool includeLast=false) const |
Protected Attributes | |
ext::shared_ptr< Impl > | impl_ |
Related Functions | |
(Note that these are not member functions.) | |
bool | operator== (const Calendar &, const Calendar &) |
bool | operator!= (const Calendar &, const Calendar &) |
std::ostream & | operator<< (std::ostream &, const Calendar &) |
calendar class
This class provides methods for determining whether a date is a business day or a holiday for a given market, and for incrementing/decrementing a date of a given number of business days.
The Bridge pattern is used to provide the base behavior of the calendar, namely, to determine whether a date is a business day.
A calendar should be defined for specific exchange holiday schedule or for general country holiday schedule. Legacy city holiday schedule calendars will be moved to the exchange/country convention.
Definition at line 61 of file calendar.hpp.
|
default |
The default constructor returns a calendar with a null implementation, which is therefore unusable except as a placeholder.
bool empty | ( | ) | const |
Returns whether or not the calendar is initialized.
Definition at line 202 of file calendar.hpp.
std::string name | ( | ) | const |
Returns the name of the calendar.
Definition at line 206 of file calendar.hpp.
const std::set< Date > & addedHolidays | ( | ) | const |
Returns true
iff the date is a business day for the given market.
Returns the set of added holidays for the given calendar
Definition at line 211 of file calendar.hpp.
const std::set< Date > & removedHolidays | ( | ) | const |
Returns the set of removed holidays for the given calendar
Definition at line 217 of file calendar.hpp.
void resetAddedAndRemovedHolidays | ( | ) |
Clear the set of added and removed holidays
Definition at line 79 of file calendar.cpp.
Returns true
iff the date is a holiday for the given market.
Definition at line 251 of file calendar.hpp.
Returns true
iff the weekday is part of the weekend for the given market.
Definition at line 255 of file calendar.hpp.
Returns true
iff in the given market, the date is on or after the last business day for that month.
Definition at line 243 of file calendar.hpp.
last business day of the month to which the given date belongs
Definition at line 247 of file calendar.hpp.
void addHoliday | ( | const Date & | d | ) |
Adds a date to the set of holidays for the given calendar.
Definition at line 45 of file calendar.cpp.
void removeHoliday | ( | const Date & | d | ) |
Removes a date from the set of holidays for the given calendar.
Definition at line 62 of file calendar.cpp.
std::vector< Date > holidayList | ( | const Date & | from, |
const Date & | to, | ||
bool | includeWeekEnds = false |
||
) | const |
Returns the holidays between two dates.
Definition at line 277 of file calendar.cpp.
Returns the business days between two dates.
Definition at line 291 of file calendar.cpp.
Date adjust | ( | const Date & | d, |
BusinessDayConvention | convention = Following |
||
) | const |
Adjusts a non-business day to the appropriate near business day with respect to the given convention.
Definition at line 84 of file calendar.cpp.
Date advance | ( | const Date & | d, |
Integer | n, | ||
TimeUnit | unit, | ||
BusinessDayConvention | convention = Following , |
||
bool | endOfMonth = false |
||
) | const |
Advances the given date of the given number of business days and returns the result.
Definition at line 130 of file calendar.cpp.
Date advance | ( | const Date & | date, |
const Period & | period, | ||
BusinessDayConvention | convention = Following , |
||
bool | endOfMonth = false |
||
) | const |
Advances the given date as specified by the given period and returns the result.
Definition at line 175 of file calendar.cpp.
Date::serial_type businessDaysBetween | ( | const Date & | from, |
const Date & | to, | ||
bool | includeFirst = true , |
||
bool | includeLast = false |
||
) | const |
Calculates the number of business days between two given dates and returns the result.
Definition at line 182 of file calendar.cpp.
Returns true
iff the two calendars belong to the same derived class.
Definition at line 260 of file calendar.hpp.
Definition at line 265 of file calendar.hpp.
|
related |
|
protected |
Definition at line 72 of file calendar.hpp.