UnitedStates Class Reference

United States calendars. More...

#include <ql/time/calendars/unitedstates.hpp>

Inheritance diagram for UnitedStates:

Public Types

enum  Market { Settlement, NYSE, GovernmentBond, NERC }
 US calendars. More...
 

Public Member Functions

 UnitedStates (Market market=Settlement)
 
- Public Member Functions inherited from Calendar
 Calendar ()
 
bool empty () const
 Returns whether or not the calendar is initialized.
 
std::string name () const
 Returns the name of the calendar. More...
 
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
 
void addHoliday (const Date &)
 
void removeHoliday (const Date &)
 
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
 
BigInteger businessDaysBetween (const Date &from, const Date &to, bool includeFirst=true, bool includeLast=false) const
 

Additional Inherited Members

- Static Public Member Functions inherited from Calendar
static std::vector< DateholidayList (const Calendar &calendar, const Date &from, const Date &to, bool includeWeekEnds=false)
 Returns the holidays between two dates.
 
- Protected Attributes inherited from Calendar
boost::shared_ptr< Implimpl_
 

Detailed Description

United States calendars.

Public holidays (see: http://www.opm.gov/fedhol/):

  • Saturdays
  • Sundays
  • New Year's Day, January 1st (possibly moved to Monday if actually on Sunday, or to Friday if on Saturday)
  • Martin Luther King's birthday, third Monday in January
  • Presidents' Day (a.k.a. Washington's birthday), third Monday in February
  • Memorial Day, last Monday in May
  • Independence Day, July 4th (moved to Monday if Sunday or Friday if Saturday)
  • Labor Day, first Monday in September
  • Columbus Day, second Monday in October
  • Veterans' Day, November 11th (moved to Monday if Sunday or Friday if Saturday)
  • Thanksgiving Day, fourth Thursday in November
  • Christmas, December 25th (moved to Monday if Sunday or Friday if Saturday)

Holidays for the stock exchange (data from http://www.nyse.com):

  • Saturdays
  • Sundays
  • New Year's Day, January 1st (possibly moved to Monday if actually on Sunday)
  • Martin Luther King's birthday, third Monday in January (since 1998)
  • Presidents' Day (a.k.a. Washington's birthday), third Monday in February
  • Good Friday
  • Memorial Day, last Monday in May
  • Independence Day, July 4th (moved to Monday if Sunday or Friday if Saturday)
  • Labor Day, first Monday in September
  • Thanksgiving Day, fourth Thursday in November
  • Presidential election day, first Tuesday in November of election years (until 1980)
  • Christmas, December 25th (moved to Monday if Sunday or Friday if Saturday)
  • Special historic closings (see http://www.nyse.com/pdfs/closings.pdf)

Holidays for the government bond market (data from http://www.bondmarkets.com):

  • Saturdays
  • Sundays
  • New Year's Day, January 1st (possibly moved to Monday if actually on Sunday)
  • Martin Luther King's birthday, third Monday in January
  • Presidents' Day (a.k.a. Washington's birthday), third Monday in February
  • Good Friday
  • Memorial Day, last Monday in May
  • Independence Day, July 4th (moved to Monday if Sunday or Friday if Saturday)
  • Labor Day, first Monday in September
  • Columbus Day, second Monday in October
  • Veterans' Day, November 11th (moved to Monday if Sunday or Friday if Saturday)
  • Thanksgiving Day, fourth Thursday in November
  • Christmas, December 25th (moved to Monday if Sunday or Friday if Saturday)

Holidays for the North American Energy Reliability Council (data from http://www.nerc.com/~oc/offpeaks.html):

  • Saturdays
  • Sundays
  • New Year's Day, January 1st (possibly moved to Monday if actually on Sunday)
  • Memorial Day, last Monday in May
  • Independence Day, July 4th (moved to Monday if Sunday)
  • Labor Day, first Monday in September
  • Thanksgiving Day, fourth Thursday in November
  • Christmas, December 25th (moved to Monday if Sunday)
Tests:
the correctness of the returned results is tested against a list of known holidays.
Examples:
Bonds.cpp, and CallableBonds.cpp.

Member Enumeration Documentation

enum Market

US calendars.

Enumerator
Settlement 

generic settlement calendar

NYSE 

New York stock exchange calendar.

GovernmentBond 

government-bond calendar

NERC 

off-peak days for NERC