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;

Calendar generic holidays#

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]')