pandas-market-calendars 4.3.1__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 (49) hide show
  1. pandas_market_calendars/__init__.py +38 -37
  2. pandas_market_calendars/calendar_registry.py +53 -48
  3. pandas_market_calendars/calendar_utils.py +261 -225
  4. pandas_market_calendars/calendars/asx.py +66 -63
  5. pandas_market_calendars/calendars/bmf.py +206 -227
  6. pandas_market_calendars/calendars/bse.py +407 -409
  7. pandas_market_calendars/calendars/cboe.py +145 -115
  8. pandas_market_calendars/calendars/cme.py +402 -240
  9. pandas_market_calendars/calendars/cme_globex_agriculture.py +126 -103
  10. pandas_market_calendars/calendars/cme_globex_base.py +119 -103
  11. pandas_market_calendars/calendars/cme_globex_crypto.py +160 -147
  12. pandas_market_calendars/calendars/cme_globex_energy_and_metals.py +216 -138
  13. pandas_market_calendars/calendars/cme_globex_equities.py +123 -104
  14. pandas_market_calendars/calendars/cme_globex_fixed_income.py +136 -113
  15. pandas_market_calendars/calendars/cme_globex_fx.py +101 -78
  16. pandas_market_calendars/calendars/eurex.py +139 -119
  17. pandas_market_calendars/calendars/eurex_fixed_income.py +98 -0
  18. pandas_market_calendars/calendars/hkex.py +426 -408
  19. pandas_market_calendars/calendars/ice.py +81 -65
  20. pandas_market_calendars/calendars/iex.py +112 -98
  21. pandas_market_calendars/calendars/jpx.py +109 -103
  22. pandas_market_calendars/calendars/lse.py +114 -91
  23. pandas_market_calendars/calendars/mirror.py +130 -114
  24. pandas_market_calendars/calendars/nyse.py +1324 -1127
  25. pandas_market_calendars/calendars/ose.py +116 -150
  26. pandas_market_calendars/calendars/sifma.py +350 -297
  27. pandas_market_calendars/calendars/six.py +132 -114
  28. pandas_market_calendars/calendars/sse.py +311 -290
  29. pandas_market_calendars/calendars/tase.py +197 -195
  30. pandas_market_calendars/calendars/tsx.py +181 -159
  31. pandas_market_calendars/class_registry.py +22 -16
  32. pandas_market_calendars/holidays/cme.py +385 -340
  33. pandas_market_calendars/holidays/cme_globex.py +214 -198
  34. pandas_market_calendars/holidays/cn.py +1455 -1436
  35. pandas_market_calendars/holidays/jp.py +398 -396
  36. pandas_market_calendars/holidays/jpx_equinox.py +453 -95
  37. pandas_market_calendars/holidays/nyse.py +1531 -1472
  38. pandas_market_calendars/holidays/oz.py +63 -65
  39. pandas_market_calendars/holidays/sifma.py +338 -321
  40. pandas_market_calendars/holidays/uk.py +32 -26
  41. pandas_market_calendars/holidays/us.py +376 -360
  42. pandas_market_calendars/market_calendar.py +895 -789
  43. {pandas_market_calendars-4.3.1.dist-info → pandas_market_calendars-4.3.3.dist-info}/METADATA +7 -5
  44. pandas_market_calendars-4.3.3.dist-info/RECORD +50 -0
  45. {pandas_market_calendars-4.3.1.dist-info → pandas_market_calendars-4.3.3.dist-info}/WHEEL +1 -1
  46. pandas_market_calendars-4.3.1.dist-info/RECORD +0 -49
  47. {pandas_market_calendars-4.3.1.dist-info → pandas_market_calendars-4.3.3.dist-info}/LICENSE +0 -0
  48. {pandas_market_calendars-4.3.1.dist-info → pandas_market_calendars-4.3.3.dist-info}/NOTICE +0 -0
  49. {pandas_market_calendars-4.3.1.dist-info → pandas_market_calendars-4.3.3.dist-info}/top_level.txt +0 -0
