pandas-market-calendars 4.3.2__py3-none-any.whl → 4.3.3__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. pandas_market_calendars/__init__.py +38 -38
  2. pandas_market_calendars/calendar_registry.py +53 -52
  3. pandas_market_calendars/calendar_utils.py +261 -261
  4. pandas_market_calendars/calendars/asx.py +66 -66
  5. pandas_market_calendars/calendars/bmf.py +206 -206
  6. pandas_market_calendars/calendars/bse.py +407 -407
  7. pandas_market_calendars/calendars/cboe.py +145 -145
  8. pandas_market_calendars/calendars/cme.py +402 -402
  9. pandas_market_calendars/calendars/cme_globex_agriculture.py +126 -127
  10. pandas_market_calendars/calendars/cme_globex_base.py +119 -119
  11. pandas_market_calendars/calendars/cme_globex_crypto.py +160 -147
  12. pandas_market_calendars/calendars/cme_globex_energy_and_metals.py +216 -216
  13. pandas_market_calendars/calendars/cme_globex_equities.py +123 -121
  14. pandas_market_calendars/calendars/cme_globex_fixed_income.py +136 -134
  15. pandas_market_calendars/calendars/cme_globex_fx.py +101 -92
  16. pandas_market_calendars/calendars/eurex.py +139 -139
  17. pandas_market_calendars/calendars/eurex_fixed_income.py +98 -0
  18. pandas_market_calendars/calendars/hkex.py +426 -426
  19. pandas_market_calendars/calendars/ice.py +81 -81
  20. pandas_market_calendars/calendars/iex.py +112 -111
  21. pandas_market_calendars/calendars/jpx.py +109 -109
  22. pandas_market_calendars/calendars/lse.py +114 -114
  23. pandas_market_calendars/calendars/mirror.py +130 -129
  24. pandas_market_calendars/calendars/nyse.py +1324 -1324
  25. pandas_market_calendars/calendars/ose.py +116 -116
  26. pandas_market_calendars/calendars/sifma.py +350 -335
  27. pandas_market_calendars/calendars/six.py +132 -132
  28. pandas_market_calendars/calendars/sse.py +311 -311
  29. pandas_market_calendars/calendars/tase.py +197 -195
  30. pandas_market_calendars/calendars/tsx.py +181 -181
  31. pandas_market_calendars/holidays/cme.py +385 -372
  32. pandas_market_calendars/holidays/cme_globex.py +214 -223
  33. pandas_market_calendars/holidays/cn.py +1455 -1455
  34. pandas_market_calendars/holidays/jp.py +398 -394
  35. pandas_market_calendars/holidays/nyse.py +1531 -1539
  36. pandas_market_calendars/holidays/oz.py +63 -65
  37. pandas_market_calendars/holidays/sifma.py +338 -350
  38. pandas_market_calendars/holidays/us.py +376 -377
  39. pandas_market_calendars/market_calendar.py +895 -895
  40. {pandas_market_calendars-4.3.2.dist-info → pandas_market_calendars-4.3.3.dist-info}/METADATA +3 -3
  41. pandas_market_calendars-4.3.3.dist-info/RECORD +50 -0
  42. pandas_market_calendars-4.3.2.dist-info/RECORD +0 -49
  43. {pandas_market_calendars-4.3.2.dist-info → pandas_market_calendars-4.3.3.dist-info}/LICENSE +0 -0
  44. {pandas_market_calendars-4.3.2.dist-info → pandas_market_calendars-4.3.3.dist-info}/NOTICE +0 -0
  45. {pandas_market_calendars-4.3.2.dist-info → pandas_market_calendars-4.3.3.dist-info}/WHEEL +0 -0
  46. {pandas_market_calendars-4.3.2.dist-info → pandas_market_calendars-4.3.3.dist-info}/top_level.txt +0 -0
