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,206 +1,206 @@
1
- #
2
- # Copyright 2016 Quantopian, Inc.
3
- #
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
- #
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
- #
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
-
16
- from datetime import time
17
-
18
- from pandas import Timestamp
19
- from pandas.tseries.holiday import (
20
- AbstractHolidayCalendar,
21
- Day,
22
- Easter,
23
- GoodFriday,
24
- Holiday,
25
- )
26
- from pytz import timezone
27
-
28
- from pandas_market_calendars.market_calendar import FRIDAY, MarketCalendar
29
-
30
- # Universal Confraternization (new years day)
31
- ConfUniversal = Holiday(
32
- "Dia da Confraternizacao Universal",
33
- month=1,
34
- day=1,
35
- )
36
- # Sao Paulo city birthday
37
- AniversarioSaoPaulo = Holiday(
38
- "Aniversario de Sao Paulo", month=1, day=25, end_date="2021-12-31"
39
- )
40
- # Carnival Monday
41
- CarnavalSegunda = Holiday(
42
- "Carnaval Segunda", month=1, day=1, offset=[Easter(), Day(-48)]
43
- )
44
- # Carnival Tuesday
45
- CarnavalTerca = Holiday("Carnaval Terca", month=1, day=1, offset=[Easter(), Day(-47)])
46
- # Ash Wednesday (short day)
47
- QuartaCinzas = Holiday("Quarta Cinzas", month=1, day=1, offset=[Easter(), Day(-46)])
48
- # Good Friday
49
- SextaPaixao = GoodFriday
50
- # Feast of the Most Holy Body of Christ
51
- CorpusChristi = Holiday("Corpus Christi", month=1, day=1, offset=[Easter(), Day(60)])
52
- # Tiradentes Memorial
53
- Tiradentes = Holiday(
54
- "Tiradentes",
55
- month=4,
56
- day=21,
57
- )
58
- # Labor Day
59
- DiaTrabalho = Holiday(
60
- "Dia Trabalho",
61
- month=5,
62
- day=1,
63
- )
64
- # Constitutionalist Revolution
65
- Constitucionalista = Holiday(
66
- "Constitucionalista", month=7, day=9, start_date="1997-01-01", end_date="2019-12-31"
67
- )
68
- # Independence Day
69
- Independencia = Holiday(
70
- "Independencia",
71
- month=9,
72
- day=7,
73
- )
74
- # Our Lady of Aparecida
75
- Aparecida = Holiday(
76
- "Nossa Senhora de Aparecida",
77
- month=10,
78
- day=12,
79
- )
80
- # All Souls' Day
81
- Finados = Holiday(
82
- "Dia dos Finados",
83
- month=11,
84
- day=2,
85
- )
86
- # Proclamation of the Republic
87
- ProclamacaoRepublica = Holiday(
88
- "Proclamacao da Republica",
89
- month=11,
90
- day=15,
91
- )
92
- # Day of Black Awareness
93
- ConscienciaNegra = Holiday(
94
- "Dia da Consciencia Negra",
95
- month=11,
96
- day=20,
97
- start_date="2004-01-01",
98
- end_date="2019-12-31",
99
- )
100
- # Christmas Eve
101
- VesperaNatal = Holiday(
102
- "Vespera Natal",
103
- month=12,
104
- day=24,
105
- )
106
- # Christmas
107
- Natal = Holiday(
108
- "Natal",
109
- month=12,
110
- day=25,
111
- )
112
- # New Year's Eve
113
- AnoNovo = Holiday(
114
- "Ano Novo",
115
- month=12,
116
- day=31,
117
- )
118
- # New Year's Eve falls on Saturday
119
- AnoNovoSabado = Holiday(
120
- "Ano Novo Sabado",
121
- month=12,
122
- day=30,
123
- days_of_week=(FRIDAY,),
124
- )
125
-
126
- ##########################
127
- # Non-recurring holidays
128
- ##########################
129
-
130
- Constitucionalista2021 = Timestamp("2021-07-09", tz="UTC")
131
- ConscienciaNegra2021 = Timestamp("2021-11-20", tz="UTC")
132
-
133
-
134
- class BMFExchangeCalendar(MarketCalendar):
135
- """
136
- Exchange calendar for BM&F BOVESPA
137
-
138
- Open Time: 10:00 AM, Brazil/Sao Paulo
139
- Close Time: 4:00 PM, Brazil/Sao Paulo
140
-
141
- Regularly-Observed Holidays:
142
- - Universal Confraternization (New year's day, Jan 1)
143
- - Sao Paulo City Anniversary (Jan 25 until 2021)
144
- - Carnaval Monday (48 days before Easter)
145
- - Carnaval Tuesday (47 days before Easter)
146
- - Passion of the Christ (Good Friday, 2 days before Easter)
147
- - Corpus Christi (60 days after Easter)
148
- - Tiradentes (April 21)
149
- - Labor day (May 1)
150
- - Constitutionalist Revolution (July 9 after 1997 until 2021, skipping 2020)
151
- - Independence Day (September 7)
152
- - Our Lady of Aparecida Feast (October 12)
153
- - All Souls' Day (November 2)
154
- - Proclamation of the Republic (November 15)
155
- - Day of Black Awareness (November 20 after 2004 until 2021, skipping 2020)
156
- - Christmas (December 24 and 25)
157
- - Day before New Year's Eve (December 30 if NYE falls on a Saturday)
158
- - New Year's Eve (December 31)
159
- """
160
-
161
- aliases = ["BMF", "B3"]
162
- regular_market_times = {
163
- "market_open": ((None, time(10, 1)),),
164
- "market_close": ((None, time(16)),),
165
- }
166
-
167
- @property
168
- def name(self):
169
- return "BMF"
170
-
171
- @property
172
- def tz(self):
173
- return timezone("America/Sao_Paulo")
174
-
175
- @property
176
- def regular_holidays(self):
177
- return AbstractHolidayCalendar(
178
- rules=[
179
- ConfUniversal,
180
- AniversarioSaoPaulo,
181
- CarnavalSegunda,
182
- CarnavalTerca,
183
- SextaPaixao,
184
- CorpusChristi,
185
- Tiradentes,
186
- DiaTrabalho,
187
- Constitucionalista,
188
- Independencia,
189
- Aparecida,
190
- Finados,
191
- ProclamacaoRepublica,
192
- ConscienciaNegra,
193
- VesperaNatal,
194
- Natal,
195
- AnoNovo,
196
- AnoNovoSabado,
197
- ]
198
- )
199
-
200
- @property
201
- def adhoc_holidays(self):
202
- return [Constitucionalista2021, ConscienciaNegra2021]
203
-
204
- @property
205
- def special_opens(self):
206
- return [(time(13, 1), AbstractHolidayCalendar(rules=[QuartaCinzas]))]
1
+ #
2
+ # Copyright 2016 Quantopian, Inc.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+ from datetime import time
17
+
18
+ from pandas import Timestamp
19
+ from pandas.tseries.holiday import (
20
+ AbstractHolidayCalendar,
21
+ Day,
22
+ Easter,
23
+ GoodFriday,
24
+ Holiday,
25
+ )
26
+ from pytz import timezone
27
+
28
+ from pandas_market_calendars.market_calendar import FRIDAY, MarketCalendar
29
+
30
+ # Universal Confraternization (new years day)
31
+ ConfUniversal = Holiday(
32
+ "Dia da Confraternizacao Universal",
33
+ month=1,
34
+ day=1,
35
+ )
36
+ # Sao Paulo city birthday
37
+ AniversarioSaoPaulo = Holiday(
38
+ "Aniversario de Sao Paulo", month=1, day=25, end_date="2021-12-31"
39
+ )
40
+ # Carnival Monday
41
+ CarnavalSegunda = Holiday(
42
+ "Carnaval Segunda", month=1, day=1, offset=[Easter(), Day(-48)]
43
+ )
44
+ # Carnival Tuesday
45
+ CarnavalTerca = Holiday("Carnaval Terca", month=1, day=1, offset=[Easter(), Day(-47)])
46
+ # Ash Wednesday (short day)
47
+ QuartaCinzas = Holiday("Quarta Cinzas", month=1, day=1, offset=[Easter(), Day(-46)])
48
+ # Good Friday
49
+ SextaPaixao = GoodFriday
50
+ # Feast of the Most Holy Body of Christ
51
+ CorpusChristi = Holiday("Corpus Christi", month=1, day=1, offset=[Easter(), Day(60)])
52
+ # Tiradentes Memorial
53
+ Tiradentes = Holiday(
54
+ "Tiradentes",
55
+ month=4,
56
+ day=21,
57
+ )
58
+ # Labor Day
59
+ DiaTrabalho = Holiday(
60
+ "Dia Trabalho",
61
+ month=5,
62
+ day=1,
63
+ )
64
+ # Constitutionalist Revolution
65
+ Constitucionalista = Holiday(
66
+ "Constitucionalista", month=7, day=9, start_date="1997-01-01", end_date="2019-12-31"
67
+ )
68
+ # Independence Day
69
+ Independencia = Holiday(
70
+ "Independencia",
71
+ month=9,
72
+ day=7,
73
+ )
74
+ # Our Lady of Aparecida
75
+ Aparecida = Holiday(
76
+ "Nossa Senhora de Aparecida",
77
+ month=10,
78
+ day=12,
79
+ )
80
+ # All Souls' Day
81
+ Finados = Holiday(
82
+ "Dia dos Finados",
83
+ month=11,
84
+ day=2,
85
+ )
86
+ # Proclamation of the Republic
87
+ ProclamacaoRepublica = Holiday(
88
+ "Proclamacao da Republica",
89
+ month=11,
90
+ day=15,
91
+ )
92
+ # Day of Black Awareness
93
+ ConscienciaNegra = Holiday(
94
+ "Dia da Consciencia Negra",
95
+ month=11,
96
+ day=20,
97
+ start_date="2004-01-01",
98
+ end_date="2019-12-31",
99
+ )
100
+ # Christmas Eve
101
+ VesperaNatal = Holiday(
102
+ "Vespera Natal",
103
+ month=12,
104
+ day=24,
105
+ )
106
+ # Christmas
107
+ Natal = Holiday(
108
+ "Natal",
109
+ month=12,
110
+ day=25,
111
+ )
112
+ # New Year's Eve
113
+ AnoNovo = Holiday(
114
+ "Ano Novo",
115
+ month=12,
116
+ day=31,
117
+ )
118
+ # New Year's Eve falls on Saturday
119
+ AnoNovoSabado = Holiday(
120
+ "Ano Novo Sabado",
121
+ month=12,
122
+ day=30,
123
+ days_of_week=(FRIDAY,),
124
+ )
125
+
126
+ ##########################
127
+ # Non-recurring holidays
128
+ ##########################
129
+
130
+ Constitucionalista2021 = Timestamp("2021-07-09", tz="UTC")
131
+ ConscienciaNegra2021 = Timestamp("2021-11-20", tz="UTC")
132
+
133
+
134
+ class BMFExchangeCalendar(MarketCalendar):
135
+ """
136
+ Exchange calendar for BM&F BOVESPA
137
+
138
+ Open Time: 10:00 AM, Brazil/Sao Paulo
139
+ Close Time: 4:00 PM, Brazil/Sao Paulo
140
+
141
+ Regularly-Observed Holidays:
142
+ - Universal Confraternization (New year's day, Jan 1)
143
+ - Sao Paulo City Anniversary (Jan 25 until 2021)
144
+ - Carnaval Monday (48 days before Easter)
145
+ - Carnaval Tuesday (47 days before Easter)
146
+ - Passion of the Christ (Good Friday, 2 days before Easter)
147
+ - Corpus Christi (60 days after Easter)
148
+ - Tiradentes (April 21)
149
+ - Labor day (May 1)
150
+ - Constitutionalist Revolution (July 9 after 1997 until 2021, skipping 2020)
151
+ - Independence Day (September 7)
152
+ - Our Lady of Aparecida Feast (October 12)
153
+ - All Souls' Day (November 2)
154
+ - Proclamation of the Republic (November 15)
155
+ - Day of Black Awareness (November 20 after 2004 until 2021, skipping 2020)
156
+ - Christmas (December 24 and 25)
157
+ - Day before New Year's Eve (December 30 if NYE falls on a Saturday)
158
+ - New Year's Eve (December 31)
159
+ """
160
+
161
+ aliases = ["BMF", "B3"]
162
+ regular_market_times = {
163
+ "market_open": ((None, time(10, 1)),),
164
+ "market_close": ((None, time(16)),),
165
+ }
166
+
167
+ @property
168
+ def name(self):
169
+ return "BMF"
170
+
171
+ @property
172
+ def tz(self):
173
+ return timezone("America/Sao_Paulo")
174
+
175
+ @property
176
+ def regular_holidays(self):
177
+ return AbstractHolidayCalendar(
178
+ rules=[
179
+ ConfUniversal,
180
+ AniversarioSaoPaulo,
181
+ CarnavalSegunda,
182
+ CarnavalTerca,
183
+ SextaPaixao,
184
+ CorpusChristi,
185
+ Tiradentes,
186
+ DiaTrabalho,
187
+ Constitucionalista,
188
+ Independencia,
189
+ Aparecida,
190
+ Finados,
191
+ ProclamacaoRepublica,
192
+ ConscienciaNegra,
193
+ VesperaNatal,
194
+ Natal,
195
+ AnoNovo,
196
+ AnoNovoSabado,
197
+ ]
198
+ )
199
+
200
+ @property
201
+ def adhoc_holidays(self):
202
+ return [Constitucionalista2021, ConscienciaNegra2021]
203
+
204
+ @property
205
+ def special_opens(self):
206
+ return [(time(13, 1), AbstractHolidayCalendar(rules=[QuartaCinzas]))]