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,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"