get_calendar#
- rateslib.calendars.get_calendar(calendar, kind=False)#
Returns a calendar object either from an available set or a user defined input.
- Parameters:
calendar (str, None, or CustomBusinessDay) – If None a blank calendar is returned containing no holidays. If str, then the calendar is returned from pre-calculated values. If a specific user defined calendar this is returned without modification.
kind (bool) – If True will also return the kind of calculation from “null”, “named”, “custom”.
- Return type:
CustomBusinessDay or tuple
Notes
The following named calendars are available and have been back tested against the publication of RFR indexes in the relevant geography.
“bus”: business days, excluding only weekends.
“tgt”: Target for Europe’s ESTR.
“osl”: Oslo for Norway’s NOWA.
“zur”: Zurich for Switzerland’s SARON.
“nyc”: New York City for US’s SOFR.
“ldn”: London for UK’s SONIA.
“stk”: Stockholm for Sweden’s SWESTR.
“tro”: Toronto for Canada’s CORRA.
The list of generic holidays applied to these calendars is as follows;
# Holiday
“tgt”
“osl”
“zur”
“nyc”
“ldn”
“stk”
“tro”
New Years Day
X
X
X
X
New Years Day (sun->mon)
X
New Years Day (w/e->mon)
X
X
Berchtoldstag
X
Epiphany
X
Martin Luther King Day
X
President’s / Family Day
X
X
Victoria Day
X
Maundy Thursday
X
Good Friday
X
X
X
X
X
X
X
Easter Monday
X
X
X
X
X
UK Early May Bank Holiday
X
UK Late May Bank Holiday
X
EU / US / CA Labour Day (diff)
X
X
X
X
X
X
US Memorial Day
X
Ascention Day
X
X
X
Whit Monday
X
Midsummer Friday
X
National / Constitution Day (diff)
X
X
X
X
Juneteenth National Day (sun->mon)
X
US Independence Day (sat->fri,sun->mon)
X
Civic Holiday
X
UK Summer Bank Holiday
X
Columbus Day
X
US Veteran’s Day (sun->mon)
X
National Truth
X
US / CA Thanksgiving (diff)
X
X
Remembrance Day
X
Christmas Eve
X
X
Christmas Day
X
X
X
X
Christmas Day (sat,sun->mon)
X
X
Christmas Day (sat->fri,sun->mon)
X
Boxing Day
X
X
X
X
Boxing Day (sun,mon->tue)
X
X
New Year’s Eve
X
Examples
In [1]: gbp_cal = get_calendar("ldn") In [2]: gbp_cal.calendar.holidays Out[2]: array(['1970-01-01', '1970-03-27', '1970-03-30', ..., '2200-08-25', '2200-12-25', '2200-12-26'], dtype='datetime64[D]') In [3]: dt(2022, 1, 1) + 5 * gbp_cal Out[3]: Timestamp('2022-01-10 00:00:00') In [4]: type(gbp_cal) Out[4]: pandas._libs.tslibs.offsets.CustomBusinessDay
Calendars can be combined from the pre-existing names using comma separation.
In [5]: gbp_and_nyc_cal = get_calendar("ldn,nyc") In [6]: gbp_and_nyc_cal.calendar.holidays Out[6]: array(['1970-01-01', '1970-02-16', '1970-03-27', ..., '2200-11-27', '2200-12-25', '2200-12-26'], dtype='datetime64[D]')