Skip to content

Conversation

@Marinovsky
Copy link
Contributor

Description

  • Add 2026 CME Future & HKFE Holidays, early closes, late opens and bank holidays
  • The information was extracted from https://www.cmegroup.com/trading-hours.html and https://www.hkex.com.hk/Services/Trading/Derivatives/Overview/Trading-Calendar-and-Holiday-Schedule?sc_lang=en
  • The unit test EnergyExpiryDateFunction_WithDifferentDates_ShouldFollowContract("HH","00:00:00") was failing since the expiry date function wasn't taking into account the 2026 thanksgiving bank holiday image
  • The holiday schedule for the futures AW and GD were added manually as they don't follow the holiday schedule of the CME Future class "Grains" (Even though they are commodity indices)
  • Columbus and Veterans day of 2026 and 2027 was added as a bank holiday in the generic entries Future-cme-[*], Future-cbot-[*], Future-nymex-[*] and Future-comex-[*]

Related Issue

n/a

Motivation and Context

With this change the MHDB will keep updated

Requires Documentation Change

n/a

How Has This Been Tested?

I used the following python module to automatically add the holidays, early closes, late opens and bank holidays
https://github.com/Marinovsky/LEAN-MHDB. The python module reads a changes.json file with the changes, adds them to the MHDB (taking into account the exchange time zone) and finally checks for duplicated entries. It knows the class of each future in the MHDB thanks to this file: https://www.dropbox.com/scl/fi/09j95smm8ko09aupx66gl/cme-group-futures-info.json?rlkey=43ne4e093vtsqo6o2vnbrvtfh&st=tadv9em1&dl=0

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • Refactor (non-breaking change which improves implementation)
  • Performance (non-breaking change which improves performance. Please add associated performance test and results)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Non-functional change (xml comments/documentation/etc)

Checklist:

  • My code follows the code style of this project.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • My branch follows the naming convention bug-<issue#>-<description> or feature-<issue#>-<description>

Copy link
Member

@Martin-Molinero Martin-Molinero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you

@Martin-Molinero Martin-Molinero merged commit 773bd53 into QuantConnect:master Dec 31, 2025
7 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants