pandas-market-calendars 5.1.0__py3-none-any.whl → 5.1.1__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 (48) hide show
  1. pandas_market_calendars/__init__.py +39 -39
  2. pandas_market_calendars/calendar_registry.py +57 -57
  3. pandas_market_calendars/calendar_utils.py +1151 -1151
  4. pandas_market_calendars/calendars/asx.py +77 -70
  5. pandas_market_calendars/calendars/bmf.py +226 -219
  6. pandas_market_calendars/calendars/bse.py +432 -425
  7. pandas_market_calendars/calendars/cboe.py +156 -149
  8. pandas_market_calendars/calendars/cme.py +412 -405
  9. pandas_market_calendars/calendars/cme_globex_agriculture.py +172 -172
  10. pandas_market_calendars/calendars/cme_globex_base.py +126 -119
  11. pandas_market_calendars/calendars/cme_globex_crypto.py +165 -158
  12. pandas_market_calendars/calendars/cme_globex_energy_and_metals.py +223 -216
  13. pandas_market_calendars/calendars/cme_globex_equities.py +130 -123
  14. pandas_market_calendars/calendars/cme_globex_fixed_income.py +136 -136
  15. pandas_market_calendars/calendars/cme_globex_fx.py +101 -101
  16. pandas_market_calendars/calendars/eurex.py +138 -131
  17. pandas_market_calendars/calendars/eurex_fixed_income.py +105 -98
  18. pandas_market_calendars/calendars/hkex.py +438 -431
  19. pandas_market_calendars/calendars/ice.py +88 -81
  20. pandas_market_calendars/calendars/iex.py +162 -155
  21. pandas_market_calendars/calendars/jpx.py +124 -117
  22. pandas_market_calendars/calendars/lse.py +125 -118
  23. pandas_market_calendars/calendars/mirror.py +144 -144
  24. pandas_market_calendars/calendars/nyse.py +1472 -1466
  25. pandas_market_calendars/calendars/ose.py +125 -118
  26. pandas_market_calendars/calendars/sifma.py +390 -383
  27. pandas_market_calendars/calendars/six.py +143 -136
  28. pandas_market_calendars/calendars/sse.py +322 -315
  29. pandas_market_calendars/calendars/tase.py +231 -224
  30. pandas_market_calendars/calendars/tsx.py +192 -185
  31. pandas_market_calendars/class_registry.py +115 -115
  32. pandas_market_calendars/holidays/cme.py +385 -385
  33. pandas_market_calendars/holidays/cme_globex.py +214 -214
  34. pandas_market_calendars/holidays/cn.py +1476 -1476
  35. pandas_market_calendars/holidays/jp.py +401 -401
  36. pandas_market_calendars/holidays/jpx_equinox.py +506 -506
  37. pandas_market_calendars/holidays/nyse.py +1536 -1536
  38. pandas_market_calendars/holidays/oz.py +63 -63
  39. pandas_market_calendars/holidays/sifma.py +350 -350
  40. pandas_market_calendars/holidays/us.py +376 -376
  41. pandas_market_calendars/market_calendar.py +1008 -1008
  42. {pandas_market_calendars-5.1.0.dist-info → pandas_market_calendars-5.1.1.dist-info}/METADATA +3 -1
  43. pandas_market_calendars-5.1.1.dist-info/RECORD +50 -0
  44. {pandas_market_calendars-5.1.0.dist-info → pandas_market_calendars-5.1.1.dist-info}/WHEEL +1 -1
  45. pandas_market_calendars-5.1.0.dist-info/RECORD +0 -50
  46. {pandas_market_calendars-5.1.0.dist-info → pandas_market_calendars-5.1.1.dist-info}/licenses/LICENSE +0 -0
  47. {pandas_market_calendars-5.1.0.dist-info → pandas_market_calendars-5.1.1.dist-info}/licenses/NOTICE +0 -0
  48. {pandas_market_calendars-5.1.0.dist-info → pandas_market_calendars-5.1.1.dist-info}/top_level.txt +0 -0
