Change Log

Updates

4.4.0 (02/10/2024)

  • Verified to work on pandas 2.2.0, max version changed in pyproject.toml

  • Updated minimum version of Python to 3.9

  • Corrected 2024 us sifma holidays & early closes #326

  • Added national holiday for BMF calendar (Black Awareness Day, Nov 20th) #321

  • Added BMF calendar holiday for New Year’s Eve on Sunday #318

  • BSE/NSE trading holidays 2024 updated #316

4.3.3 (12/30/2023)

  • PR #310 to add EUREX Fixed Income calendars

  • PR #311 to add good friday special closes for CME Globex

4.3.2 (12/09/2023)

  • Reformat all code using Black and make black a standard PR #290

  • Add XNSE as a name for BSE calendar

  • Update holidays for BSE # 277

  • Update holidays for CN # 305

  • Add IEX to list of exchanges

4.3.1 (09/06/2023)

  • Fixed broken build PR #292

4.3.0 (09/05/2023)

  • Fixed for pandas 2.0 so all tests pass PR #282

  • Move exchange_calendar*.py files to pandas_market_calendar/exchange_calendars/ PR #284

  • Move holidays_*.py to pandas_market_calendar/holidays/ PR #284

  • Major cleanup including unused imports PR #284

4.2.1 (08/21/2023)

  • Fix the pyproject.toml to properly generate sdist PR #267

  • Remove .travis.yml file as Travis-CI is no longer used

  • Merge .coveragerc into pyproject.toml

4.2.0 (08/20/2023)

  • CBOE GoodFriday special close is broken, reverted back to standard GoodFriday logic PR #265

  • Fixed BSE Holiday PR #248 Issue #245

  • Updated TASE Holidays 2022-2025 PR #263

  • King Charles III’s Coronation Day holiday to LSE calendar PR #255

  • Added NYSE tests for 2024 and 2025 PR #259

  • Deleted setup.cfg that was only used for flake8. Will move to Black in a future release

  • Moved all setuptools build workflows to pyproject.toml and deleted setup.py

4.1.4 (02/04/2023)

  • Updated TASE Holidays 2022-2025

4.1.3 (12/26/2022)

  • Added Chinese 2023 holidays

4.1.2 (12/08/2022)

  • Added 2023 holidays to BSE calendar

4.1.1 (10/31/2022)

  • Fix for bug in NYSEExchangeCalendar.valid_days

4.1.0 (10/08/2022)

  • Added UK and Australia holidays for Queen Elizabeth II’s State Funeral

4.0.3 (10/08/2022)

  • Enabled tests that failed before PR #215

4.0.2 (10/08/2022)

  • Implemented new release management

4.0.1 (09/03/22)

  • Fix duplicates bug in special_dates

  • Fix tz=None bug in NYSEExchangeCalendar.valid_days

4.0 (08/02/22)

  • Added interruptions support

  • Updated MarketCalendar.open_at_time to respect interruptions

  • Special times can be set with offsets

  • MarketCalendar.days_at_time returns a pandas.Series

  • calendar_utils.date_range supports schedules of any timezone

3.5 (06/25/22)

  • Updated BMF

  • New CME calendar setup

  • New CME calendars for equities, fixed income, ags, energies, metals, and FX

3.4 (03/05/22)

  • Update to work with pandas 1.4.0

  • Fix boxing day for Australia

  • Add SIFMA US, UK and JP calendars

  • Add IEX calendar

  • Add NSE calendar

3.3 (01/30/22)

  • PR #166 to solve the issue raised in #164

  • Add Juneteenth to NYSE calendar

  • Fixed CN holidays

  • Make MarketCalendars pickleable

3.2 (10/10/21)

3.1 (08/29/21)

  • Added September 11 holidays to TSX calendar

  • Made the minimum version for exchange_calendars >= 3.3 to resolve problem with newer versions of pandas

3.0 (8/17/21)

  • Major update to the date_range() functionality. This new behavior is more complete and consistent, but changes behavior in some cases, so a new major version is warranted. For more discussion on the topic refer to PR #142 and Issue #138

2.1 (8/16/21)

  • Updated to work with pandas 1.3

  • Raise minimum python to 3.7

  • NYSE calendar valid from 1885 to present. Includes all full day closes, early closes, and late opens. PR #141

2.0.1 (5/20/21)

  • Fixed the TSE calendar for Christmas falling on a Saturday

2.0 (5/8/21)

This version replaces the trading_calendars integration with exchange_calendars, closing out #120. exchange_calendars if the fork of trading_calendars that is currently actively maintained. trading_calendars is now abandoned because it’s corporate sponsor is out of business and gone.

1.7 (5/6/21)

This version eliminated the generic CMEExchangeCalendar. This calendar did not represent a specific market and thus was not appropriate for any use. With the addition of the specific calendars for product types this is no longer needed and is removed. To see the product specific calendars here: https://pandas-market-calendars.readthedocs.io/en/latest/calendars.html#futures-calendars

