pandas-market-calendars 4.1.4__py3-none-any.whl → 4.2.0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. {pandas_market_calendars-4.1.4.dist-info → pandas_market_calendars-4.2.0.dist-info}/METADATA +200 -187
  2. pandas_market_calendars-4.2.0.dist-info/NOTICE +206 -0
  3. pandas_market_calendars-4.2.0.dist-info/RECORD +6 -0
  4. {pandas_market_calendars-4.1.4.dist-info → pandas_market_calendars-4.2.0.dist-info}/WHEEL +1 -1
  5. pandas_market_calendars/__init__.py +0 -37
  6. pandas_market_calendars/calendar_registry.py +0 -47
  7. pandas_market_calendars/calendar_utils.py +0 -225
  8. pandas_market_calendars/class_registry.py +0 -111
  9. pandas_market_calendars/exchange_calendar_asx.py +0 -63
  10. pandas_market_calendars/exchange_calendar_bmf.py +0 -227
  11. pandas_market_calendars/exchange_calendar_bse.py +0 -409
  12. pandas_market_calendars/exchange_calendar_cboe.py +0 -115
  13. pandas_market_calendars/exchange_calendar_cme.py +0 -240
  14. pandas_market_calendars/exchange_calendar_cme_globex_agriculture.py +0 -109
  15. pandas_market_calendars/exchange_calendar_cme_globex_base.py +0 -106
  16. pandas_market_calendars/exchange_calendar_cme_globex_energy_and_metals.py +0 -146
  17. pandas_market_calendars/exchange_calendar_cme_globex_equities.py +0 -104
  18. pandas_market_calendars/exchange_calendar_cme_globex_fixed_income.py +0 -114
  19. pandas_market_calendars/exchange_calendar_cme_globex_fx.py +0 -78
  20. pandas_market_calendars/exchange_calendar_eurex.py +0 -119
  21. pandas_market_calendars/exchange_calendar_hkex.py +0 -408
  22. pandas_market_calendars/exchange_calendar_ice.py +0 -65
  23. pandas_market_calendars/exchange_calendar_iex.py +0 -98
  24. pandas_market_calendars/exchange_calendar_jpx.py +0 -98
  25. pandas_market_calendars/exchange_calendar_lse.py +0 -91
  26. pandas_market_calendars/exchange_calendar_nyse.py +0 -1127
  27. pandas_market_calendars/exchange_calendar_ose.py +0 -150
  28. pandas_market_calendars/exchange_calendar_sifma.py +0 -300
  29. pandas_market_calendars/exchange_calendar_six.py +0 -114
  30. pandas_market_calendars/exchange_calendar_sse.py +0 -290
  31. pandas_market_calendars/exchange_calendar_tase.py +0 -195
  32. pandas_market_calendars/exchange_calendar_tsx.py +0 -159
  33. pandas_market_calendars/exchange_calendars_mirror.py +0 -114
  34. pandas_market_calendars/holidays_cme.py +0 -341
  35. pandas_market_calendars/holidays_cme_globex.py +0 -169
  36. pandas_market_calendars/holidays_cn.py +0 -1436
  37. pandas_market_calendars/holidays_jp.py +0 -362
  38. pandas_market_calendars/holidays_nyse.py +0 -1474
  39. pandas_market_calendars/holidays_oz.py +0 -65
  40. pandas_market_calendars/holidays_sifma.py +0 -321
  41. pandas_market_calendars/holidays_uk.py +0 -177
  42. pandas_market_calendars/holidays_us.py +0 -364
  43. pandas_market_calendars/jpx_equinox.py +0 -147
  44. pandas_market_calendars/market_calendar.py +0 -770
  45. pandas_market_calendars-4.1.4.dist-info/RECORD +0 -45
  46. {pandas_market_calendars-4.1.4.dist-info → pandas_market_calendars-4.2.0.dist-info}/LICENSE +0 -0
  47. {pandas_market_calendars-4.1.4.dist-info → pandas_market_calendars-4.2.0.dist-info}/top_level.txt +0 -0
