Consolidated Calendars
Consolidated Calendars #
Extended exchange calendars provide consolidated calendars for holidays and special open/close days that include regular and ad-hoc occurrences.
Holidays #
The consolidated calendar for holidays includes all regular and ad-hoc holidays. For example:
import exchange_calendars_extensions.core as ecx
import exchange_calendars as ec
ecx.apply_extensions()
calendar = ec.get_calendar('XLON')
print(calendar.holidays_all.holidays(start='2020-01-01', end='2020-12-31', return_name=True))
will output
2020-01-01 New Year's Day
2020-04-10 Good Friday
2020-04-13 Easter Monday
2020-05-08 ad-hoc holiday
2020-05-25 Spring Bank Holiday
2020-08-31 Summer Bank Holiday
2020-12-25 Christmas
2020-12-26 Boxing Day
2020-12-28 Weekend Boxing Day
dtype: object
Note that the ad-hoc holiday on 2020-05-08 (Queen Elizabeth II 75th anniversary) is included together with all regular holidays during the period.
In contrast, the standard calendar only includes regular holidays:
import exchange_calendars_extensions.core as ecx
import exchange_calendars as ec
ecx.apply_extensions()
calendar = ec.get_calendar('XLON')
print(calendar.holidays.holidays(start='2020-01-01', end='2020-12-31', return_name=True))
will output
2020-01-01 New Year's Day
2020-04-10 Good Friday
2020-04-13 Easter Monday
2020-05-25 Spring Bank Holiday
2020-08-31 Summer Bank Holiday
2020-12-25 Christmas
2020-12-26 Boxing Day
2020-12-28 Weekend Boxing Day
dtype: object
Note that the ad-hoc holiday on 2020-05-08 is missing.
Special Open/Close Days #
Similar to holidays, consolidated calendars for special open/close days include all regular and ad-hoc occurrences.
import exchange_calendars_extensions.core as ecx
import exchange_calendars as ec
ecx.apply_extensions()
calendar = ec.get_calendar('XDUB')
print(calendar.special_closes_all.holidays(start='2018-01-01', end='2018-12-31', return_name=True))
The result is
2018-03-01 ad-hoc special close
2018-12-24 Last Trading Day Before Christmas
2018-12-31 Last Trading Day Of Calendar Year
dtype: object
which includes an ad-hoc special close day on 2018-03-01.
As another example, consider special close days for the Tel Aviv Stock Exchange (XTAE):
import exchange_calendars_extensions.core as ecx
import exchange_calendars as ec
ecx.apply_extensions()
calendar = ec.get_calendar('XTAE')
print(calendar.special_closes_all.holidays(start='2020-04-01', end='2020-4-30', return_name=True))
which gives
2020-04-05 special close
2020-04-12 Passover Interim Day
2020-04-13 Passover Interim Day
2020-04-19 special close
2020-04-26 special close
dtype: object
This list contains regular special close days on Sundays where the exchange closes at 15:40 local time, as well as regular special close days during Passover festivities where the exchange closes at 14:15 local time.