For the CMEEquityExchangeCalendar, this no longer is a mirror of the NYSE calendar as some of the holidays for the NYSE are an open day with early close for CME. This calendar now has its own set of holiday assumptions. This may cause some holidays missing until this calendar is fully tested and vetted.

1.6.2 (5/6/21)

  • Fix UK Holidays for #130

  • Fix CME Bond calendar for Good Friday #132

1.6.1 (11/3/20)

  • Add trading breaks to the trading_calendars import mirror

  • Fix the CFE calendar for Good Friday #116

  • Renamed XBOM to BSE to avoid conflict with trading_calendars

1.6 (9/14/20)

This is the first version of the merge of this project with the quantopian trading-calendars.

  • Added the trading_calendars.py module that brings in all current and future calendars from the quantopian project

  • All calendars from trading-calendars are now available in pandas_market_calendars

1.5 (8/30/20)

  • Add the is_open_now() function

  • Add TASE calendar from #114

  • Holiday calendar is now cached to improve performance #117

1.4.2 (8/11/20)

  • Fixed for changes to pandas 1.1.0

1.4.1 (7/22/20)

  • Added CME_Bond calendar for bond and interest rate futures

  • Added futures specific items to the documentations along with examples with breaks

1.4 (7/11/20)

  • Add the concept of a break during the trading day. For example this can accommodate Asian markets that have a lunch break, or futures markets that are open 24 hours with a break in the day for trade processing.

  • Added product specific contract calendars for CME futures exchange. First calendars are the CME Agricultural and CME Equity calendars

  • Add ability to set time zone on schedule() function #42

  • Add the Bombay exchange (XBOM) from #96

  • Fixed Christmas holidays in SIX #100

1.3 (4/23/20)

  • Fixes to support Pandas v1.0

  • Remove support for Python 3.4 based on underlying packages removing support for v3.4

  • Added ASXExchangeCalendar from PR #85

  • Fixes to UK holidays in #84

1.2 (10/22/19)

  • Support calendars with valid business days on the weekend (PR #75)

  • Fixed SSE 2019 labour’s day holidays (PR #74)

  • Better JPX calendar support for the time period 1949-2099 (PR #72)

  • Reformat Japan’s Ascension days, removed duplicate days (PR #68)

  • Added German national holidays (PR #77)

1.1 (5/3/19)

  • add JPX Ascension Day holidays for 2019 from PR #64

1.0 (3/26/19)

  • Official move to Python3 only support

  • Version moved to 1.0 as the package has been around and stable long enough to warrant a 1.0

0.22 (3/25/19)

  • Added Shanghai Stock Exchange (SSE) calendar from PR #58

  • Added HKEX calendar from PR #61

  • Fixed tests for pandas v0.24 and higher

0.21 (12/2/18)

  • Added Oslo Stock Exchange (OSE) calendar

  • Added GW Bush Holiday to NYSE calendar from PR #53 and #54

0.20 (7/2/18)

  • Improvements in the internals for how calendars are registered and aliased thanks for PR #45

0.19 (7/2/18)

  • schedule() method no longer raises exception if there are no valid trading days between start_date and end_date, will now return an empty DataFrame

0.18 (6/8/18)

  • Changed NYSE holiday calendar to start 1/1/1900 (was previously 1/1/1970).

  • Fixed an error that schedule() method would fail if the end date was prior to 1993

0.17 (5/24/18)

  • Added SIX (Swiss Exchange) calendar, Pull Request #36

0.16 (5/12/18)

  • Fixed the equinox for Japanese calendar, Pull Request #33

  • Fixed Victoria Day for TSX, issue #34

0.15 (2/23/18)

  • Removed toolz as a required package and removed from the one test that required it

  • Added daily closes on NYSE back to 1928 from PR #30 thanks to @pldrouin

0.14 (1/7/18)

  • Made default open and close times time-zone aware

0.13 (1/5/18)

  • Corrected JPX calendar for issue #22

0.12 (12/10/17)

  • Added new JPX calendar thanks to gabalese from PR #21

0.11 (10/30/17)

  • Corrected the NYSE calendar for Independence Day on Thursday post 2013 to fix #20

  • Added new convert_freq() function to convert a date_range to a lower frequency to fix #19

0.10 (9/12/17)

  • Added open_time_default and close_time_default as abstract property methods to fix #17

0.9 (9/12/17)

  • Fix #12 to Eurex calendar

0.8 (8/24/17)

  • Fix #10 to make merge_schedules work properly for more than 2 markets

0.7 (5/30/17)

  • Fix a couple deprecated imports

0.6 (3/31/17)

  • Added coveralls.io test coverage

0.5 (3/27/17)

  • Added Python2.7 support

0.4

  • Fixed bug #5

0.3

  • Added Eurex calendar

0.2

  • Fix to allow start_date and end_date to be the same in schedule()

0.1

  • Initial version