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