@@ -1,195 +1,197 @@
1
- from datetime import time
2
- from pandas import Timestamp
3
- from pytz import timezone
4
- from pandas_market_calendars.market_calendar import MarketCalendar
5
-
6
- TASEClosedDay = [
7
- # 2019
8
- Timestamp('2019-03-21', tz='Asia/Jerusalem'),
9
- Timestamp('2019-04-09', tz='Asia/Jerusalem'),
10
- Timestamp('2019-04-25', tz='Asia/Jerusalem'),
11
- Timestamp('2019-04-26', tz='Asia/Jerusalem'),
12
- Timestamp('2019-05-08', tz='Asia/Jerusalem'),
13
- Timestamp('2019-05-09', tz='Asia/Jerusalem'),
14
- Timestamp('2019-06-09', tz='Asia/Jerusalem'),
15
- Timestamp('2019-08-11', tz='Asia/Jerusalem'),
16
- Timestamp('2019-09-17', tz='Asia/Jerusalem'),
17
- Timestamp('2019-09-29', tz='Asia/Jerusalem'),
18
- Timestamp('2019-09-30', tz='Asia/Jerusalem'),
19
- Timestamp('2019-10-01', tz='Asia/Jerusalem'),
20
- Timestamp('2019-10-08', tz='Asia/Jerusalem'),
21
- Timestamp('2019-10-09', tz='Asia/Jerusalem'),
22
- Timestamp('2019-10-13', tz='Asia/Jerusalem'),
23
- Timestamp('2019-10-14', tz='Asia/Jerusalem'),
24
- Timestamp('2019-10-20', tz='Asia/Jerusalem'),
25
- Timestamp('2019-10-21', tz='Asia/Jerusalem'),
26
- # 2020
27
- Timestamp('2020-03-02', tz='Asia/Jerusalem'),
28
- Timestamp('2020-03-10', tz='Asia/Jerusalem'),
29
- Timestamp('2020-04-08', tz='Asia/Jerusalem'),
30
- Timestamp('2020-04-09', tz='Asia/Jerusalem'),
31
- Timestamp('2020-04-14', tz='Asia/Jerusalem'),
32
- Timestamp('2020-04-15', tz='Asia/Jerusalem'),
33
- Timestamp('2020-04-28', tz='Asia/Jerusalem'),
34
- Timestamp('2020-04-29', tz='Asia/Jerusalem'),
35
- Timestamp('2020-05-28', tz='Asia/Jerusalem'),
36
- Timestamp('2020-05-29', tz='Asia/Jerusalem'),
37
- Timestamp('2020-07-30', tz='Asia/Jerusalem'),
38
- Timestamp('2020-09-20', tz='Asia/Jerusalem'),
39
- Timestamp('2020-09-27', tz='Asia/Jerusalem'),
40
- Timestamp('2020-09-28', tz='Asia/Jerusalem'),
41
- # 2021
42
- Timestamp('2021-02-26', tz='Asia/Jerusalem'),
43
- Timestamp('2021-03-28', tz='Asia/Jerusalem'),
44
- Timestamp('2021-04-02', tz='Asia/Jerusalem'),
45
- Timestamp('2021-04-14', tz='Asia/Jerusalem'),
46
- Timestamp('2021-04-15', tz='Asia/Jerusalem'),
47
- Timestamp('2021-05-16', tz='Asia/Jerusalem'),
48
- Timestamp('2021-05-17', tz='Asia/Jerusalem'),
49
- Timestamp('2021-07-18', tz='Asia/Jerusalem'),
50
- Timestamp('2021-09-06', tz='Asia/Jerusalem'),
51
- Timestamp('2021-09-07', tz='Asia/Jerusalem'),
52
- Timestamp('2021-09-08', tz='Asia/Jerusalem'),
53
- Timestamp('2021-09-15', tz='Asia/Jerusalem'),
54
- Timestamp('2021-09-16', tz='Asia/Jerusalem'),
55
- Timestamp('2021-09-20', tz='Asia/Jerusalem'),
56
- Timestamp('2021-09-21', tz='Asia/Jerusalem'),
57
- Timestamp('2021-09-27', tz='Asia/Jerusalem'),
58
- Timestamp('2021-09-28', tz='Asia/Jerusalem'),
59
- #2022
60
- Timestamp('2022-03-17', tz='Asia/Jerusalem'),
61
- Timestamp('2022-03-18', tz='Asia/Jerusalem'),
62
- Timestamp('2022-04-15', tz='Asia/Jerusalem'),
63
- Timestamp('2022-04-21', tz='Asia/Jerusalem'),
64
- Timestamp('2022-04-22', tz='Asia/Jerusalem'),
65
- Timestamp('2022-05-05', tz='Asia/Jerusalem'),
66
- Timestamp('2022-06-05', tz='Asia/Jerusalem'),
67
- Timestamp('2022-08-07', tz='Asia/Jerusalem'),
68
- Timestamp('2022-09-25', tz='Asia/Jerusalem'),
69
- Timestamp('2022-09-26', tz='Asia/Jerusalem'),
70
- Timestamp('2022-09-27', tz='Asia/Jerusalem'),
71
- Timestamp('2022-10-04', tz='Asia/Jerusalem'),
72
- Timestamp('2022-10-05', tz='Asia/Jerusalem'),
73
- Timestamp('2022-10-09', tz='Asia/Jerusalem'),
74
- Timestamp('2022-10-10', tz='Asia/Jerusalem'),
75
- Timestamp('2022-10-16', tz='Asia/Jerusalem'),
76
- Timestamp('2022-10-17', tz='Asia/Jerusalem'),
77
- Timestamp('2022-11-01', tz='Asia/Jerusalem'),
78
- #2023
79
- Timestamp('2023-03-07', tz='Asia/Jerusalem'),
80
- Timestamp('2023-03-08', tz='Asia/Jerusalem'),
81
- Timestamp('2023-04-05', tz='Asia/Jerusalem'),
82
- Timestamp('2023-04-06', tz='Asia/Jerusalem'),
83
- Timestamp('2023-04-11', tz='Asia/Jerusalem'),
84
- Timestamp('2023-04-12', tz='Asia/Jerusalem'),
85
- Timestamp('2023-04-25', tz='Asia/Jerusalem'),
86
- Timestamp('2023-04-26', tz='Asia/Jerusalem'),
87
- Timestamp('2023-05-25', tz='Asia/Jerusalem'),
88
- Timestamp('2023-05-26', tz='Asia/Jerusalem'),
89
- Timestamp('2023-07-27', tz='Asia/Jerusalem'),
90
- Timestamp('2023-09-15', tz='Asia/Jerusalem'),
91
- Timestamp('2023-09-17', tz='Asia/Jerusalem'),
92
- Timestamp('2023-09-24', tz='Asia/Jerusalem'),
93
- Timestamp('2023-09-25', tz='Asia/Jerusalem'),
94
- Timestamp('2023-09-29', tz='Asia/Jerusalem'),
95
- Timestamp('2023-10-06', tz='Asia/Jerusalem'),
96
- Timestamp('2023-10-31', tz='Asia/Jerusalem'),
97
- #2024
98
- Timestamp('2024-03-24', tz='Asia/Jerusalem'),
99
- Timestamp('2024-03-25', tz='Asia/Jerusalem'),
100
- Timestamp('2024-04-22', tz='Asia/Jerusalem'),
101
- Timestamp('2024-04-23', tz='Asia/Jerusalem'),
102
- Timestamp('2024-04-28', tz='Asia/Jerusalem'),
103
- Timestamp('2024-04-29', tz='Asia/Jerusalem'),
104
- Timestamp('2024-05-13', tz='Asia/Jerusalem'),
105
- Timestamp('2024-05-14', tz='Asia/Jerusalem'),
106
- Timestamp('2024-06-11', tz='Asia/Jerusalem'),
107
- Timestamp('2024-06-12', tz='Asia/Jerusalem'),
108
- Timestamp('2024-08-13', tz='Asia/Jerusalem'),
109
- Timestamp('2024-10-02', tz='Asia/Jerusalem'),
110
- Timestamp('2024-10-03', tz='Asia/Jerusalem'),
111
- Timestamp('2024-10-04', tz='Asia/Jerusalem'),
112
- Timestamp('2024-10-11', tz='Asia/Jerusalem'),
113
- Timestamp('2024-10-16', tz='Asia/Jerusalem'),
114
- Timestamp('2024-10-17', tz='Asia/Jerusalem'),
115
- Timestamp('2024-10-23', tz='Asia/Jerusalem'),
116
- Timestamp('2024-10-24', tz='Asia/Jerusalem'),
117
- #2025
118
- Timestamp('2025-03-14', tz='Asia/Jerusalem'),
119
- Timestamp('2025-04-13', tz='Asia/Jerusalem'),
120
- Timestamp('2025-04-18', tz='Asia/Jerusalem'),
121
- Timestamp('2025-04-30', tz='Asia/Jerusalem'),
122
- Timestamp('2025-05-01', tz='Asia/Jerusalem'),
123
- Timestamp('2025-06-01', tz='Asia/Jerusalem'),
124
- Timestamp('2025-06-02', tz='Asia/Jerusalem'),
125
- Timestamp('2025-08-03', tz='Asia/Jerusalem'),
126
- Timestamp('2025-09-22', tz='Asia/Jerusalem'),
127
- Timestamp('2025-09-23', tz='Asia/Jerusalem'),
128
- Timestamp('2025-09-24', tz='Asia/Jerusalem'),
129
- Timestamp('2025-10-01', tz='Asia/Jerusalem'),
130
- Timestamp('2025-10-02', tz='Asia/Jerusalem'),
131
- Timestamp('2025-10-06', tz='Asia/Jerusalem'),
132
- Timestamp('2025-10-07', tz='Asia/Jerusalem'),
133
- Timestamp('2025-10-13', tz='Asia/Jerusalem'),
134
- Timestamp('2025-10-14', tz='Asia/Jerusalem')
135
- ]
136
-
137
-
138
- class TASEExchangeCalendar(MarketCalendar):
139
- """
140
- Exchange calendar for TASE Stock Exchange
141
-
142
- Note these dates are only checked against 2020 and 2021
143
- https://info.tase.co.il/Eng/about_tase/corporate/Pages/vacation_schedule.aspx
144
-
145
- Opening times for the regular trading of equities (not including closing auction call)
146
- Open Time: 10:00 AM Asia/Jerusalem
147
- Close Time: 3:59 PM Asia/Jerusalem
148
-
149
- Daylight Saving Time in Israel comes into effect on the Friday before the last Sunday in March, and lasts until the
150
- last Sunday in October.
151
- During the Daylight Saving time period the clock will be UTC+3, and for the rest of the year UTC+2.
152
-
153
- Regularly-Observed Holidays (not necessarily in order):
154
- - Purim
155
- - Passover_I_Eve
156
- - Passover_I
157
- - Passover_II_Eve
158
- - Passover_II
159
- - Independence_Day
160
- - Yom_HaZikaron
161
- - Shavuot_Eve
162
- - Shavuot
163
- - Tisha_beAv
164
- - Jewish_New_Year_Eve
165
- - Jewish_New_Year_I
166
- - Jewish_New_Year_II
167
- - Yom_Kippur_Eve
168
- - Yom_Kippur
169
- - Sukkoth_Eve
170
- - Sukkoth
171
- - Simchat_Tora_Eve
172
- - Simchat_Tora
173
- """
174
-
175
- aliases = ['TASE']
176
- regular_market_times = {
177
- "market_open": ((None, time(10)),),
178
- "market_close": ((None, time(15,59)),)
179
- }
180
-
181
- @property
182
- def name(self):
183
- return "TASE"
184
-
185
- @property
186
- def tz(self):
187
- return timezone("Asia/Jerusalem")
188
-
189
- @property
190
- def adhoc_holidays(self):
191
- return TASEClosedDay
192
-
193
- @property
194
- def weekmask(self):
195
- return "Sun Mon Tue Wed Thu"
1
+ from datetime import time
2
+
3
+ from pandas import Timestamp
4
+ from pytz import timezone
5
+
6
+ from pandas_market_calendars.market_calendar import MarketCalendar
7
+
8
+ TASEClosedDay = [
9
+ # 2019
10
+ Timestamp("2019-03-21", tz="Asia/Jerusalem"),
11
+ Timestamp("2019-04-09", tz="Asia/Jerusalem"),
12
+ Timestamp("2019-04-25", tz="Asia/Jerusalem"),
13
+ Timestamp("2019-04-26", tz="Asia/Jerusalem"),
14
+ Timestamp("2019-05-08", tz="Asia/Jerusalem"),
15
+ Timestamp("2019-05-09", tz="Asia/Jerusalem"),
16
+ Timestamp("2019-06-09", tz="Asia/Jerusalem"),
17
+ Timestamp("2019-08-11", tz="Asia/Jerusalem"),
18
+ Timestamp("2019-09-17", tz="Asia/Jerusalem"),
19
+ Timestamp("2019-09-29", tz="Asia/Jerusalem"),
20
+ Timestamp("2019-09-30", tz="Asia/Jerusalem"),
21
+ Timestamp("2019-10-01", tz="Asia/Jerusalem"),
22
+ Timestamp("2019-10-08", tz="Asia/Jerusalem"),
23
+ Timestamp("2019-10-09", tz="Asia/Jerusalem"),
24
+ Timestamp("2019-10-13", tz="Asia/Jerusalem"),
25
+ Timestamp("2019-10-14", tz="Asia/Jerusalem"),
26
+ Timestamp("2019-10-20", tz="Asia/Jerusalem"),
27
+ Timestamp("2019-10-21", tz="Asia/Jerusalem"),
28
+ # 2020
29
+ Timestamp("2020-03-02", tz="Asia/Jerusalem"),
30
+ Timestamp("2020-03-10", tz="Asia/Jerusalem"),
31
+ Timestamp("2020-04-08", tz="Asia/Jerusalem"),
32
+ Timestamp("2020-04-09", tz="Asia/Jerusalem"),
33
+ Timestamp("2020-04-14", tz="Asia/Jerusalem"),
34
+ Timestamp("2020-04-15", tz="Asia/Jerusalem"),
35
+ Timestamp("2020-04-28", tz="Asia/Jerusalem"),
36
+ Timestamp("2020-04-29", tz="Asia/Jerusalem"),
37
+ Timestamp("2020-05-28", tz="Asia/Jerusalem"),
38
+ Timestamp("2020-05-29", tz="Asia/Jerusalem"),
39
+ Timestamp("2020-07-30", tz="Asia/Jerusalem"),
40
+ Timestamp("2020-09-20", tz="Asia/Jerusalem"),
41
+ Timestamp("2020-09-27", tz="Asia/Jerusalem"),
42
+ Timestamp("2020-09-28", tz="Asia/Jerusalem"),
43
+ # 2021
44
+ Timestamp("2021-02-26", tz="Asia/Jerusalem"),
45
+ Timestamp("2021-03-28", tz="Asia/Jerusalem"),
46
+ Timestamp("2021-04-02", tz="Asia/Jerusalem"),
47
+ Timestamp("2021-04-14", tz="Asia/Jerusalem"),
48
+ Timestamp("2021-04-15", tz="Asia/Jerusalem"),
49
+ Timestamp("2021-05-16", tz="Asia/Jerusalem"),
50
+ Timestamp("2021-05-17", tz="Asia/Jerusalem"),
51
+ Timestamp("2021-07-18", tz="Asia/Jerusalem"),
52
+ Timestamp("2021-09-06", tz="Asia/Jerusalem"),
53
+ Timestamp("2021-09-07", tz="Asia/Jerusalem"),
54
+ Timestamp("2021-09-08", tz="Asia/Jerusalem"),
55
+ Timestamp("2021-09-15", tz="Asia/Jerusalem"),
56
+ Timestamp("2021-09-16", tz="Asia/Jerusalem"),
57
+ Timestamp("2021-09-20", tz="Asia/Jerusalem"),
58
+ Timestamp("2021-09-21", tz="Asia/Jerusalem"),
59
+ Timestamp("2021-09-27", tz="Asia/Jerusalem"),
60
+ Timestamp("2021-09-28", tz="Asia/Jerusalem"),
61
+ # 2022
62
+ Timestamp("2022-03-17", tz="Asia/Jerusalem"),
63
+ Timestamp("2022-03-18", tz="Asia/Jerusalem"),
64
+ Timestamp("2022-04-15", tz="Asia/Jerusalem"),
65
+ Timestamp("2022-04-21", tz="Asia/Jerusalem"),
66
+ Timestamp("2022-04-22", tz="Asia/Jerusalem"),
67
+ Timestamp("2022-05-05", tz="Asia/Jerusalem"),
68
+ Timestamp("2022-06-05", tz="Asia/Jerusalem"),
69
+ Timestamp("2022-08-07", tz="Asia/Jerusalem"),
70
+ Timestamp("2022-09-25", tz="Asia/Jerusalem"),
71
+ Timestamp("2022-09-26", tz="Asia/Jerusalem"),
72
+ Timestamp("2022-09-27", tz="Asia/Jerusalem"),
73
+ Timestamp("2022-10-04", tz="Asia/Jerusalem"),
74
+ Timestamp("2022-10-05", tz="Asia/Jerusalem"),
75
+ Timestamp("2022-10-09", tz="Asia/Jerusalem"),
76
+ Timestamp("2022-10-10", tz="Asia/Jerusalem"),
77
+ Timestamp("2022-10-16", tz="Asia/Jerusalem"),
78
+ Timestamp("2022-10-17", tz="Asia/Jerusalem"),
79
+ Timestamp("2022-11-01", tz="Asia/Jerusalem"),
80
+ # 2023
81
+ Timestamp("2023-03-07", tz="Asia/Jerusalem"),
82
+ Timestamp("2023-03-08", tz="Asia/Jerusalem"),
83
+ Timestamp("2023-04-05", tz="Asia/Jerusalem"),
84
+ Timestamp("2023-04-06", tz="Asia/Jerusalem"),
85
+ Timestamp("2023-04-11", tz="Asia/Jerusalem"),
86
+ Timestamp("2023-04-12", tz="Asia/Jerusalem"),
87
+ Timestamp("2023-04-25", tz="Asia/Jerusalem"),
88
+ Timestamp("2023-04-26", tz="Asia/Jerusalem"),
89
+ Timestamp("2023-05-25", tz="Asia/Jerusalem"),
90
+ Timestamp("2023-05-26", tz="Asia/Jerusalem"),
91
+ Timestamp("2023-07-27", tz="Asia/Jerusalem"),
92
+ Timestamp("2023-09-15", tz="Asia/Jerusalem"),
93
+ Timestamp("2023-09-17", tz="Asia/Jerusalem"),
94
+ Timestamp("2023-09-24", tz="Asia/Jerusalem"),
95
+ Timestamp("2023-09-25", tz="Asia/Jerusalem"),
96
+ Timestamp("2023-09-29", tz="Asia/Jerusalem"),
97
+ Timestamp("2023-10-06", tz="Asia/Jerusalem"),
98
+ Timestamp("2023-10-31", tz="Asia/Jerusalem"),
99
+ # 2024
100
+ Timestamp("2024-03-24", tz="Asia/Jerusalem"),
101
+ Timestamp("2024-03-25", tz="Asia/Jerusalem"),
102
+ Timestamp("2024-04-22", tz="Asia/Jerusalem"),
103
+ Timestamp("2024-04-23", tz="Asia/Jerusalem"),
104
+ Timestamp("2024-04-28", tz="Asia/Jerusalem"),
105
+ Timestamp("2024-04-29", tz="Asia/Jerusalem"),
106
+ Timestamp("2024-05-13", tz="Asia/Jerusalem"),
107
+ Timestamp("2024-05-14", tz="Asia/Jerusalem"),
108
+ Timestamp("2024-06-11", tz="Asia/Jerusalem"),
109
+ Timestamp("2024-06-12", tz="Asia/Jerusalem"),
110
+ Timestamp("2024-08-13", tz="Asia/Jerusalem"),
111
+ Timestamp("2024-10-02", tz="Asia/Jerusalem"),
112
+ Timestamp("2024-10-03", tz="Asia/Jerusalem"),
113
+ Timestamp("2024-10-04", tz="Asia/Jerusalem"),
114
+ Timestamp("2024-10-11", tz="Asia/Jerusalem"),
115
+ Timestamp("2024-10-16", tz="Asia/Jerusalem"),
116
+ Timestamp("2024-10-17", tz="Asia/Jerusalem"),
117
+ Timestamp("2024-10-23", tz="Asia/Jerusalem"),
118
+ Timestamp("2024-10-24", tz="Asia/Jerusalem"),
119
+ # 2025
120
+ Timestamp("2025-03-14", tz="Asia/Jerusalem"),
121
+ Timestamp("2025-04-13", tz="Asia/Jerusalem"),
122
+ Timestamp("2025-04-18", tz="Asia/Jerusalem"),
123
+ Timestamp("2025-04-30", tz="Asia/Jerusalem"),
124
+ Timestamp("2025-05-01", tz="Asia/Jerusalem"),
125
+ Timestamp("2025-06-01", tz="Asia/Jerusalem"),
126
+ Timestamp("2025-06-02", tz="Asia/Jerusalem"),
127
+ Timestamp("2025-08-03", tz="Asia/Jerusalem"),
128
+ Timestamp("2025-09-22", tz="Asia/Jerusalem"),
129
+ Timestamp("2025-09-23", tz="Asia/Jerusalem"),
130
+ Timestamp("2025-09-24", tz="Asia/Jerusalem"),
131
+ Timestamp("2025-10-01", tz="Asia/Jerusalem"),
132
+ Timestamp("2025-10-02", tz="Asia/Jerusalem"),
133
+ Timestamp("2025-10-06", tz="Asia/Jerusalem"),
134
+ Timestamp("2025-10-07", tz="Asia/Jerusalem"),
135
+ Timestamp("2025-10-13", tz="Asia/Jerusalem"),
136
+ Timestamp("2025-10-14", tz="Asia/Jerusalem"),
137
+ ]
138
+
139
+
140
+ class TASEExchangeCalendar(MarketCalendar):
141
+ """
142
+ Exchange calendar for TASE Stock Exchange
143
+
144
+ Note these dates are only checked against 2020 and 2021
145
+ https://info.tase.co.il/Eng/about_tase/corporate/Pages/vacation_schedule.aspx
146
+
147
+ Opening times for the regular trading of equities (not including closing auction call)
148
+ Open Time: 10:00 AM Asia/Jerusalem
149
+ Close Time: 3:59 PM Asia/Jerusalem
150
+
151
+ Daylight Saving Time in Israel comes into effect on the Friday before the last Sunday in March, and lasts until the
152
+ last Sunday in October.
153
+ During the Daylight Saving time period the clock will be UTC+3, and for the rest of the year UTC+2.
154
+
155
+ Regularly-Observed Holidays (not necessarily in order):
156
+ - Purim
157
+ - Passover_I_Eve
158
+ - Passover_I
159
+ - Passover_II_Eve
160
+ - Passover_II
161
+ - Independence_Day
162
+ - Yom_HaZikaron
163
+ - Shavuot_Eve
164
+ - Shavuot
165
+ - Tisha_beAv
166
+ - Jewish_New_Year_Eve
167
+ - Jewish_New_Year_I
168
+ - Jewish_New_Year_II
169
+ - Yom_Kippur_Eve
170
+ - Yom_Kippur
171
+ - Sukkoth_Eve
172
+ - Sukkoth
173
+ - Simchat_Tora_Eve
174
+ - Simchat_Tora
175
+ """
176
+
177
+ aliases = ["TASE"]
178
+ regular_market_times = {
179
+ "market_open": ((None, time(10)),),
180
+ "market_close": ((None, time(15, 59)),),
181
+ }
182
+
183
+ @property
184
+ def name(self):
185
+ return "TASE"
186
+
187
+ @property
188
+ def tz(self):
189
+ return timezone("Asia/Jerusalem")
190
+
191
+ @property
192
+ def adhoc_holidays(self):
193
+ return TASEClosedDay
194
+
195
+ @property
196
+ def weekmask(self):
197
+ return "Sun Mon Tue Wed Thu"