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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+ ]