@@ -1,425 +1,432 @@
1
- """
2
- Bombay Stock Exchnage
3
- """
4
-
5
- from datetime import time
6
-
7
- from pandas import Timestamp
8
- from zoneinfo import ZoneInfo
9
-
10
- from pandas_market_calendars.market_calendar import MarketCalendar
11
-
12
- BSEClosedDay = [
13
- Timestamp("1997-01-23", tz="UTC"),
14
- Timestamp("1997-03-07", tz="UTC"),
15
- Timestamp("1997-03-24", tz="UTC"),
16
- Timestamp("1997-04-08", tz="UTC"),
17
- Timestamp("1997-04-14", tz="UTC"),
18
- Timestamp("1997-04-16", tz="UTC"),
19
- Timestamp("1997-04-18", tz="UTC"),
20
- Timestamp("1997-05-01", tz="UTC"),
21
- Timestamp("1997-05-08", tz="UTC"),
22
- Timestamp("1997-08-15", tz="UTC"),
23
- Timestamp("1997-08-18", tz="UTC"),
24
- Timestamp("1997-08-25", tz="UTC"),
25
- Timestamp("1997-10-02", tz="UTC"),
26
- Timestamp("1997-10-28", tz="UTC"),
27
- Timestamp("1997-10-29", tz="UTC"),
28
- Timestamp("1997-10-31", tz="UTC"),
29
- Timestamp("1997-12-25", tz="UTC"),
30
- Timestamp("1998-04-09", tz="UTC"),
31
- Timestamp("1998-04-14", tz="UTC"),
32
- Timestamp("1998-04-28", tz="UTC"),
33
- Timestamp("1998-12-25", tz="UTC"),
34
- Timestamp("1999-01-01", tz="UTC"),
35
- Timestamp("1999-01-20", tz="UTC"),
36
- Timestamp("1999-01-26", tz="UTC"),
37
- Timestamp("1999-03-02", tz="UTC"),
38
- Timestamp("1999-03-18", tz="UTC"),
39
- Timestamp("1999-03-25", tz="UTC"),
40
- Timestamp("1999-03-29", tz="UTC"),
41
- Timestamp("1999-04-02", tz="UTC"),
42
- Timestamp("1999-04-14", tz="UTC"),
43
- Timestamp("1999-04-27", tz="UTC"),
44
- Timestamp("1999-04-30", tz="UTC"),
45
- Timestamp("1999-09-13", tz="UTC"),
46
- Timestamp("1999-10-19", tz="UTC"),
47
- Timestamp("1999-11-08", tz="UTC"),
48
- Timestamp("1999-11-10", tz="UTC"),
49
- Timestamp("1999-11-23", tz="UTC"),
50
- Timestamp("1999-12-31", tz="UTC"),
51
- Timestamp("2000-01-26", tz="UTC"),
52
- Timestamp("2000-03-17", tz="UTC"),
53
- Timestamp("2000-03-20", tz="UTC"),
54
- Timestamp("2000-04-14", tz="UTC"),
55
- Timestamp("2000-04-21", tz="UTC"),
56
- Timestamp("2000-05-01", tz="UTC"),
57
- Timestamp("2000-08-15", tz="UTC"),
58
- Timestamp("2000-09-01", tz="UTC"),
59
- Timestamp("2000-10-02", tz="UTC"),
60
- Timestamp("2000-12-25", tz="UTC"),
61
- Timestamp("2001-01-01", tz="UTC"),
62
- Timestamp("2001-01-26", tz="UTC"),
63
- Timestamp("2001-03-06", tz="UTC"),
64
- Timestamp("2001-04-05", tz="UTC"),
65
- Timestamp("2001-04-13", tz="UTC"),
66
- Timestamp("2001-05-01", tz="UTC"),
67
- Timestamp("2001-08-15", tz="UTC"),
68
- Timestamp("2001-08-22", tz="UTC"),
69
- Timestamp("2001-10-02", tz="UTC"),
70
- Timestamp("2001-10-26", tz="UTC"),
71
- Timestamp("2001-11-16", tz="UTC"),
72
- Timestamp("2001-11-30", tz="UTC"),
73
- Timestamp("2001-12-17", tz="UTC"),
74
- Timestamp("2001-12-25", tz="UTC"),
75
- Timestamp("2002-03-25", tz="UTC"),
76
- Timestamp("2002-03-29", tz="UTC"),
77
- Timestamp("2002-05-01", tz="UTC"),
78
- Timestamp("2002-08-15", tz="UTC"),
79
- Timestamp("2002-09-10", tz="UTC"),
80
- Timestamp("2002-10-02", tz="UTC"),
81
- Timestamp("2002-10-15", tz="UTC"),
82
- Timestamp("2002-11-06", tz="UTC"),
83
- Timestamp("2002-11-19", tz="UTC"),
84
- Timestamp("2002-12-25", tz="UTC"),
85
- Timestamp("2003-02-13", tz="UTC"),
86
- Timestamp("2003-03-14", tz="UTC"),
87
- Timestamp("2003-03-18", tz="UTC"),
88
- Timestamp("2003-04-14", tz="UTC"),
89
- Timestamp("2003-04-18", tz="UTC"),
90
- Timestamp("2003-05-01", tz="UTC"),
91
- Timestamp("2003-08-15", tz="UTC"),
92
- Timestamp("2003-10-02", tz="UTC"),
93
- Timestamp("2003-11-26", tz="UTC"),
94
- Timestamp("2003-12-25", tz="UTC"),
95
- Timestamp("2004-01-01", tz="UTC"),
96
- Timestamp("2004-01-26", tz="UTC"),
97
- Timestamp("2004-02-02", tz="UTC"),
98
- Timestamp("2004-03-02", tz="UTC"),
99
- Timestamp("2004-04-09", tz="UTC"),
100
- Timestamp("2004-04-14", tz="UTC"),
101
- Timestamp("2004-04-26", tz="UTC"),
102
- Timestamp("2004-10-13", tz="UTC"),
103
- Timestamp("2004-10-22", tz="UTC"),
104
- Timestamp("2004-11-15", tz="UTC"),
105
- Timestamp("2004-11-26", tz="UTC"),
106
- Timestamp("2005-01-21", tz="UTC"),
107
- Timestamp("2005-01-26", tz="UTC"),
108
- Timestamp("2005-03-25", tz="UTC"),
109
- Timestamp("2005-04-14", tz="UTC"),
110
- Timestamp("2005-07-28", tz="UTC"),
111
- Timestamp("2005-08-15", tz="UTC"),
112
- Timestamp("2005-09-07", tz="UTC"),
113
- Timestamp("2005-10-12", tz="UTC"),
114
- Timestamp("2005-11-03", tz="UTC"),
115
- Timestamp("2005-11-04", tz="UTC"),
116
- Timestamp("2005-11-15", tz="UTC"),
117
- Timestamp("2006-01-11", tz="UTC"),
118
- Timestamp("2006-01-26", tz="UTC"),
119
- Timestamp("2006-02-09", tz="UTC"),
120
- Timestamp("2006-03-15", tz="UTC"),
121
- Timestamp("2006-04-06", tz="UTC"),
122
- Timestamp("2006-04-11", tz="UTC"),
123
- Timestamp("2006-04-14", tz="UTC"),
124
- Timestamp("2006-05-01", tz="UTC"),
125
- Timestamp("2006-08-15", tz="UTC"),
126
- Timestamp("2006-10-02", tz="UTC"),
127
- Timestamp("2006-10-24", tz="UTC"),
128
- Timestamp("2006-10-25", tz="UTC"),
129
- Timestamp("2006-12-25", tz="UTC"),
130
- Timestamp("2007-01-01", tz="UTC"),
131
- Timestamp("2007-01-26", tz="UTC"),
132
- Timestamp("2007-01-30", tz="UTC"),
133
- Timestamp("2007-02-16", tz="UTC"),
134
- Timestamp("2007-03-27", tz="UTC"),
135
- Timestamp("2007-04-06", tz="UTC"),
136
- Timestamp("2007-05-01", tz="UTC"),
137
- Timestamp("2007-05-02", tz="UTC"),
138
- Timestamp("2007-08-15", tz="UTC"),
139
- Timestamp("2007-10-02", tz="UTC"),
140
- Timestamp("2007-12-21", tz="UTC"),
141
- Timestamp("2007-12-25", tz="UTC"),
142
- Timestamp("2008-03-06", tz="UTC"),
143
- Timestamp("2008-03-20", tz="UTC"),
144
- Timestamp("2008-03-21", tz="UTC"),
145
- Timestamp("2008-04-14", tz="UTC"),
146
- Timestamp("2008-04-18", tz="UTC"),
147
- Timestamp("2008-05-01", tz="UTC"),
148
- Timestamp("2008-05-19", tz="UTC"),
149
- Timestamp("2008-08-15", tz="UTC"),
150
- Timestamp("2008-09-03", tz="UTC"),
151
- Timestamp("2008-10-02", tz="UTC"),
152
- Timestamp("2008-10-09", tz="UTC"),
153
- Timestamp("2008-10-30", tz="UTC"),
154
- Timestamp("2008-11-13", tz="UTC"),
155
- Timestamp("2008-11-27", tz="UTC"),
156
- Timestamp("2008-12-09", tz="UTC"),
157
- Timestamp("2008-12-25", tz="UTC"),
158
- Timestamp("2009-01-08", tz="UTC"),
159
- Timestamp("2009-01-26", tz="UTC"),
160
- Timestamp("2009-02-23", tz="UTC"),
161
- Timestamp("2009-03-10", tz="UTC"),
162
- Timestamp("2009-03-11", tz="UTC"),
163
- Timestamp("2009-04-03", tz="UTC"),
164
- Timestamp("2009-04-07", tz="UTC"),
165
- Timestamp("2009-04-10", tz="UTC"),
166
- Timestamp("2009-04-14", tz="UTC"),
167
- Timestamp("2009-04-30", tz="UTC"),
168
- Timestamp("2009-05-01", tz="UTC"),
169
- Timestamp("2009-09-21", tz="UTC"),
170
- Timestamp("2009-09-28", tz="UTC"),
171
- Timestamp("2009-10-02", tz="UTC"),
172
- Timestamp("2009-10-13", tz="UTC"),
173
- Timestamp("2009-10-19", tz="UTC"),
174
- Timestamp("2009-11-02", tz="UTC"),
175
- Timestamp("2009-12-25", tz="UTC"),
176
- Timestamp("2009-12-28", tz="UTC"),
177
- Timestamp("2010-01-01", tz="UTC"),
178
- Timestamp("2010-01-26", tz="UTC"),
179
- Timestamp("2010-02-12", tz="UTC"),
180
- Timestamp("2010-03-01", tz="UTC"),
181
- Timestamp("2010-03-24", tz="UTC"),
182
- Timestamp("2010-04-02", tz="UTC"),
183
- Timestamp("2010-04-14", tz="UTC"),
184
- Timestamp("2010-09-10", tz="UTC"),
185
- Timestamp("2010-11-17", tz="UTC"),
186
- Timestamp("2010-12-17", tz="UTC"),
187
- Timestamp("2011-01-26", tz="UTC"),
188
- Timestamp("2011-03-02", tz="UTC"),
189
- Timestamp("2011-04-12", tz="UTC"),
190
- Timestamp("2011-04-14", tz="UTC"),
191
- Timestamp("2011-04-22", tz="UTC"),
192
- Timestamp("2011-08-15", tz="UTC"),
193
- Timestamp("2011-08-31", tz="UTC"),
194
- Timestamp("2011-09-01", tz="UTC"),
195
- Timestamp("2011-10-06", tz="UTC"),
196
- Timestamp("2011-10-27", tz="UTC"),
197
- Timestamp("2011-11-07", tz="UTC"),
198
- Timestamp("2011-11-10", tz="UTC"),
199
- Timestamp("2011-12-06", tz="UTC"),
200
- Timestamp("2012-01-26", tz="UTC"),
201
- Timestamp("2012-02-20", tz="UTC"),
202
- Timestamp("2012-03-08", tz="UTC"),
203
- Timestamp("2012-04-05", tz="UTC"),
204
- Timestamp("2012-04-06", tz="UTC"),
205
- Timestamp("2012-05-01", tz="UTC"),
206
- Timestamp("2012-08-15", tz="UTC"),
207
- Timestamp("2012-08-20", tz="UTC"),
208
- Timestamp("2012-09-19", tz="UTC"),
209
- Timestamp("2012-10-02", tz="UTC"),
210
- Timestamp("2012-10-24", tz="UTC"),
211
- Timestamp("2012-11-14", tz="UTC"),
212
- Timestamp("2012-11-28", tz="UTC"),
213
- Timestamp("2012-12-25", tz="UTC"),
214
- Timestamp("2013-03-27", tz="UTC"),
215
- Timestamp("2013-03-29", tz="UTC"),
216
- Timestamp("2013-04-19", tz="UTC"),
217
- Timestamp("2013-04-24", tz="UTC"),
218
- Timestamp("2013-05-01", tz="UTC"),
219
- Timestamp("2013-08-09", tz="UTC"),
220
- Timestamp("2013-08-15", tz="UTC"),
221
- Timestamp("2013-09-09", tz="UTC"),
222
- Timestamp("2013-10-02", tz="UTC"),
223
- Timestamp("2013-10-16", tz="UTC"),
224
- Timestamp("2013-11-04", tz="UTC"),
225
- Timestamp("2013-11-15", tz="UTC"),
226
- Timestamp("2013-12-25", tz="UTC"),
227
- Timestamp("2014-02-27", tz="UTC"),
228
- Timestamp("2014-03-17", tz="UTC"),
229
- Timestamp("2014-04-08", tz="UTC"),
230
- Timestamp("2014-04-14", tz="UTC"),
231
- Timestamp("2014-04-18", tz="UTC"),
232
- Timestamp("2014-04-24", tz="UTC"),
233
- Timestamp("2014-05-01", tz="UTC"),
234
- Timestamp("2014-07-29", tz="UTC"),
235
- Timestamp("2014-08-15", tz="UTC"),
236
- Timestamp("2014-08-29", tz="UTC"),
237
- Timestamp("2014-10-02", tz="UTC"),
238
- Timestamp("2014-10-03", tz="UTC"),
239
- Timestamp("2014-10-06", tz="UTC"),
240
- Timestamp("2014-10-15", tz="UTC"),
241
- Timestamp("2014-10-24", tz="UTC"),
242
- Timestamp("2014-11-04", tz="UTC"),
243
- Timestamp("2014-11-06", tz="UTC"),
244
- Timestamp("2014-12-25", tz="UTC"),
245
- Timestamp("2015-01-26", tz="UTC"),
246
- Timestamp("2015-02-17", tz="UTC"),
247
- Timestamp("2015-03-06", tz="UTC"),
248
- Timestamp("2015-04-02", tz="UTC"),
249
- Timestamp("2015-04-03", tz="UTC"),
250
- Timestamp("2015-04-14", tz="UTC"),
251
- Timestamp("2015-05-01", tz="UTC"),
252
- Timestamp("2015-09-17", tz="UTC"),
253
- Timestamp("2015-09-25", tz="UTC"),
254
- Timestamp("2015-10-02", tz="UTC"),
255
- Timestamp("2015-10-22", tz="UTC"),
256
- Timestamp("2015-11-12", tz="UTC"),
257
- Timestamp("2015-11-25", tz="UTC"),
258
- Timestamp("2015-12-25", tz="UTC"),
259
- Timestamp("2016-01-26", tz="UTC"),
260
- Timestamp("2016-03-07", tz="UTC"),
261
- Timestamp("2016-03-24", tz="UTC"),
262
- Timestamp("2016-03-25", tz="UTC"),
263
- Timestamp("2016-04-14", tz="UTC"),
264
- Timestamp("2016-04-15", tz="UTC"),
265
- Timestamp("2016-04-19", tz="UTC"),
266
- Timestamp("2016-07-06", tz="UTC"),
267
- Timestamp("2016-08-15", tz="UTC"),
268
- Timestamp("2016-09-05", tz="UTC"),
269
- Timestamp("2016-09-13", tz="UTC"),
270
- Timestamp("2016-10-11", tz="UTC"),
271
- Timestamp("2016-10-12", tz="UTC"),
272
- Timestamp("2016-10-31", tz="UTC"),
273
- Timestamp("2016-11-14", tz="UTC"),
274
- Timestamp("2017-01-26", tz="UTC"),
275
- Timestamp("2017-02-24", tz="UTC"),
276
- Timestamp("2017-03-13", tz="UTC"),
277
- Timestamp("2017-04-04", tz="UTC"),
278
- Timestamp("2017-04-14", tz="UTC"),
279
- Timestamp("2017-05-01", tz="UTC"),
280
- Timestamp("2017-06-26", tz="UTC"),
281
- Timestamp("2017-08-15", tz="UTC"),
282
- Timestamp("2017-08-25", tz="UTC"),
283
- Timestamp("2017-10-02", tz="UTC"),
284
- Timestamp("2017-10-20", tz="UTC"),
285
- Timestamp("2017-12-25", tz="UTC"),
286
- Timestamp("2018-01-26", tz="UTC"),
287
- Timestamp("2018-02-13", tz="UTC"),
288
- Timestamp("2018-03-02", tz="UTC"),
289
- Timestamp("2018-03-29", tz="UTC"),
290
- Timestamp("2018-03-30", tz="UTC"),
291
- Timestamp("2018-05-01", tz="UTC"),
292
- Timestamp("2018-08-15", tz="UTC"),
293
- Timestamp("2018-08-22", tz="UTC"),
294
- Timestamp("2018-09-13", tz="UTC"),
295
- Timestamp("2018-09-20", tz="UTC"),
296
- Timestamp("2018-10-02", tz="UTC"),
297
- Timestamp("2018-10-18", tz="UTC"),
298
- Timestamp("2018-11-08", tz="UTC"),
299
- Timestamp("2018-11-23", tz="UTC"),
300
- Timestamp("2018-12-25", tz="UTC"),
301
- Timestamp("2019-01-26", tz="UTC"),
302
- Timestamp("2019-03-02", tz="UTC"),
303
- Timestamp("2019-03-04", tz="UTC"),
304
- Timestamp("2019-03-21", tz="UTC"),
305
- Timestamp("2019-04-17", tz="UTC"),
306
- Timestamp("2019-04-19", tz="UTC"),
307
- Timestamp("2019-04-29", tz="UTC"),
308
- Timestamp("2019-05-01", tz="UTC"),
309
- Timestamp("2019-06-05", tz="UTC"),
310
- Timestamp("2019-08-12", tz="UTC"),
311
- Timestamp("2019-08-15", tz="UTC"),
312
- Timestamp("2019-09-02", tz="UTC"),
313
- Timestamp("2019-09-10", tz="UTC"),
314
- Timestamp("2019-10-02", tz="UTC"),
315
- Timestamp("2019-10-08", tz="UTC"),
316
- Timestamp("2019-10-21", tz="UTC"),
317
- Timestamp("2019-10-28", tz="UTC"),
318
- Timestamp("2019-11-12", tz="UTC"),
319
- Timestamp("2019-12-25", tz="UTC"),
320
- Timestamp("2020-02-21", tz="UTC"),
321
- Timestamp("2020-03-10", tz="UTC"),
322
- Timestamp("2020-04-02", tz="UTC"),
323
- Timestamp("2020-04-06", tz="UTC"),
324
- Timestamp("2020-04-10", tz="UTC"),
325
- Timestamp("2020-04-14", tz="UTC"),
326
- Timestamp("2020-05-01", tz="UTC"),
327
- Timestamp("2020-07-31", tz="UTC"),
328
- Timestamp("2020-10-02", tz="UTC"),
329
- Timestamp("2020-11-16", tz="UTC"),
330
- Timestamp("2020-11-30", tz="UTC"),
331
- Timestamp("2020-12-25", tz="UTC"),
332
- Timestamp("2021-01-26", tz="UTC"), # Republic Day
333
- Timestamp("2021-03-11", tz="UTC"), # Maha Shivaratri
334
- Timestamp("2021-03-29", tz="UTC"), # Holi
335
- Timestamp("2021-04-02", tz="UTC"), # Good Friday
336
- Timestamp("2021-04-14", tz="UTC"), # Dr.Baba Saheb Ambedkar Jayanti
337
- Timestamp("2021-04-21", tz="UTC"), # Ram Navami
338
- Timestamp("2021-05-13", tz="UTC"), # Id-ul-Fitr
339
- Timestamp("2021-07-21", tz="UTC"), # Id-al-Adha
340
- Timestamp("2021-08-19", tz="UTC"), # Ashura
341
- Timestamp("2021-09-10", tz="UTC"), # Ganesh Chaturthi
342
- Timestamp("2021-10-15", tz="UTC"), # Vijaya Dashami
343
- Timestamp("2021-11-04", tz="UTC"), # Diwali/Laxmi Puja. muhurat trading day
344
- Timestamp("2021-11-05", tz="UTC"), # Diwali/Laxmi Puja
345
- Timestamp("2021-11-19", tz="UTC"), # Guru Nanak Jayanti
346
- Timestamp("2022-01-26", tz="UTC"), # Republic Day
347
- Timestamp("2022-03-01", tz="UTC"), # Maha Shivaratri
348
- Timestamp("2022-03-18", tz="UTC"), # Holi
349
- Timestamp("2022-04-14", tz="UTC"), # Dr.Baba Saheb Ambedkar Jayanti
350
- Timestamp("2022-04-15", tz="UTC"), # Good Friday
351
- Timestamp("2022-05-03", tz="UTC"), # Id-ul-Fitr
352
- Timestamp("2022-08-09", tz="UTC"), # Moharram
353
- Timestamp("2022-08-15", tz="UTC"), # Independence Day
354
- Timestamp("2022-08-31", tz="UTC"), # Ganesh Chaturthi
355
- Timestamp("2022-10-05", tz="UTC"), # Vijaya Dashami
356
- Timestamp("2022-10-24", tz="UTC"), # Diwali/Laxmi Puja. muhurat trading day
357
- Timestamp("2022-10-26", tz="UTC"), # Diwali-Balipratipada
358
- Timestamp("2022-11-08", tz="UTC"), # Guru Nanak Jayanti
359
- Timestamp("2023-01-26", tz="UTC"), # Thu, Republic Day
360
- Timestamp("2023-03-07", tz="UTC"), # Wed, Holi
361
- Timestamp("2023-03-18", tz="UTC"), # Sat, Maha Shivaratri
362
- Timestamp("2023-03-30", tz="UTC"), # Thu, Ramanavami
363
- Timestamp("2023-04-04", tz="UTC"), # Tue, Mahavir Jayanthi
364
- Timestamp("2023-04-07", tz="UTC"), # Fri, Good Friday
365
- Timestamp("2023-04-14", tz="UTC"), # Fri, Ambedkar Jayanti
366
- Timestamp("2023-04-22", tz="UTC"), # Sat, EID AL FITR
367
- Timestamp("2023-05-01", tz="UTC"), # Mon, Maharashtra Din
368
- Timestamp("2023-06-29", tz="UTC"), # Wed, Bakri Id / Eid ul-Adha
369
- Timestamp("2023-08-15", tz="UTC"), # Tue, Independence Day
370
- Timestamp("2023-09-19", tz="UTC"), # Tue, Ganesh Chaturthi
371
- Timestamp("2023-10-02", tz="UTC"), # Mon, Gandhi Jayanti
372
- Timestamp("2023-10-24", tz="UTC"), # Tue, Dussehra
373
- Timestamp("2023-11-12", tz="UTC"), # Sun, Diwali
374
- Timestamp("2023-11-14", tz="UTC"), # Tue, Diwali
375
- Timestamp("2023-11-27", tz="UTC"), # Mon, Guru Nanak's Birthday
376
- Timestamp("2023-12-25", tz="UTC"), # Mon, Christmas
377
- Timestamp("2024-01-26", tz="UTC"), # Fri, Republic Day
378
- Timestamp("2024-03-08", tz="UTC"), # Fri, Mahashivratri
379
- Timestamp("2024-03-25", tz="UTC"), # Mon, Holi
380
- Timestamp("2024-03-29", tz="UTC"), # Fri, Good Friday
381
- Timestamp("2024-04-11", tz="UTC"), # Thu, Id-Ul-Fitr (Ramadan Eid)
382
- Timestamp("2024-04-17", tz="UTC"), # Wed, Shri Ram Navmi
383
- Timestamp("2024-05-01", tz="UTC"), # Wed, Maharashtra Din
384
- Timestamp("2024-06-17", tz="UTC"), # Mon, Bakri Id / Eid ul-Adha
385
- Timestamp("2024-07-17", tz="UTC"), # Wed, Moharram
386
- Timestamp("2024-08-15", tz="UTC"), # Thu, Independence Day
387
- Timestamp("2024-10-02", tz="UTC"), # Wed, Mahatma Gandhi Jayanti
388
- Timestamp("2024-11-01", tz="UTC"), # Fri, Diwali
389
- Timestamp("2024-11-15", tz="UTC"), # Fri, Guru Nanak's Birthday
390
- Timestamp("2024-12-25", tz="UTC"), # Wed, Christmas
391
- ]
392
-
393
-
394
- class BSEExchangeCalendar(MarketCalendar):
395
- """
396
- Exchange calendar for the Bombay Stock Exchange (BSE, XBOM).
397
- Open Time: 9:15 AM, Asia/Calcutta
398
- Close Time: 3:30 PM, Asia/Calcutta
399
-
400
- Due to the complexity around the BSE holidays, we are hardcoding a list
401
- of holidays back to 1997, and forward through 2020. There are no known
402
- early closes or late opens.
403
- """
404
-
405
- aliases = ["BSE", "NSE", "XNSE"]
406
- regular_market_times = {
407
- "market_open": ((None, time(9, 15)),),
408
- "market_close": ((None, time(15, 30)),),
409
- }
410
-
411
- @property
412
- def name(self):
413
- return "BSE"
414
-
415
- @property
416
- def full_name(self):
417
- return "Bombay Stock Exchange"
418
-
419
- @property
420
- def tz(self):
421
- return ZoneInfo("Asia/Calcutta")
422
-
423
- @property
424
- def adhoc_holidays(self):
425
- return BSEClosedDay
1
+ """
2
+ Bombay Stock Exchnage
3
+ """
4
+
5
+ from datetime import time
6
+
7
+ from pandas import Timestamp
8
+ import sys
9
+ # check python versiOn aNd import accordingly
10
+ if sys.version_info >= (3, 9):
11
+ # For Python 3.9 and later, import directly
12
+ from zoneinfo import ZoneInfo
13
+ else:
14
+ # For Python 3.8 and earlier, import from backports
15
+ from backports.zoneinfo import ZoneInfo
16
+
17
+ from pandas_market_calendars.market_calendar import MarketCalendar
18
+
19
+ BSEClosedDay = [
20
+ Timestamp("1997-01-23", tz="UTC"),
21
+ Timestamp("1997-03-07", tz="UTC"),
22
+ Timestamp("1997-03-24", tz="UTC"),
23
+ Timestamp("1997-04-08", tz="UTC"),
24
+ Timestamp("1997-04-14", tz="UTC"),
25
+ Timestamp("1997-04-16", tz="UTC"),
26
+ Timestamp("1997-04-18", tz="UTC"),
27
+ Timestamp("1997-05-01", tz="UTC"),
28
+ Timestamp("1997-05-08", tz="UTC"),
29
+ Timestamp("1997-08-15", tz="UTC"),
30
+ Timestamp("1997-08-18", tz="UTC"),
31
+ Timestamp("1997-08-25", tz="UTC"),
32
+ Timestamp("1997-10-02", tz="UTC"),
33
+ Timestamp("1997-10-28", tz="UTC"),
34
+ Timestamp("1997-10-29", tz="UTC"),
35
+ Timestamp("1997-10-31", tz="UTC"),
36
+ Timestamp("1997-12-25", tz="UTC"),
37
+ Timestamp("1998-04-09", tz="UTC"),
38
+ Timestamp("1998-04-14", tz="UTC"),
39
+ Timestamp("1998-04-28", tz="UTC"),
40
+ Timestamp("1998-12-25", tz="UTC"),
41
+ Timestamp("1999-01-01", tz="UTC"),
42
+ Timestamp("1999-01-20", tz="UTC"),
43
+ Timestamp("1999-01-26", tz="UTC"),
44
+ Timestamp("1999-03-02", tz="UTC"),
45
+ Timestamp("1999-03-18", tz="UTC"),
46
+ Timestamp("1999-03-25", tz="UTC"),
47
+ Timestamp("1999-03-29", tz="UTC"),
48
+ Timestamp("1999-04-02", tz="UTC"),
49
+ Timestamp("1999-04-14", tz="UTC"),
50
+ Timestamp("1999-04-27", tz="UTC"),
51
+ Timestamp("1999-04-30", tz="UTC"),
52
+ Timestamp("1999-09-13", tz="UTC"),
53
+ Timestamp("1999-10-19", tz="UTC"),
54
+ Timestamp("1999-11-08", tz="UTC"),
55
+ Timestamp("1999-11-10", tz="UTC"),
56
+ Timestamp("1999-11-23", tz="UTC"),
57
+ Timestamp("1999-12-31", tz="UTC"),
58
+ Timestamp("2000-01-26", tz="UTC"),
59
+ Timestamp("2000-03-17", tz="UTC"),
60
+ Timestamp("2000-03-20", tz="UTC"),
61
+ Timestamp("2000-04-14", tz="UTC"),
62
+ Timestamp("2000-04-21", tz="UTC"),
63
+ Timestamp("2000-05-01", tz="UTC"),
64
+ Timestamp("2000-08-15", tz="UTC"),
65
+ Timestamp("2000-09-01", tz="UTC"),
66
+ Timestamp("2000-10-02", tz="UTC"),
67
+ Timestamp("2000-12-25", tz="UTC"),
68
+ Timestamp("2001-01-01", tz="UTC"),
69
+ Timestamp("2001-01-26", tz="UTC"),
70
+ Timestamp("2001-03-06", tz="UTC"),
71
+ Timestamp("2001-04-05", tz="UTC"),
72
+ Timestamp("2001-04-13", tz="UTC"),
73
+ Timestamp("2001-05-01", tz="UTC"),
74
+ Timestamp("2001-08-15", tz="UTC"),
75
+ Timestamp("2001-08-22", tz="UTC"),
76
+ Timestamp("2001-10-02", tz="UTC"),
77
+ Timestamp("2001-10-26", tz="UTC"),
78
+ Timestamp("2001-11-16", tz="UTC"),
79
+ Timestamp("2001-11-30", tz="UTC"),
80
+ Timestamp("2001-12-17", tz="UTC"),
81
+ Timestamp("2001-12-25", tz="UTC"),
82
+ Timestamp("2002-03-25", tz="UTC"),
83
+ Timestamp("2002-03-29", tz="UTC"),
84
+ Timestamp("2002-05-01", tz="UTC"),
85
+ Timestamp("2002-08-15", tz="UTC"),
86
+ Timestamp("2002-09-10", tz="UTC"),
87
+ Timestamp("2002-10-02", tz="UTC"),
88
+ Timestamp("2002-10-15", tz="UTC"),
89
+ Timestamp("2002-11-06", tz="UTC"),
90
+ Timestamp("2002-11-19", tz="UTC"),
91
+ Timestamp("2002-12-25", tz="UTC"),
92
+ Timestamp("2003-02-13", tz="UTC"),
93
+ Timestamp("2003-03-14", tz="UTC"),
94
+ Timestamp("2003-03-18", tz="UTC"),
95
+ Timestamp("2003-04-14", tz="UTC"),
96
+ Timestamp("2003-04-18", tz="UTC"),
97
+ Timestamp("2003-05-01", tz="UTC"),
98
+ Timestamp("2003-08-15", tz="UTC"),
99
+ Timestamp("2003-10-02", tz="UTC"),
100
+ Timestamp("2003-11-26", tz="UTC"),
101
+ Timestamp("2003-12-25", tz="UTC"),
102
+ Timestamp("2004-01-01", tz="UTC"),
103
+ Timestamp("2004-01-26", tz="UTC"),
104
+ Timestamp("2004-02-02", tz="UTC"),
105
+ Timestamp("2004-03-02", tz="UTC"),
106
+ Timestamp("2004-04-09", tz="UTC"),
107
+ Timestamp("2004-04-14", tz="UTC"),
108
+ Timestamp("2004-04-26", tz="UTC"),
109
+ Timestamp("2004-10-13", tz="UTC"),
110
+ Timestamp("2004-10-22", tz="UTC"),
111
+ Timestamp("2004-11-15", tz="UTC"),
112
+ Timestamp("2004-11-26", tz="UTC"),
113
+ Timestamp("2005-01-21", tz="UTC"),
114
+ Timestamp("2005-01-26", tz="UTC"),
115
+ Timestamp("2005-03-25", tz="UTC"),
116
+ Timestamp("2005-04-14", tz="UTC"),
117
+ Timestamp("2005-07-28", tz="UTC"),
118
+ Timestamp("2005-08-15", tz="UTC"),
119
+ Timestamp("2005-09-07", tz="UTC"),
120
+ Timestamp("2005-10-12", tz="UTC"),
121
+ Timestamp("2005-11-03", tz="UTC"),
122
+ Timestamp("2005-11-04", tz="UTC"),
123
+ Timestamp("2005-11-15", tz="UTC"),
124
+ Timestamp("2006-01-11", tz="UTC"),
125
+ Timestamp("2006-01-26", tz="UTC"),
126
+ Timestamp("2006-02-09", tz="UTC"),
127
+ Timestamp("2006-03-15", tz="UTC"),
128
+ Timestamp("2006-04-06", tz="UTC"),
129
+ Timestamp("2006-04-11", tz="UTC"),
130
+ Timestamp("2006-04-14", tz="UTC"),
131
+ Timestamp("2006-05-01", tz="UTC"),
132
+ Timestamp("2006-08-15", tz="UTC"),
133
+ Timestamp("2006-10-02", tz="UTC"),
134
+ Timestamp("2006-10-24", tz="UTC"),
135
+ Timestamp("2006-10-25", tz="UTC"),
136
+ Timestamp("2006-12-25", tz="UTC"),
137
+ Timestamp("2007-01-01", tz="UTC"),
138
+ Timestamp("2007-01-26", tz="UTC"),
139
+ Timestamp("2007-01-30", tz="UTC"),
140
+ Timestamp("2007-02-16", tz="UTC"),
141
+ Timestamp("2007-03-27", tz="UTC"),
142
+ Timestamp("2007-04-06", tz="UTC"),
143
+ Timestamp("2007-05-01", tz="UTC"),
144
+ Timestamp("2007-05-02", tz="UTC"),
145
+ Timestamp("2007-08-15", tz="UTC"),
146
+ Timestamp("2007-10-02", tz="UTC"),
147
+ Timestamp("2007-12-21", tz="UTC"),
148
+ Timestamp("2007-12-25", tz="UTC"),
149
+ Timestamp("2008-03-06", tz="UTC"),
150
+ Timestamp("2008-03-20", tz="UTC"),
151
+ Timestamp("2008-03-21", tz="UTC"),
152
+ Timestamp("2008-04-14", tz="UTC"),
153
+ Timestamp("2008-04-18", tz="UTC"),
154
+ Timestamp("2008-05-01", tz="UTC"),
155
+ Timestamp("2008-05-19", tz="UTC"),
156
+ Timestamp("2008-08-15", tz="UTC"),
157
+ Timestamp("2008-09-03", tz="UTC"),
158
+ Timestamp("2008-10-02", tz="UTC"),
159
+ Timestamp("2008-10-09", tz="UTC"),
160
+ Timestamp("2008-10-30", tz="UTC"),
161
+ Timestamp("2008-11-13", tz="UTC"),
162
+ Timestamp("2008-11-27", tz="UTC"),
163
+ Timestamp("2008-12-09", tz="UTC"),
164
+ Timestamp("2008-12-25", tz="UTC"),
165
+ Timestamp("2009-01-08", tz="UTC"),
166
+ Timestamp("2009-01-26", tz="UTC"),
167
+ Timestamp("2009-02-23", tz="UTC"),
168
+ Timestamp("2009-03-10", tz="UTC"),
169
+ Timestamp("2009-03-11", tz="UTC"),
170
+ Timestamp("2009-04-03", tz="UTC"),
171
+ Timestamp("2009-04-07", tz="UTC"),
172
+ Timestamp("2009-04-10", tz="UTC"),
173
+ Timestamp("2009-04-14", tz="UTC"),
174
+ Timestamp("2009-04-30", tz="UTC"),
175
+ Timestamp("2009-05-01", tz="UTC"),
176
+ Timestamp("2009-09-21", tz="UTC"),
177
+ Timestamp("2009-09-28", tz="UTC"),
178
+ Timestamp("2009-10-02", tz="UTC"),
179
+ Timestamp("2009-10-13", tz="UTC"),
180
+ Timestamp("2009-10-19", tz="UTC"),
181
+ Timestamp("2009-11-02", tz="UTC"),
182
+ Timestamp("2009-12-25", tz="UTC"),
183
+ Timestamp("2009-12-28", tz="UTC"),
184
+ Timestamp("2010-01-01", tz="UTC"),
185
+ Timestamp("2010-01-26", tz="UTC"),
186
+ Timestamp("2010-02-12", tz="UTC"),
187
+ Timestamp("2010-03-01", tz="UTC"),
188
+ Timestamp("2010-03-24", tz="UTC"),
189
+ Timestamp("2010-04-02", tz="UTC"),
190
+ Timestamp("2010-04-14", tz="UTC"),
191
+ Timestamp("2010-09-10", tz="UTC"),
192
+ Timestamp("2010-11-17", tz="UTC"),
193
+ Timestamp("2010-12-17", tz="UTC"),
194
+ Timestamp("2011-01-26", tz="UTC"),
195
+ Timestamp("2011-03-02", tz="UTC"),
196
+ Timestamp("2011-04-12", tz="UTC"),
197
+ Timestamp("2011-04-14", tz="UTC"),
198
+ Timestamp("2011-04-22", tz="UTC"),
199
+ Timestamp("2011-08-15", tz="UTC"),
200
+ Timestamp("2011-08-31", tz="UTC"),
201
+ Timestamp("2011-09-01", tz="UTC"),
202
+ Timestamp("2011-10-06", tz="UTC"),
203
+ Timestamp("2011-10-27", tz="UTC"),
204
+ Timestamp("2011-11-07", tz="UTC"),
205
+ Timestamp("2011-11-10", tz="UTC"),
206
+ Timestamp("2011-12-06", tz="UTC"),
207
+ Timestamp("2012-01-26", tz="UTC"),
208
+ Timestamp("2012-02-20", tz="UTC"),
209
+ Timestamp("2012-03-08", tz="UTC"),
210
+ Timestamp("2012-04-05", tz="UTC"),
211
+ Timestamp("2012-04-06", tz="UTC"),
212
+ Timestamp("2012-05-01", tz="UTC"),
213
+ Timestamp("2012-08-15", tz="UTC"),
214
+ Timestamp("2012-08-20", tz="UTC"),
215
+ Timestamp("2012-09-19", tz="UTC"),
216
+ Timestamp("2012-10-02", tz="UTC"),
217
+ Timestamp("2012-10-24", tz="UTC"),
218
+ Timestamp("2012-11-14", tz="UTC"),
219
+ Timestamp("2012-11-28", tz="UTC"),
220
+ Timestamp("2012-12-25", tz="UTC"),
221
+ Timestamp("2013-03-27", tz="UTC"),
222
+ Timestamp("2013-03-29", tz="UTC"),
223
+ Timestamp("2013-04-19", tz="UTC"),
224
+ Timestamp("2013-04-24", tz="UTC"),
225
+ Timestamp("2013-05-01", tz="UTC"),
226
+ Timestamp("2013-08-09", tz="UTC"),
227
+ Timestamp("2013-08-15", tz="UTC"),
228
+ Timestamp("2013-09-09", tz="UTC"),
229
+ Timestamp("2013-10-02", tz="UTC"),
230
+ Timestamp("2013-10-16", tz="UTC"),
231
+ Timestamp("2013-11-04", tz="UTC"),
232
+ Timestamp("2013-11-15", tz="UTC"),
233
+ Timestamp("2013-12-25", tz="UTC"),
234
+ Timestamp("2014-02-27", tz="UTC"),
235
+ Timestamp("2014-03-17", tz="UTC"),
236
+ Timestamp("2014-04-08", tz="UTC"),
237
+ Timestamp("2014-04-14", tz="UTC"),
238
+ Timestamp("2014-04-18", tz="UTC"),
239
+ Timestamp("2014-04-24", tz="UTC"),
240
+ Timestamp("2014-05-01", tz="UTC"),
241
+ Timestamp("2014-07-29", tz="UTC"),
242
+ Timestamp("2014-08-15", tz="UTC"),
243
+ Timestamp("2014-08-29", tz="UTC"),
244
+ Timestamp("2014-10-02", tz="UTC"),
245
+ Timestamp("2014-10-03", tz="UTC"),
246
+ Timestamp("2014-10-06", tz="UTC"),
247
+ Timestamp("2014-10-15", tz="UTC"),
248
+ Timestamp("2014-10-24", tz="UTC"),
249
+ Timestamp("2014-11-04", tz="UTC"),
250
+ Timestamp("2014-11-06", tz="UTC"),
251
+ Timestamp("2014-12-25", tz="UTC"),
252
+ Timestamp("2015-01-26", tz="UTC"),
253
+ Timestamp("2015-02-17", tz="UTC"),
254
+ Timestamp("2015-03-06", tz="UTC"),
255
+ Timestamp("2015-04-02", tz="UTC"),
256
+ Timestamp("2015-04-03", tz="UTC"),
257
+ Timestamp("2015-04-14", tz="UTC"),
258
+ Timestamp("2015-05-01", tz="UTC"),
259
+ Timestamp("2015-09-17", tz="UTC"),
260
+ Timestamp("2015-09-25", tz="UTC"),
261
+ Timestamp("2015-10-02", tz="UTC"),
262
+ Timestamp("2015-10-22", tz="UTC"),
263
+ Timestamp("2015-11-12", tz="UTC"),
264
+ Timestamp("2015-11-25", tz="UTC"),
265
+ Timestamp("2015-12-25", tz="UTC"),
266
+ Timestamp("2016-01-26", tz="UTC"),
267
+ Timestamp("2016-03-07", tz="UTC"),
268
+ Timestamp("2016-03-24", tz="UTC"),
269
+ Timestamp("2016-03-25", tz="UTC"),
270
+ Timestamp("2016-04-14", tz="UTC"),
271
+ Timestamp("2016-04-15", tz="UTC"),
272
+ Timestamp("2016-04-19", tz="UTC"),
273
+ Timestamp("2016-07-06", tz="UTC"),
274
+ Timestamp("2016-08-15", tz="UTC"),
275
+ Timestamp("2016-09-05", tz="UTC"),
276
+ Timestamp("2016-09-13", tz="UTC"),
277
+ Timestamp("2016-10-11", tz="UTC"),
278
+ Timestamp("2016-10-12", tz="UTC"),
279
+ Timestamp("2016-10-31", tz="UTC"),
280
+ Timestamp("2016-11-14", tz="UTC"),
281
+ Timestamp("2017-01-26", tz="UTC"),
282
+ Timestamp("2017-02-24", tz="UTC"),
283
+ Timestamp("2017-03-13", tz="UTC"),
284
+ Timestamp("2017-04-04", tz="UTC"),
285
+ Timestamp("2017-04-14", tz="UTC"),
286
+ Timestamp("2017-05-01", tz="UTC"),
287
+ Timestamp("2017-06-26", tz="UTC"),
288
+ Timestamp("2017-08-15", tz="UTC"),
289
+ Timestamp("2017-08-25", tz="UTC"),
290
+ Timestamp("2017-10-02", tz="UTC"),
291
+ Timestamp("2017-10-20", tz="UTC"),
292
+ Timestamp("2017-12-25", tz="UTC"),
293
+ Timestamp("2018-01-26", tz="UTC"),
294
+ Timestamp("2018-02-13", tz="UTC"),
295
+ Timestamp("2018-03-02", tz="UTC"),
296
+ Timestamp("2018-03-29", tz="UTC"),
297
+ Timestamp("2018-03-30", tz="UTC"),
298
+ Timestamp("2018-05-01", tz="UTC"),
299
+ Timestamp("2018-08-15", tz="UTC"),
300
+ Timestamp("2018-08-22", tz="UTC"),
301
+ Timestamp("2018-09-13", tz="UTC"),
302
+ Timestamp("2018-09-20", tz="UTC"),
303
+ Timestamp("2018-10-02", tz="UTC"),
304
+ Timestamp("2018-10-18", tz="UTC"),
305
+ Timestamp("2018-11-08", tz="UTC"),
306
+ Timestamp("2018-11-23", tz="UTC"),
307
+ Timestamp("2018-12-25", tz="UTC"),
308
+ Timestamp("2019-01-26", tz="UTC"),
309
+ Timestamp("2019-03-02", tz="UTC"),
310
+ Timestamp("2019-03-04", tz="UTC"),
311
+ Timestamp("2019-03-21", tz="UTC"),
312
+ Timestamp("2019-04-17", tz="UTC"),
313
+ Timestamp("2019-04-19", tz="UTC"),
314
+ Timestamp("2019-04-29", tz="UTC"),
315
+ Timestamp("2019-05-01", tz="UTC"),
316
+ Timestamp("2019-06-05", tz="UTC"),
317
+ Timestamp("2019-08-12", tz="UTC"),
318
+ Timestamp("2019-08-15", tz="UTC"),
319
+ Timestamp("2019-09-02", tz="UTC"),
320
+ Timestamp("2019-09-10", tz="UTC"),
321
+ Timestamp("2019-10-02", tz="UTC"),
322
+ Timestamp("2019-10-08", tz="UTC"),
323
+ Timestamp("2019-10-21", tz="UTC"),
324
+ Timestamp("2019-10-28", tz="UTC"),
325
+ Timestamp("2019-11-12", tz="UTC"),
326
+ Timestamp("2019-12-25", tz="UTC"),
327
+ Timestamp("2020-02-21", tz="UTC"),
328
+ Timestamp("2020-03-10", tz="UTC"),
329
+ Timestamp("2020-04-02", tz="UTC"),
330
+ Timestamp("2020-04-06", tz="UTC"),
331
+ Timestamp("2020-04-10", tz="UTC"),
332
+ Timestamp("2020-04-14", tz="UTC"),
333
+ Timestamp("2020-05-01", tz="UTC"),
334
+ Timestamp("2020-07-31", tz="UTC"),
335
+ Timestamp("2020-10-02", tz="UTC"),
336
+ Timestamp("2020-11-16", tz="UTC"),
337
+ Timestamp("2020-11-30", tz="UTC"),
338
+ Timestamp("2020-12-25", tz="UTC"),
339
+ Timestamp("2021-01-26", tz="UTC"), # Republic Day
340
+ Timestamp("2021-03-11", tz="UTC"), # Maha Shivaratri
341
+ Timestamp("2021-03-29", tz="UTC"), # Holi
342
+ Timestamp("2021-04-02", tz="UTC"), # Good Friday
343
+ Timestamp("2021-04-14", tz="UTC"), # Dr.Baba Saheb Ambedkar Jayanti
344
+ Timestamp("2021-04-21", tz="UTC"), # Ram Navami
345
+ Timestamp("2021-05-13", tz="UTC"), # Id-ul-Fitr
346
+ Timestamp("2021-07-21", tz="UTC"), # Id-al-Adha
347
+ Timestamp("2021-08-19", tz="UTC"), # Ashura
348
+ Timestamp("2021-09-10", tz="UTC"), # Ganesh Chaturthi
349
+ Timestamp("2021-10-15", tz="UTC"), # Vijaya Dashami
350
+ Timestamp("2021-11-04", tz="UTC"), # Diwali/Laxmi Puja. muhurat trading day
351
+ Timestamp("2021-11-05", tz="UTC"), # Diwali/Laxmi Puja
352
+ Timestamp("2021-11-19", tz="UTC"), # Guru Nanak Jayanti
353
+ Timestamp("2022-01-26", tz="UTC"), # Republic Day
354
+ Timestamp("2022-03-01", tz="UTC"), # Maha Shivaratri
355
+ Timestamp("2022-03-18", tz="UTC"), # Holi
356
+ Timestamp("2022-04-14", tz="UTC"), # Dr.Baba Saheb Ambedkar Jayanti
357
+ Timestamp("2022-04-15", tz="UTC"), # Good Friday
358
+ Timestamp("2022-05-03", tz="UTC"), # Id-ul-Fitr
359
+ Timestamp("2022-08-09", tz="UTC"), # Moharram
360
+ Timestamp("2022-08-15", tz="UTC"), # Independence Day
361
+ Timestamp("2022-08-31", tz="UTC"), # Ganesh Chaturthi
362
+ Timestamp("2022-10-05", tz="UTC"), # Vijaya Dashami
363
+ Timestamp("2022-10-24", tz="UTC"), # Diwali/Laxmi Puja. muhurat trading day
364
+ Timestamp("2022-10-26", tz="UTC"), # Diwali-Balipratipada
365
+ Timestamp("2022-11-08", tz="UTC"), # Guru Nanak Jayanti
366
+ Timestamp("2023-01-26", tz="UTC"), # Thu, Republic Day
367
+ Timestamp("2023-03-07", tz="UTC"), # Wed, Holi
368
+ Timestamp("2023-03-18", tz="UTC"), # Sat, Maha Shivaratri
369
+ Timestamp("2023-03-30", tz="UTC"), # Thu, Ramanavami
370
+ Timestamp("2023-04-04", tz="UTC"), # Tue, Mahavir Jayanthi
371
+ Timestamp("2023-04-07", tz="UTC"), # Fri, Good Friday
372
+ Timestamp("2023-04-14", tz="UTC"), # Fri, Ambedkar Jayanti
373
+ Timestamp("2023-04-22", tz="UTC"), # Sat, EID AL FITR
374
+ Timestamp("2023-05-01", tz="UTC"), # Mon, Maharashtra Din
375
+ Timestamp("2023-06-29", tz="UTC"), # Wed, Bakri Id / Eid ul-Adha
376
+ Timestamp("2023-08-15", tz="UTC"), # Tue, Independence Day
377
+ Timestamp("2023-09-19", tz="UTC"), # Tue, Ganesh Chaturthi
378
+ Timestamp("2023-10-02", tz="UTC"), # Mon, Gandhi Jayanti
379
+ Timestamp("2023-10-24", tz="UTC"), # Tue, Dussehra
380
+ Timestamp("2023-11-12", tz="UTC"), # Sun, Diwali
381
+ Timestamp("2023-11-14", tz="UTC"), # Tue, Diwali
382
+ Timestamp("2023-11-27", tz="UTC"), # Mon, Guru Nanak's Birthday
383
+ Timestamp("2023-12-25", tz="UTC"), # Mon, Christmas
384
+ Timestamp("2024-01-26", tz="UTC"), # Fri, Republic Day
385
+ Timestamp("2024-03-08", tz="UTC"), # Fri, Mahashivratri
386
+ Timestamp("2024-03-25", tz="UTC"), # Mon, Holi
387
+ Timestamp("2024-03-29", tz="UTC"), # Fri, Good Friday
388
+ Timestamp("2024-04-11", tz="UTC"), # Thu, Id-Ul-Fitr (Ramadan Eid)
389
+ Timestamp("2024-04-17", tz="UTC"), # Wed, Shri Ram Navmi
390
+ Timestamp("2024-05-01", tz="UTC"), # Wed, Maharashtra Din
391
+ Timestamp("2024-06-17", tz="UTC"), # Mon, Bakri Id / Eid ul-Adha
392
+ Timestamp("2024-07-17", tz="UTC"), # Wed, Moharram
393
+ Timestamp("2024-08-15", tz="UTC"), # Thu, Independence Day
394
+ Timestamp("2024-10-02", tz="UTC"), # Wed, Mahatma Gandhi Jayanti
395
+ Timestamp("2024-11-01", tz="UTC"), # Fri, Diwali
396
+ Timestamp("2024-11-15", tz="UTC"), # Fri, Guru Nanak's Birthday
397
+ Timestamp("2024-12-25", tz="UTC"), # Wed, Christmas
398
+ ]
399
+
400
+
401
+ class BSEExchangeCalendar(MarketCalendar):
402
+ """
403
+ Exchange calendar for the Bombay Stock Exchange (BSE, XBOM).
404
+ Open Time: 9:15 AM, Asia/Calcutta
405
+ Close Time: 3:30 PM, Asia/Calcutta
406
+
407
+ Due to the complexity around the BSE holidays, we are hardcoding a list
408
+ of holidays back to 1997, and forward through 2020. There are no known
409
+ early closes or late opens.
410
+ """
411
+
412
+ aliases = ["BSE", "NSE", "XNSE"]
413
+ regular_market_times = {
414
+ "market_open": ((None, time(9, 15)),),
415
+ "market_close": ((None, time(15, 30)),),
416
+ }
417
+
418
+ @property
419
+ def name(self):
420
+ return "BSE"
421
+
422
+ @property
423
+ def full_name(self):
424
+ return "Bombay Stock Exchange"
425
+
426
+ @property
427
+ def tz(self):
428
+ return ZoneInfo("Asia/Calcutta")
429
+
430
+ @property
431
+ def adhoc_holidays(self):
432
+ return BSEClosedDay