@@ -1,335 +1,350 @@
1
- from datetime import time
2
-
3
- from pandas.tseries.holiday import AbstractHolidayCalendar
4
- from pytz import timezone
5
- from itertools import chain
6
-
7
- ########################################################################################################################
8
- # SIFMA Financial Markets Calendar for US, UK, JP
9
- #
10
- # https://www.sifma.com/
11
- #
12
- # US: SIFMAUSExchangeCalendar() ['SIFMAUS', 'SIFMA_US', "Capital_Markets_US", "Financial_Markets_US", "Bond_Markets_US"]
13
- # UK: SIFMAUKExchangeCalendar() ['SIFMAUK', 'SIFMA_UK', "Capital_Markets_UK", "Financial_Markets_UK", "Bond_Markets_UK"]
14
- # JP: SIFMAJPExchangeCalendar() ['SIFMAJP', 'SIFMA_JP', "Capital_Markets_JP", "Financial_Markets_JP", "Bond_Markets_JP"]
15
- #
16
- # Trading Hours:
17
- # US: 7:00 to 17:30
18
- # UK: 8:00 to 17:00
19
- # JP: 8:30 to 18:30
20
- ########################################################################################################################
21
-
22
-
23
- from pandas_market_calendars.holidays.sifma import (
24
- # US Holidays
25
- USNewYearsDay, # Not observed if a Saturday
26
- USNewYearsEve2pmEarlyClose,
27
- MartinLutherKingJr,
28
- USPresidentsDay,
29
- GoodFridayThru2020,
30
- DayBeforeGoodFriday2pmEarlyCloseThru2020,
31
- GoodFridayAdHoc,
32
- GoodFriday2pmEarlyCloseAdHoc,
33
- DayBeforeGoodFriday2pmEarlyCloseAdHoc,
34
- DayBeforeUSMemorialDay2pmEarlyClose,
35
- USMemorialDay,
36
- USJuneteenthAfter2022,
37
- USIndependenceDay,
38
- DayBeforeUSIndependenceDay2pmEarlyClose,
39
- ThursdayBeforeUSIndependenceDay2pmEarlyClose,
40
- USLaborDay,
41
- USColumbusDay,
42
- USVeteransDay,
43
- USThanksgivingDay,
44
- DayAfterThanksgiving2pmEarlyClose,
45
- Christmas,
46
- ChristmasEve2pmEarlyClose,
47
- ChristmasEveThursday2pmEarlyClose,
48
- # UK Specific Holidays
49
- UKNewYearsDay, # Saturdays observed on Monday
50
- UKGoodFriday,
51
- UKEasterMonday,
52
- UKMayDay,
53
- UKSpringBankAdHoc, # Usually follows US Memorial Day but not always
54
- UKSummerBank,
55
- UKChristmas,
56
- UKChristmaEve,
57
- UKWeekendChristmas, # Observed Tuesday when Boxing Day is on Monday
58
- UKBoxingDay,
59
- UKWeekendBoxingDay,
60
- UKPlatinumJubilee2022,
61
- )
62
-
63
- from pandas_market_calendars.market_calendar import MarketCalendar
64
-
65
- # AbstractHolidayCalendar.start_date = '1998-01-01'
66
-
67
- ############################################################
68
- # US
69
- ############################################################
70
-
71
-
72
- class SIFMAUSExchangeCalendar(MarketCalendar):
73
- """
74
- Exchange calendar for SIFMA United States
75
-
76
- https://www.sifma.org/resources/general/holiday-schedule/#US
77
-
78
- """
79
-
80
- aliases = [
81
- "SIFMAUS",
82
- "SIFMA_US",
83
- "Capital_Markets_US",
84
- "Financial_Markets_US",
85
- "Bond_Markets_US",
86
- ]
87
-
88
- regular_market_times = {
89
- "market_open": ((None, time(7)),),
90
- "market_close": ((None, time(17, 30)),),
91
- }
92
-
93
- @property
94
- def name(self):
95
- return "SIFMA_US"
96
-
97
- @property
98
- def tz(self):
99
- return timezone("America/New_York")
100
-
101
- @property
102
- def regular_holidays(self):
103
- return AbstractHolidayCalendar(
104
- rules=[
105
- USNewYearsDay,
106
- MartinLutherKingJr,
107
- USPresidentsDay,
108
- GoodFridayThru2020,
109
- USMemorialDay,
110
- USJuneteenthAfter2022,
111
- USIndependenceDay,
112
- USLaborDay,
113
- USColumbusDay,
114
- USVeteransDay,
115
- USThanksgivingDay,
116
- Christmas,
117
- ]
118
- )
119
-
120
- @property
121
- def adhoc_holidays(self):
122
- return list(
123
- chain(
124
- GoodFridayAdHoc,
125
- )
126
- )
127
-
128
- @property
129
- def special_closes(self):
130
- return [
131
- (
132
- time(14),
133
- AbstractHolidayCalendar(
134
- rules=[
135
- DayBeforeGoodFriday2pmEarlyCloseThru2020,
136
- DayBeforeUSMemorialDay2pmEarlyClose,
137
- DayBeforeUSIndependenceDay2pmEarlyClose,
138
- ThursdayBeforeUSIndependenceDay2pmEarlyClose,
139
- DayAfterThanksgiving2pmEarlyClose,
140
- ChristmasEve2pmEarlyClose,
141
- ChristmasEveThursday2pmEarlyClose,
142
- USNewYearsEve2pmEarlyClose,
143
- ]
144
- ),
145
- )
146
- ]
147
-
148
- @property
149
- def special_closes_adhoc(self):
150
- return [
151
- (
152
- time(14, tzinfo=timezone("America/New_York")),
153
- GoodFriday2pmEarlyCloseAdHoc # list
154
- + DayBeforeGoodFriday2pmEarlyCloseAdHoc,
155
- ),
156
- ]
157
-
158
-
159
- ############################################################
160
- # UK
161
- ############################################################
162
-
163
-
164
- class SIFMAUKExchangeCalendar(MarketCalendar):
165
- """
166
- Exchange calendar for SIFMA United Kingdom
167
-
168
- https://www.sifma.org/resources/general/holiday-schedule/#UK
169
-
170
- """
171
-
172
- aliases = [
173
- "SIFMAUK",
174
- "SIFMA_UK",
175
- "Capital_Markets_UK",
176
- "Financial_Markets_UK",
177
- "Bond_Markets_UK",
178
- ]
179
-
180
- regular_market_times = {
181
- "market_open": ((None, time(8)),),
182
- "market_close": ((None, time(17)),),
183
- }
184
-
185
- @property
186
- def name(self):
187
- return "SIFMA_UK"
188
-
189
- @property
190
- def tz(self):
191
- return timezone("Europe/London")
192
-
193
- @property
194
- def regular_holidays(self):
195
- return AbstractHolidayCalendar(
196
- rules=[
197
- UKNewYearsDay,
198
- MartinLutherKingJr,
199
- USPresidentsDay,
200
- UKGoodFriday,
201
- UKEasterMonday,
202
- UKMayDay,
203
- USMemorialDay,
204
- USJuneteenthAfter2022,
205
- USIndependenceDay,
206
- UKSummerBank,
207
- USLaborDay,
208
- USColumbusDay,
209
- USVeteransDay,
210
- USThanksgivingDay,
211
- UKChristmas,
212
- UKChristmaEve,
213
- UKWeekendChristmas,
214
- UKBoxingDay,
215
- UKWeekendBoxingDay,
216
- ]
217
- )
218
-
219
- @property
220
- def adhoc_holidays(self):
221
- return list(
222
- chain(
223
- UKSpringBankAdHoc,
224
- UKPlatinumJubilee2022,
225
- )
226
- )
227
-
228
-
229
- ############################################################
230
- # Japan
231
- ############################################################
232
- from pandas_market_calendars.holidays.jp import (
233
- JapanComingOfAgeDay,
234
- JapanNationalFoundationDay,
235
- JapanEmperorsBirthday,
236
- JapanVernalEquinox,
237
- JapanShowaDay,
238
- JapanConstitutionMemorialDay,
239
- JapanGreeneryDay,
240
- JapanChildrensDay,
241
- JapanMarineDay,
242
- JapanMountainDay,
243
- JapanRespectForTheAgedDay,
244
- JapanAutumnalEquinox,
245
- JapanHealthAndSportsDay2000To2019,
246
- JapanSportsDay2020,
247
- JapanSportsDay,
248
- JapanCultureDay,
249
- JapanLaborThanksgivingDay,
250
- )
251
-
252
-
253
- class SIFMAJPExchangeCalendar(MarketCalendar):
254
- """
255
- Exchange calendar for SIFMA Japan
256
-
257
- https://www.sifma.org/resources/general/holiday-schedule/#JP
258
-
259
- """
260
-
261
- aliases = [
262
- "SIFMAJP",
263
- "SIFMA_JP",
264
- "Capital_Markets_JP",
265
- "Financial_Markets_JP",
266
- "Bond_Markets_JP",
267
- ]
268
-
269
- regular_market_times = {
270
- "market_open": ((None, time(8, 30)),),
271
- "market_close": ((None, time(18, 30)),),
272
- }
273
-
274
- @property
275
- def name(self):
276
- return "SIFMA_JP"
277
-
278
- @property
279
- def tz(self):
280
- return timezone("Asia/Tokyo")
281
-
282
- @property
283
- def regular_holidays(self):
284
- return AbstractHolidayCalendar(
285
- rules=[
286
- UKNewYearsDay,
287
- JapanComingOfAgeDay,
288
- MartinLutherKingJr,
289
- JapanNationalFoundationDay,
290
- USPresidentsDay,
291
- JapanEmperorsBirthday,
292
- JapanVernalEquinox,
293
- UKGoodFriday,
294
- UKEasterMonday,
295
- JapanShowaDay,
296
- JapanConstitutionMemorialDay,
297
- JapanGreeneryDay,
298
- JapanChildrensDay,
299
- USMemorialDay,
300
- USJuneteenthAfter2022,
301
- USIndependenceDay,
302
- JapanMarineDay,
303
- JapanMountainDay,
304
- UKSummerBank,
305
- USLaborDay,
306
- JapanRespectForTheAgedDay,
307
- JapanAutumnalEquinox,
308
- JapanSportsDay,
309
- JapanSportsDay2020,
310
- JapanHealthAndSportsDay2000To2019,
311
- JapanCultureDay,
312
- USVeteransDay,
313
- JapanLaborThanksgivingDay,
314
- USThanksgivingDay,
315
- UKChristmas,
316
- UKChristmaEve,
317
- UKBoxingDay,
318
- UKWeekendBoxingDay,
319
- ]
320
- )
321
-
322
- @property
323
- def adhoc_holidays(self):
324
- return list(
325
- chain(
326
- UKSpringBankAdHoc,
327
- UKPlatinumJubilee2022,
328
- )
329
- )
330
-
331
- @property
332
- def special_closes(self):
333
- return [
334
- (time(15), AbstractHolidayCalendar(rules=[UKMayDay, UKWeekendChristmas]))
335
- ]
1
+ from datetime import time
2
+
3
+ from pandas.tseries.holiday import AbstractHolidayCalendar
4
+ from pytz import timezone
5
+ from itertools import chain
6
+
7
+ ########################################################################################################################
8
+ # SIFMA Financial Markets Calendar for US, UK, JP
9
+ #
10
+ # https://www.sifma.com/
11
+ #
12
+ # US: SIFMAUSExchangeCalendar() ['SIFMAUS', 'SIFMA_US', "Capital_Markets_US", "Financial_Markets_US", "Bond_Markets_US"]
13
+ # UK: SIFMAUKExchangeCalendar() ['SIFMAUK', 'SIFMA_UK', "Capital_Markets_UK", "Financial_Markets_UK", "Bond_Markets_UK"]
14
+ # JP: SIFMAJPExchangeCalendar() ['SIFMAJP', 'SIFMA_JP', "Capital_Markets_JP", "Financial_Markets_JP", "Bond_Markets_JP"]
15
+ #
16
+ # Trading Hours:
17
+ # US: 7:00 to 17:30
18
+ # UK: 8:00 to 17:00
19
+ # JP: 8:30 to 18:30
20
+ ########################################################################################################################
21
+
22
+
23
+ from pandas_market_calendars.holidays.sifma import (
24
+ # US Holidays
25
+ USNewYearsDay, # Not observed if a Saturday
26
+ USNewYearsEve2pmEarlyClose,
27
+ MartinLutherKingJr,
28
+ USPresidentsDay,
29
+ GoodFridayThru2020,
30
+ DayBeforeGoodFriday2pmEarlyCloseThru2020,
31
+ GoodFridayAdHoc,
32
+ GoodFriday2pmEarlyCloseAdHoc,
33
+ DayBeforeGoodFriday2pmEarlyCloseAdHoc,
34
+ DayBeforeUSMemorialDay2pmEarlyClose,
35
+ USMemorialDay,
36
+ USJuneteenthAfter2022,
37
+ USIndependenceDay,
38
+ DayBeforeUSIndependenceDay2pmEarlyClose,
39
+ ThursdayBeforeUSIndependenceDay2pmEarlyClose,
40
+ USLaborDay,
41
+ USColumbusDay,
42
+ USVeteransDay,
43
+ USThanksgivingDay,
44
+ DayAfterThanksgiving2pmEarlyClose,
45
+ Christmas,
46
+ ChristmasEve2pmEarlyClose,
47
+ ChristmasEveThursday2pmEarlyClose,
48
+ # UK Specific Holidays
49
+ UKNewYearsDay, # Saturdays observed on Monday
50
+ UKGoodFriday,
51
+ UKEasterMonday,
52
+ UKMayDay,
53
+ UKSpringBankAdHoc, # Usually follows US Memorial Day but not always
54
+ UKSummerBank,
55
+ UKChristmas,
56
+ UKChristmaEve,
57
+ UKWeekendChristmas, # Observed Tuesday when Boxing Day is on Monday
58
+ UKBoxingDay,
59
+ UKWeekendBoxingDay,
60
+ UKPlatinumJubilee2022,
61
+ )
62
+ from pandas_market_calendars.market_calendar import MarketCalendar
63
+
64
+
65
+ ########################################################################################################################
66
+ # SIFMA Financial Markets Calendar for US, UK, JP
67
+ #
68
+ # https://www.sifma.com/
69
+ #
70
+ # US: SIFMAUSExchangeCalendar() ['SIFMAUS', 'SIFMA_US', "Capital_Markets_US", "Financial_Markets_US", "Bond_Markets_US"]
71
+ # UK: SIFMAUKExchangeCalendar() ['SIFMAUK', 'SIFMA_UK', "Capital_Markets_UK", "Financial_Markets_UK", "Bond_Markets_UK"]
72
+ # JP: SIFMAJPExchangeCalendar() ['SIFMAJP', 'SIFMA_JP', "Capital_Markets_JP", "Financial_Markets_JP", "Bond_Markets_JP"]
73
+ #
74
+ # Trading Hours:
75
+ # US: 7:00 to 17:30
76
+ # UK: 8:00 to 17:00
77
+ # JP: 8:30 to 18:30
78
+ ########################################################################################################################
79
+
80
+ # AbstractHolidayCalendar.start_date = '1998-01-01'
81
+
82
+ ############################################################
83
+ # US
84
+ ############################################################
85
+
86
+
87
+ class SIFMAUSExchangeCalendar(MarketCalendar):
88
+ """
89
+ Exchange calendar for SIFMA United States
90
+
91
+ https://www.sifma.org/resources/general/holiday-schedule/#US
92
+
93
+ """
94
+
95
+ aliases = [
96
+ "SIFMAUS",
97
+ "SIFMA_US",
98
+ "Capital_Markets_US",
99
+ "Financial_Markets_US",
100
+ "Bond_Markets_US",
101
+ ]
102
+
103
+ regular_market_times = {
104
+ "market_open": ((None, time(7)),),
105
+ "market_close": ((None, time(17, 30)),),
106
+ }
107
+
108
+ @property
109
+ def name(self):
110
+ return "SIFMA_US"
111
+
112
+ @property
113
+ def tz(self):
114
+ return timezone("America/New_York")
115
+
116
+ @property
117
+ def regular_holidays(self):
118
+ return AbstractHolidayCalendar(
119
+ rules=[
120
+ USNewYearsDay,
121
+ MartinLutherKingJr,
122
+ USPresidentsDay,
123
+ GoodFridayThru2020,
124
+ USMemorialDay,
125
+ USJuneteenthAfter2022,
126
+ USIndependenceDay,
127
+ USLaborDay,
128
+ USColumbusDay,
129
+ USVeteransDay,
130
+ USThanksgivingDay,
131
+ Christmas,
132
+ ]
133
+ )
134
+
135
+ @property
136
+ def adhoc_holidays(self):
137
+ return list(
138
+ chain(
139
+ GoodFridayAdHoc,
140
+ )
141
+ )
142
+
143
+ @property
144
+ def special_closes(self):
145
+ return [
146
+ (
147
+ time(14),
148
+ AbstractHolidayCalendar(
149
+ rules=[
150
+ DayBeforeGoodFriday2pmEarlyCloseThru2020,
151
+ DayBeforeUSMemorialDay2pmEarlyClose,
152
+ DayBeforeUSIndependenceDay2pmEarlyClose,
153
+ ThursdayBeforeUSIndependenceDay2pmEarlyClose,
154
+ DayAfterThanksgiving2pmEarlyClose,
155
+ ChristmasEve2pmEarlyClose,
156
+ ChristmasEveThursday2pmEarlyClose,
157
+ USNewYearsEve2pmEarlyClose,
158
+ ]
159
+ ),
160
+ )
161
+ ]
162
+
163
+ @property
164
+ def special_closes_adhoc(self):
165
+ return [
166
+ (
167
+ time(14, tzinfo=timezone("America/New_York")),
168
+ GoodFriday2pmEarlyCloseAdHoc # list
169
+ + DayBeforeGoodFriday2pmEarlyCloseAdHoc,
170
+ ),
171
+ ]
172
+
173
+
174
+ ############################################################
175
+ # UK
176
+ ############################################################
177
+
178
+
179
+ class SIFMAUKExchangeCalendar(MarketCalendar):
180
+ """
181
+ Exchange calendar for SIFMA United Kingdom
182
+
183
+ https://www.sifma.org/resources/general/holiday-schedule/#UK
184
+
185
+ """
186
+
187
+ aliases = [
188
+ "SIFMAUK",
189
+ "SIFMA_UK",
190
+ "Capital_Markets_UK",
191
+ "Financial_Markets_UK",
192
+ "Bond_Markets_UK",
193
+ ]
194
+
195
+ regular_market_times = {
196
+ "market_open": ((None, time(8)),),
197
+ "market_close": ((None, time(17)),),
198
+ }
199
+
200
+ @property
201
+ def name(self):
202
+ return "SIFMA_UK"
203
+
204
+ @property
205
+ def tz(self):
206
+ return timezone("Europe/London")
207
+
208
+ @property
209
+ def regular_holidays(self):
210
+ return AbstractHolidayCalendar(
211
+ rules=[
212
+ UKNewYearsDay,
213
+ MartinLutherKingJr,
214
+ USPresidentsDay,
215
+ UKGoodFriday,
216
+ UKEasterMonday,
217
+ UKMayDay,
218
+ USMemorialDay,
219
+ USJuneteenthAfter2022,
220
+ USIndependenceDay,
221
+ UKSummerBank,
222
+ USLaborDay,
223
+ USColumbusDay,
224
+ USVeteransDay,
225
+ USThanksgivingDay,
226
+ UKChristmas,
227
+ UKChristmaEve,
228
+ UKWeekendChristmas,
229
+ UKBoxingDay,
230
+ UKWeekendBoxingDay,
231
+ ]
232
+ )
233
+
234
+ @property
235
+ def adhoc_holidays(self):
236
+ return list(
237
+ chain(
238
+ UKSpringBankAdHoc,
239
+ UKPlatinumJubilee2022,
240
+ )
241
+ )
242
+
243
+
244
+ ############################################################
245
+ # Japan
246
+ ############################################################
247
+ from pandas_market_calendars.holidays.jp import (
248
+ JapanComingOfAgeDay,
249
+ JapanNationalFoundationDay,
250
+ JapanEmperorsBirthday,
251
+ JapanVernalEquinox,
252
+ JapanShowaDay,
253
+ JapanConstitutionMemorialDay,
254
+ JapanGreeneryDay,
255
+ JapanChildrensDay,
256
+ JapanMarineDay,
257
+ JapanMountainDay,
258
+ JapanRespectForTheAgedDay,
259
+ JapanAutumnalEquinox,
260
+ JapanHealthAndSportsDay2000To2019,
261
+ JapanSportsDay2020,
262
+ JapanSportsDay,
263
+ JapanCultureDay,
264
+ JapanLaborThanksgivingDay,
265
+ )
266
+
267
+
268
+ class SIFMAJPExchangeCalendar(MarketCalendar):
269
+ """
270
+ Exchange calendar for SIFMA Japan
271
+
272
+ https://www.sifma.org/resources/general/holiday-schedule/#JP
273
+
274
+ """
275
+
276
+ aliases = [
277
+ "SIFMAJP",
278
+ "SIFMA_JP",
279
+ "Capital_Markets_JP",
280
+ "Financial_Markets_JP",
281
+ "Bond_Markets_JP",
282
+ ]
283
+
284
+ regular_market_times = {
285
+ "market_open": ((None, time(8, 30)),),
286
+ "market_close": ((None, time(18, 30)),),
287
+ }
288
+
289
+ @property
290
+ def name(self):
291
+ return "SIFMA_JP"
292
+
293
+ @property
294
+ def tz(self):
295
+ return timezone("Asia/Tokyo")
296
+
297
+ @property
298
+ def regular_holidays(self):
299
+ return AbstractHolidayCalendar(
300
+ rules=[
301
+ UKNewYearsDay,
302
+ JapanComingOfAgeDay,
303
+ MartinLutherKingJr,
304
+ JapanNationalFoundationDay,
305
+ USPresidentsDay,
306
+ JapanEmperorsBirthday,
307
+ JapanVernalEquinox,
308
+ UKGoodFriday,
309
+ UKEasterMonday,
310
+ JapanShowaDay,
311
+ JapanConstitutionMemorialDay,
312
+ JapanGreeneryDay,
313
+ JapanChildrensDay,
314
+ USMemorialDay,
315
+ USJuneteenthAfter2022,
316
+ USIndependenceDay,
317
+ JapanMarineDay,
318
+ JapanMountainDay,
319
+ UKSummerBank,
320
+ USLaborDay,
321
+ JapanRespectForTheAgedDay,
322
+ JapanAutumnalEquinox,
323
+ JapanSportsDay,
324
+ JapanSportsDay2020,
325
+ JapanHealthAndSportsDay2000To2019,
326
+ JapanCultureDay,
327
+ USVeteransDay,
328
+ JapanLaborThanksgivingDay,
329
+ USThanksgivingDay,
330
+ UKChristmas,
331
+ UKChristmaEve,
332
+ UKBoxingDay,
333
+ UKWeekendBoxingDay,
334
+ ]
335
+ )
336
+
337
+ @property
338
+ def adhoc_holidays(self):
339
+ return list(
340
+ chain(
341
+ UKSpringBankAdHoc,
342
+ UKPlatinumJubilee2022,
343
+ )
344
+ )
345
+
346
+ @property
347
+ def special_closes(self):
348
+ return [
349
+ (time(15), AbstractHolidayCalendar(rules=[UKMayDay, UKWeekendChristmas]))
350
+ ]