Features

Features #

Consolidated Calendars #

This package adds consolidated calendars for holidays and special open/close days, respectively. These calendars combine regular with ad-hoc occurrences. This makes it easier to enumerate these days in order.

Depending on the exchange, the consolidated calendars for special open/close days may aggregate days with different open/close times into a single calendar. It is currently not possible to recover the open/close time for a day from a consolidated calendar.

Additional Calendars #

This package also adds calendars for some special trading sessions and non-trading days of interest:

  • the last trading session of the month
  • the last regular trading session of the month
  • quarterly expiry days (quadruple witching)
  • monthly expiry days (in months without a quarterly expiry day)
  • weekend days as per the underlying weekmask
Supported exchanges for expiry day sessions

Calendar Modifications #

This package also adds the ability to modify existing calendars at runtime. This can be used to add or remove

  • holidays (regular and ad-hoc)
  • special open days (regular and ad-hoc)
  • special close days (regular and ad-hoc)
  • quarterly expiry days
  • monthly expiry days

This is useful to fix incorrect information from exchange-calendars. This regularly happens, e.g., when an exchange announces a change to the regular trading schedule on short notice and an updated release of the upstream package is not yet available. After some time, modifications can typically be removed when the upstream package has been updated.

If you find incorrect information, consider opening a pull request on GitHub to update the information directly in the exchange-calendars repository. Ad-hoc modifications to calendars should only be used as a last resort and to bridge the time until the information has been updated at the root.