@@ -1,115 +0,0 @@
1
- from datetime import time
2
-
3
- from pandas.tseries.holiday import AbstractHolidayCalendar, \
4
- GoodFriday, USLaborDay, USPresidentsDay, USThanksgivingDay, Holiday
5
- from pytz import timezone
6
- from itertools import chain
7
- import pandas as pd
8
-
9
- from .holidays_us import (Christmas, USBlackFridayInOrAfter1993, USIndependenceDay, USMartinLutherKingJrAfter1998,
10
- USMemorialDay, USNewYearsDay, HurricaneSandyClosings, USNationalDaysofMourning)
11
- from .market_calendar import MarketCalendar
12
-
13
-
14
- def good_friday_unless_christmas_nye_friday(dt):
15
- """
16
- Good Friday is a valid trading day if Christmas Day or New Years Day fall
17
- on a Friday.
18
- """
19
- year_str = str(dt.year)
20
- christmas_weekday = Christmas.observance(
21
- pd.Timestamp(year_str+"-12-25")
22
- ).weekday()
23
- nyd_weekday = USNewYearsDay.observance(
24
- pd.Timestamp(year_str+"-01-01")
25
- ).weekday()
26
- if christmas_weekday != 4 and nyd_weekday != 4:
27
- return GoodFriday._apply_rule(
28
- pd.Timestamp(str(dt.year)+"-"+str(dt.month)+"-"+str(dt.day))
29
- )
30
- else:
31
- # compatibility for pandas 0.18.1
32
- return pd.NaT
33
-
34
-
35
- GoodFridayUnlessChristmasNYEFriday = Holiday(
36
- name="Good Friday CFE",
37
- month=1,
38
- day=1,
39
- observance=good_friday_unless_christmas_nye_friday,
40
- )
41
-
42
-
43
- class CFEExchangeCalendar(MarketCalendar):
44
- """
45
- Exchange calendar for the CBOE Futures Exchange (CFE).
46
-
47
- http://cfe.cboe.com/aboutcfe/expirationcalendar.aspx
48
-
49
- Open Time: 8:30am, America/Chicago
50
- Close Time: 3:15pm, America/Chicago
51
-
52
- (We are ignoring extended trading hours for now)
53
- """
54
- aliases = ['CFE', "CBOE_Futures"]
55
- regular_market_times = {
56
- "market_open": ((None, time(8, 30)),),
57
- "market_close": ((None, time(15, 15)),)
58
- }
59
-
60
-
61
- @property
62
- def name(self):
63
- return "CFE"
64
-
65
- @property
66
- def tz(self):
67
- return timezone("America/Chicago")
68
-
69
- @property
70
- def regular_holidays(self):
71
- return AbstractHolidayCalendar(rules=[
72
- USNewYearsDay,
73
- USMartinLutherKingJrAfter1998,
74
- USPresidentsDay,
75
- GoodFridayUnlessChristmasNYEFriday,
76
- USIndependenceDay,
77
- USMemorialDay,
78
- USLaborDay,
79
- USThanksgivingDay,
80
- Christmas
81
- ])
82
-
83
- @property
84
- def special_closes(self):
85
- return [(
86
- time(12, 15),
87
- AbstractHolidayCalendar(rules=[
88
- USBlackFridayInOrAfter1993,
89
- ])
90
- )]
91
-
92
- @property
93
- def adhoc_holidays(self):
94
- return list(chain(
95
- HurricaneSandyClosings,
96
- USNationalDaysofMourning,
97
- ))
98
-
99
- class CBOEEquityOptionsExchangeCalendar(CFEExchangeCalendar):
100
- name = "CBOE_Equity_Options"
101
- aliases = [name]
102
- regular_market_times = {
103
- "market_open": ((None, time(8, 30)),),
104
- "market_close": ((None, time(15)),)
105
- }
106
-
107
- class CBOEIndexOptionsExchangeCalendar(CFEExchangeCalendar):
108
- name = "CBOE_Index_Options"
109
- aliases = [name]
110
- regular_market_times = {
111
- "market_open": ((None, time(8, 30)),),
112
- "market_close": ((None, time(15, 15)),)
113
- }
114
-
115
-
@@ -1,240 +0,0 @@
1
- #
2
- # Copyright 2016 Quantopian, Inc.
3
- #
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
- #
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
- #
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
-
16
- from datetime import time
17
- from itertools import chain
18
-
19
- from pandas import Timestamp
20
- from pandas.tseries.holiday import AbstractHolidayCalendar, GoodFriday, USLaborDay, USPresidentsDay, USThanksgivingDay
21
- from pytz import timezone
22
-
23
- from .holidays_us import (Christmas, ChristmasEveBefore1993, ChristmasEveInOrAfter1993, USBlackFridayInOrAfter1993,
24
- USIndependenceDay, USMartinLutherKingJrAfter1998, USMemorialDay, USNationalDaysofMourning,
25
- USNewYearsDay)
26
- from .market_calendar import MarketCalendar
27
-
28
-
29
- # Useful resources for making changes to this file: http://www.cmegroup.com/tools-information/holiday-calendar.html
30
- # The CME has different holiday rules depending on the type of instrument.
31
- # For example, http://www.cmegroup.com/tools-information/holiday-calendar/files/2016-4th-of-july-holiday-schedule.pdf # noqa
32
- # shows that Equity, Interest Rate, FX, Energy, Metals & DME Products close at 1200 CT on July 4, 2016, while Grain,
33
- # Oilseed & MGEX Products and Livestock, Dairy & Lumber products are completely closed.
34
-
35
-
36
- class CMEEquityExchangeCalendar(MarketCalendar):
37
- """
38
- Exchange calendar for CME for Equity products
39
-
40
- Open Time: 6:00 PM, America/New_York / 5:00 PM Chicago
41
- Close Time: 5:00 PM, America/New_York / 4:00 PM Chicago
42
- Break: 4:15 - 4:30pm America/New_York / 3:15 - 3:30 PM Chicago
43
- """
44
- aliases = ['CME_Equity', 'CBOT_Equity']
45
- regular_market_times = {
46
- "market_open": ((None, time(17), -1),), # offset by -1 day
47
- "market_close": ((None, time(16)),),
48
- "break_start": ((None, time(15,15)),),
49
- "break_end": ((None, time(15,30)),)
50
- }
51
-
52
- @property
53
- def name(self):
54
- return "CME_Equity"
55
-
56
- @property
57
- def tz(self):
58
- return timezone('America/Chicago')
59
-
60
- @property
61
- def regular_holidays(self):
62
- # Many days that are holidays for the NYSE are an early close day for CME
63
- return AbstractHolidayCalendar(rules=[
64
- USNewYearsDay,
65
- GoodFriday,
66
- Christmas,
67
- ])
68
-
69
- @property
70
- def adhoc_holidays(self):
71
- return USNationalDaysofMourning
72
-
73
- @property
74
- def special_closes(self):
75
- return [(
76
- time(12),
77
- AbstractHolidayCalendar(rules=[
78
- USMartinLutherKingJrAfter1998,
79
- USPresidentsDay,
80
- USMemorialDay,
81
- USLaborDay,
82
- USIndependenceDay,
83
- USThanksgivingDay,
84
- USBlackFridayInOrAfter1993,
85
- ChristmasEveBefore1993,
86
- ChristmasEveInOrAfter1993,
87
- ])
88
- )]
89
-
90
-
91
-
92
- class CMEAgricultureExchangeCalendar(MarketCalendar):
93
- """
94
- Exchange calendar for CME for Agriculture products
95
-
96
- Open Time: 5:00 PM, America/Chicago
97
- Close Time: 5:00 PM, America/Chicago
98
-
99
- Regularly-Observed Holidays:
100
- - New Years Day
101
- - Good Friday
102
- - Christmas
103
- """
104
- aliases = ['CME_Agriculture', 'CBOT_Agriculture', 'COMEX_Agriculture', 'NYMEX_Agriculture']
105
- regular_market_times = {
106
- "market_open": ((None, time(17, 1), -1),), # offset by -1 day
107
- "market_close": ((None, time(17)),)
108
- }
109
-
110
- @property
111
- def name(self):
112
- return "CME_Agriculture"
113
-
114
- @property
115
- def tz(self):
116
- return timezone('America/Chicago')
117
-
118
- @property
119
- def regular_holidays(self):
120
- # Ignore gap between 13:20 CST and 14:30 CST for regular trading hours
121
- #
122
- # The CME has different holiday rules depending on the type of
123
- # instrument. For example, http://www.cmegroup.com/tools-information/holiday-calendar/files/2016-4th-of-july-holiday-schedule.pdf # noqa
124
- # shows that Equity, Interest Rate, FX, Energy, Metals & DME Products
125
- # close at 1200 CT on July 4, 2016, while Grain, Oilseed & MGEX
126
- # Products and Livestock, Dairy & Lumber products are completely
127
- # closed.
128
- return AbstractHolidayCalendar(rules=[
129
- USNewYearsDay,
130
- USMartinLutherKingJrAfter1998,
131
- USPresidentsDay,
132
- GoodFriday,
133
- USMemorialDay,
134
- USIndependenceDay,
135
- USLaborDay,
136
- USThanksgivingDay,
137
- Christmas,
138
- ])
139
-
140
- @property
141
- def adhoc_holidays(self):
142
- return USNationalDaysofMourning
143
-
144
- @property
145
- def special_closes(self):
146
- return [(
147
- time(12),
148
- AbstractHolidayCalendar(rules=[
149
- USBlackFridayInOrAfter1993,
150
- ChristmasEveBefore1993,
151
- ChristmasEveInOrAfter1993,
152
- ])
153
- )]
154
-
155
-
156
- # For the bond market Good Friday that coincides with the release of NFP on the first friday of the month is an open day
157
- goodFridayClosed = ['1970-03-27', '1971-04-09', '1972-03-31', '1973-04-20', '1974-04-12', '1975-03-28', '1976-04-16',
158
- '1977-04-08', '1978-03-24', '1979-04-13', '1981-04-17', '1982-04-09', '1984-04-20', '1986-03-28',
159
- '1987-04-17', '1989-03-24', '1990-04-13', '1991-03-29', '1992-04-17', '1993-04-09', '1995-04-14',
160
- '1997-03-28', '1998-04-10', '2000-04-21', '2001-04-13', '2002-03-29', '2003-04-18', '2004-04-09',
161
- '2005-03-25', '2006-04-14', '2008-03-21', '2009-04-10', '2011-04-22', '2013-03-29', '2014-04-18',
162
- '2016-03-25', '2017-04-14', '2018-03-30', '2019-04-19', '2020-04-10', '2022-04-15', '2024-03-29',
163
- '2025-04-18', '2027-03-26', '2028-04-14', '2029-03-30', '2030-04-19', '2031-04-11', '2032-03-26',
164
- '2033-04-15', '2035-03-23', '2036-04-11', '2038-04-23', '2039-04-08', '2040-03-30', '2041-04-19',
165
- '2043-03-27', '2044-04-15', '2046-03-23', '2047-04-12', '2049-04-16', '2050-04-08', '2051-03-31',
166
- '2052-04-19', '2054-03-27', '2055-04-16', '2056-03-31', '2057-04-20', '2058-04-12', '2059-03-28',
167
- '2060-04-16', '2061-04-08', '2062-03-24', '2063-04-13', '2065-03-27', '2066-04-09', '2068-04-20',
168
- '2069-04-12', '2070-03-28', '2071-04-17', '2072-04-08', '2073-03-24', '2074-04-13', '2076-04-17',
169
- '2077-04-09', '2079-04-21', '2081-03-28', '2082-04-17', '2084-03-24', '2085-04-13', '2086-03-29',
170
- '2087-04-18', '2088-04-09', '2090-04-14', '2092-03-28', '2093-04-10', '2095-04-22', '2096-04-13',
171
- '2097-03-29', '2098-04-18', '2099-04-10']
172
-
173
- BondsGoodFridayClosed = [Timestamp(x, tz='UTC') for x in goodFridayClosed]
174
-
175
- goodFridayOpen = ['1980-04-04', '1983-04-01', '1985-04-05', '1988-04-01', '1994-04-01', '1996-04-05', '1999-04-02',
176
- '2007-04-06', '2010-04-02', '2012-04-06', '2015-04-03', '2021-04-02', '2023-04-07', '2026-04-03',
177
- '2034-04-07', '2037-04-03', '2042-04-04', '2045-04-07', '2048-04-03', '2053-04-04', '2064-04-04',
178
- '2067-04-01', '2075-04-05', '2078-04-01', '2080-04-05', '2083-04-02', '2089-04-01', '2091-04-06',
179
- '2094-04-02']
180
-
181
- BondsGoodFridayOpen = [Timestamp(x, tz='UTC') for x in goodFridayOpen]
182
-
183
-
184
- class CMEBondExchangeCalendar(MarketCalendar):
185
- """
186
- Exchange calendar for CME for Interest Rate and Bond products
187
-
188
- The Holiday calendar is different between the open outcry trading floor hours and GLOBEX electronic trading hours.
189
- This calendar attempts to be accurate for the GLOBEX holidays and hours from approx 2010 onward.
190
- """
191
- aliases = ['CME_Rate', 'CBOT_Rate', 'CME_InterestRate', 'CBOT_InterestRate', 'CME_Bond', 'CBOT_Bond']
192
- regular_market_times = {
193
- "market_open": ((None, time(17), -1),), # offset by -1 day
194
- "market_close": ((None, time(16)),)
195
- }
196
-
197
- @property
198
- def name(self):
199
- return "CME_Bond"
200
-
201
- @property
202
- def tz(self):
203
- return timezone('America/Chicago')
204
-
205
- @property
206
- def regular_holidays(self):
207
- return AbstractHolidayCalendar(rules=[
208
- USNewYearsDay,
209
- Christmas,
210
- ])
211
-
212
- @property
213
- def adhoc_holidays(self):
214
- return list(chain(USNationalDaysofMourning, BondsGoodFridayClosed))
215
-
216
- @property
217
- def special_closes(self):
218
- return [
219
- (time(12),
220
- AbstractHolidayCalendar(rules=[
221
- USMartinLutherKingJrAfter1998,
222
- USPresidentsDay,
223
- USMemorialDay,
224
- USIndependenceDay,
225
- USLaborDay,
226
- USThanksgivingDay,
227
- ])),
228
- (time(12, 15),
229
- AbstractHolidayCalendar(rules=[
230
- USBlackFridayInOrAfter1993,
231
- ChristmasEveBefore1993,
232
- ChristmasEveInOrAfter1993,
233
- ]))
234
- ]
235
-
236
- @property
237
- def special_closes_adhoc(self):
238
- return [
239
- (time(10, tzinfo=self.tz), BondsGoodFridayOpen)
240
- ]
@@ -1,109 +0,0 @@
1
- #
2
- # Copyright 2016 Quantopian, Inc.
3
- #
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
- #
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
- #
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
-
16
- from abc import ABC, abstractmethod
17
- from .exchange_calendar_cme_globex_base import CMEGlobexBaseExchangeCalendar
18
-
19
- from datetime import time
20
- from itertools import chain
21
-
22
- from pandas import Timestamp
23
- from pandas.tseries.holiday import AbstractHolidayCalendar, GoodFriday, USLaborDay, USPresidentsDay, USThanksgivingDay
24
- from pytz import timezone
25
-
26
- from .holidays_us import (Christmas, ChristmasEveBefore1993, ChristmasEveInOrAfter1993, USBlackFridayInOrAfter1993,
27
- USIndependenceDay, USMartinLutherKingJrAfter1998, USMemorialDay, USJuneteenthAfter2022,
28
- USNationalDaysofMourning, USNewYearsDay)
29
- from .market_calendar import MarketCalendar
30
-
31
-
32
-
33
-
34
- class CMEGlobexAgricultureExchangeCalendar(CMEGlobexBaseExchangeCalendar):
35
- """
36
- Exchange calendar for CME for Agriculture products
37
-
38
- Products:
39
- - Grains and Oilseeds (same trading hours and holidays)
40
- - Livestock
41
- - Dairy
42
- - Fertilizer
43
- - Lumber and Softs
44
-
45
-
46
- """
47
-
48
- @property
49
- @abstractmethod
50
- def name(self):
51
- """
52
- Name of the market
53
-
54
- :return: string name
55
- """
56
- raise NotImplementedError()
57
-
58
-
59
- class CMEGlobexLivestockExchangeCalendar(CMEGlobexAgricultureExchangeCalendar):
60
- """
61
- Exchange calendar for CME for Livestock products
62
-
63
- https://www.cmegroup.com/trading/agricultural/livestock.html
64
-
65
- GLOBEX Trading Times
66
- https://www.cmegroup.com/markets/agriculture/livestock/live-cattle.contractSpecs.html
67
- Monday - Friday: 8:30 a.m. - 1:05 p.m. CT
68
- """
69
- aliases = ['CMEGlobex_Livestock', 'CMEGlobex_Live_Cattle', 'CMEGlobex_Feeder_Cattle', 'CMEGlobex_Lean_Hog', 'CMEGlobex_Port_Cutout']
70
-
71
- regular_market_times = {
72
- "market_open": ((None, time(8, 30)),),
73
- "market_close": ((None, time(13, 5)),)
74
- }
75
-
76
- @property
77
- def name(self):
78
- return "CMEGlobex_Livestock"
79
-
80
- @property
81
- def regular_holidays(self):
82
- return AbstractHolidayCalendar(rules=[
83
- USNewYearsDay,
84
- USMartinLutherKingJrAfter1998,
85
- USPresidentsDay,
86
- GoodFriday,
87
- USMemorialDay,
88
- USIndependenceDay,
89
- USLaborDay,
90
- USThanksgivingDay,
91
- Christmas,
92
- ])
93
-
94
- # @property
95
- # def adhoc_holidays(self):
96
- # return USNationalDaysofMourning
97
-
98
- @property
99
- def special_closes(self):
100
- return [(
101
- time(12, 5),
102
- AbstractHolidayCalendar(rules=[
103
- USBlackFridayInOrAfter1993,
104
- ChristmasEveBefore1993,
105
- ChristmasEveInOrAfter1993,
106
- ])
107
- )]
108
-
109
-
@@ -1,106 +0,0 @@
1
- #
2
- # Copyright 2016 Quantopian, Inc.
3
- #
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
- #
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
- #
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
-
16
- from abc import ABC, abstractmethod
17
-
18
- from datetime import time
19
- from itertools import chain
20
-
21
- from pandas import Timestamp
22
- from pandas.tseries.holiday import AbstractHolidayCalendar, GoodFriday, USLaborDay, USPresidentsDay, USThanksgivingDay
23
- from pytz import timezone
24
-
25
- from .holidays_us import (Christmas, ChristmasEveBefore1993, ChristmasEveInOrAfter1993, USBlackFridayInOrAfter1993,
26
- USIndependenceDay, USMartinLutherKingJrAfter1998, USMemorialDay, USJuneteenthAfter2022,
27
- USNationalDaysofMourning, USNewYearsDay)
28
- from .market_calendar import MarketCalendar
29
-
30
-
31
- class CMEGlobexBaseExchangeCalendar(MarketCalendar, ABC):
32
- """
33
- Base Exchange Calendar for CME.
34
-
35
- CME Markets: https://www.cmegroup.com/markets/agriculture.html#overview
36
- - Agriculture
37
- - Energy
38
- - Equity Index
39
- - FX
40
- - Interest Rates
41
- - Metals
42
- - Options
43
-
44
- Holiays for which entire GLOBEX is closed:
45
- - New Years Day
46
- - Good Friday
47
- - Christmas
48
-
49
- Product Specific Closures:
50
- - MLK Day
51
- - Presidents Day
52
- - Memorial Day
53
- - Juneteenth
54
- - US Independence Day
55
- - US Labor Day
56
- - US Thanksgiving Day
57
- """
58
- @property
59
- @abstractmethod
60
- def name(self):
61
- """
62
- Name of the market
63
-
64
- :return: string name
65
- """
66
- raise NotImplementedError()
67
-
68
- @property
69
- def tz(self):
70
- return timezone('America/Chicago')
71
-
72
- @property
73
- def regular_holidays(self):
74
- return AbstractHolidayCalendar(rules=[
75
- USNewYearsDay,
76
- GoodFriday,
77
- Christmas,
78
- ])
79
-
80
- # I can't find any reference to these special closings onther than NYSE
81
- # @property
82
- # def adhoc_holidays(self):
83
- # return USNationalDaysofMourning
84
-
85
- @property
86
- def special_closes(self):
87
- return [(
88
- self.special_close_time,
89
- AbstractHolidayCalendar(rules=[
90
- USMartinLutherKingJrAfter1998,
91
- USPresidentsDay,
92
- USMemorialDay,
93
- USJuneteenthAfter2022,
94
- USLaborDay,
95
- USIndependenceDay,
96
- USThanksgivingDay,
97
- USBlackFridayInOrAfter1993,
98
- ChristmasEveBefore1993,
99
- ChristmasEveInOrAfter1993,
100
- ])
101
- )]
102
-
103
-
104
-
105
-
106
-