pandas-market-calendars 4.3.1__py3-none-any.whl → 4.3.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 +38 -37
  2. pandas_market_calendars/calendar_registry.py +53 -48
  3. pandas_market_calendars/calendar_utils.py +261 -225
  4. pandas_market_calendars/calendars/asx.py +66 -63
  5. pandas_market_calendars/calendars/bmf.py +206 -227
  6. pandas_market_calendars/calendars/bse.py +407 -409
  7. pandas_market_calendars/calendars/cboe.py +145 -115
  8. pandas_market_calendars/calendars/cme.py +402 -240
  9. pandas_market_calendars/calendars/cme_globex_agriculture.py +126 -103
  10. pandas_market_calendars/calendars/cme_globex_base.py +119 -103
  11. pandas_market_calendars/calendars/cme_globex_crypto.py +160 -147
  12. pandas_market_calendars/calendars/cme_globex_energy_and_metals.py +216 -138
  13. pandas_market_calendars/calendars/cme_globex_equities.py +123 -104
  14. pandas_market_calendars/calendars/cme_globex_fixed_income.py +136 -113
  15. pandas_market_calendars/calendars/cme_globex_fx.py +101 -78
  16. pandas_market_calendars/calendars/eurex.py +139 -119
  17. pandas_market_calendars/calendars/eurex_fixed_income.py +98 -0
  18. pandas_market_calendars/calendars/hkex.py +426 -408
  19. pandas_market_calendars/calendars/ice.py +81 -65
  20. pandas_market_calendars/calendars/iex.py +112 -98
  21. pandas_market_calendars/calendars/jpx.py +109 -103
  22. pandas_market_calendars/calendars/lse.py +114 -91
  23. pandas_market_calendars/calendars/mirror.py +130 -114
  24. pandas_market_calendars/calendars/nyse.py +1324 -1127
  25. pandas_market_calendars/calendars/ose.py +116 -150
  26. pandas_market_calendars/calendars/sifma.py +350 -297
  27. pandas_market_calendars/calendars/six.py +132 -114
  28. pandas_market_calendars/calendars/sse.py +311 -290
  29. pandas_market_calendars/calendars/tase.py +197 -195
  30. pandas_market_calendars/calendars/tsx.py +181 -159
  31. pandas_market_calendars/class_registry.py +22 -16
  32. pandas_market_calendars/holidays/cme.py +385 -340
  33. pandas_market_calendars/holidays/cme_globex.py +214 -198
  34. pandas_market_calendars/holidays/cn.py +1455 -1436
  35. pandas_market_calendars/holidays/jp.py +398 -396
  36. pandas_market_calendars/holidays/jpx_equinox.py +453 -95
  37. pandas_market_calendars/holidays/nyse.py +1531 -1472
  38. pandas_market_calendars/holidays/oz.py +63 -65
  39. pandas_market_calendars/holidays/sifma.py +338 -321
  40. pandas_market_calendars/holidays/uk.py +32 -26
  41. pandas_market_calendars/holidays/us.py +376 -360
  42. pandas_market_calendars/market_calendar.py +895 -789
  43. {pandas_market_calendars-4.3.1.dist-info → pandas_market_calendars-4.3.3.dist-info}/METADATA +7 -5
  44. pandas_market_calendars-4.3.3.dist-info/RECORD +50 -0
  45. {pandas_market_calendars-4.3.1.dist-info → pandas_market_calendars-4.3.3.dist-info}/WHEEL +1 -1
  46. pandas_market_calendars-4.3.1.dist-info/RECORD +0 -49
  47. {pandas_market_calendars-4.3.1.dist-info → pandas_market_calendars-4.3.3.dist-info}/LICENSE +0 -0
  48. {pandas_market_calendars-4.3.1.dist-info → pandas_market_calendars-4.3.3.dist-info}/NOTICE +0 -0
  49. {pandas_market_calendars-4.3.1.dist-info → pandas_market_calendars-4.3.3.dist-info}/top_level.txt +0 -0
@@ -1,103 +1,126 @@
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 abc import abstractmethod
17
- from .cme_globex_base import CMEGlobexBaseExchangeCalendar
18
-
19
- from datetime import time
20
-
21
- from pandas.tseries.holiday import AbstractHolidayCalendar, GoodFriday, USLaborDay, USPresidentsDay, USThanksgivingDay
22
-
23
- from pandas_market_calendars.holidays.us import (Christmas, ChristmasEveBefore1993, ChristmasEveInOrAfter1993, USBlackFridayInOrAfter1993,
24
- USIndependenceDay, USMartinLutherKingJrAfter1998, USMemorialDay,
25
- USNewYearsDay)
26
-
27
-
28
- class CMEGlobexAgricultureExchangeCalendar(CMEGlobexBaseExchangeCalendar):
29
- """
30
- Exchange calendar for CME for Agriculture products
31
-
32
- Products:
33
- - Grains and Oilseeds (same trading hours and holidays)
34
- - Livestock
35
- - Dairy
36
- - Fertilizer
37
- - Lumber and Softs
38
-
39
-
40
- """
41
-
42
- @property
43
- @abstractmethod
44
- def name(self):
45
- """
46
- Name of the market
47
-
48
- :return: string name
49
- """
50
- raise NotImplementedError()
51
-
52
-
53
- class CMEGlobexLivestockExchangeCalendar(CMEGlobexAgricultureExchangeCalendar):
54
- """
55
- Exchange calendar for CME for Livestock products
56
-
57
- https://www.cmegroup.com/trading/agricultural/livestock.html
58
-
59
- GLOBEX Trading Times
60
- https://www.cmegroup.com/markets/agriculture/livestock/live-cattle.contractSpecs.html
61
- Monday - Friday: 8:30 a.m. - 1:05 p.m. CT
62
- """
63
- aliases = ['CMEGlobex_Livestock', 'CMEGlobex_Live_Cattle', 'CMEGlobex_Feeder_Cattle', 'CMEGlobex_Lean_Hog', 'CMEGlobex_Port_Cutout']
64
-
65
- regular_market_times = {
66
- "market_open": ((None, time(8, 30)),),
67
- "market_close": ((None, time(13, 5)),)
68
- }
69
-
70
- @property
71
- def name(self):
72
- return "CMEGlobex_Livestock"
73
-
74
- @property
75
- def regular_holidays(self):
76
- return AbstractHolidayCalendar(rules=[
77
- USNewYearsDay,
78
- USMartinLutherKingJrAfter1998,
79
- USPresidentsDay,
80
- GoodFriday,
81
- USMemorialDay,
82
- USIndependenceDay,
83
- USLaborDay,
84
- USThanksgivingDay,
85
- Christmas,
86
- ])
87
-
88
- # @property
89
- # def adhoc_holidays(self):
90
- # return USNationalDaysofMourning
91
-
92
- @property
93
- def special_closes(self):
94
- return [(
95
- time(12, 5),
96
- AbstractHolidayCalendar(rules=[
97
- USBlackFridayInOrAfter1993,
98
- ChristmasEveBefore1993,
99
- ChristmasEveInOrAfter1993,
100
- ])
101
- )]
102
-
103
-
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 abc import abstractmethod
17
+ from datetime import time
18
+
19
+ from pandas.tseries.holiday import (
20
+ AbstractHolidayCalendar,
21
+ GoodFriday,
22
+ USLaborDay,
23
+ USPresidentsDay,
24
+ USThanksgivingDay,
25
+ )
26
+
27
+ from pandas_market_calendars.holidays.us import (
28
+ Christmas,
29
+ ChristmasEveBefore1993,
30
+ ChristmasEveInOrAfter1993,
31
+ USBlackFridayInOrAfter1993,
32
+ USIndependenceDay,
33
+ USMartinLutherKingJrAfter1998,
34
+ USMemorialDay,
35
+ USNewYearsDay,
36
+ )
37
+ from .cme_globex_base import CMEGlobexBaseExchangeCalendar
38
+
39
+
40
+ class CMEGlobexAgricultureExchangeCalendar(CMEGlobexBaseExchangeCalendar):
41
+ """
42
+ Exchange calendar for CME for Agriculture products
43
+
44
+ Products:
45
+ - Grains and Oilseeds (same trading hours and holidays)
46
+ - Livestock
47
+ - Dairy
48
+ - Fertilizer
49
+ - Lumber and Softs
50
+
51
+
52
+ """
53
+
54
+ @property
55
+ @abstractmethod
56
+ def name(self):
57
+ """
58
+ Name of the market
59
+
60
+ :return: string name
61
+ """
62
+ raise NotImplementedError()
63
+
64
+
65
+ class CMEGlobexLivestockExchangeCalendar(CMEGlobexAgricultureExchangeCalendar):
66
+ """
67
+ Exchange calendar for CME for Livestock products
68
+
69
+ https://www.cmegroup.com/trading/agricultural/livestock.html
70
+
71
+ GLOBEX Trading Times
72
+ https://www.cmegroup.com/markets/agriculture/livestock/live-cattle.contractSpecs.html
73
+ Monday - Friday: 8:30 a.m. - 1:05 p.m. CT
74
+ """
75
+
76
+ aliases = [
77
+ "CMEGlobex_Livestock",
78
+ "CMEGlobex_Live_Cattle",
79
+ "CMEGlobex_Feeder_Cattle",
80
+ "CMEGlobex_Lean_Hog",
81
+ "CMEGlobex_Port_Cutout",
82
+ ]
83
+
84
+ regular_market_times = {
85
+ "market_open": ((None, time(8, 30)),),
86
+ "market_close": ((None, time(13, 5)),),
87
+ }
88
+
89
+ @property
90
+ def name(self):
91
+ return "CMEGlobex_Livestock"
92
+
93
+ @property
94
+ def regular_holidays(self):
95
+ return AbstractHolidayCalendar(
96
+ rules=[
97
+ USNewYearsDay,
98
+ USMartinLutherKingJrAfter1998,
99
+ USPresidentsDay,
100
+ GoodFriday,
101
+ USMemorialDay,
102
+ USIndependenceDay,
103
+ USLaborDay,
104
+ USThanksgivingDay,
105
+ Christmas,
106
+ ]
107
+ )
108
+
109
+ # @property
110
+ # def adhoc_holidays(self):
111
+ # return USNationalDaysofMourning
112
+
113
+ @property
114
+ def special_closes(self):
115
+ return [
116
+ (
117
+ time(12, 5),
118
+ AbstractHolidayCalendar(
119
+ rules=[
120
+ USBlackFridayInOrAfter1993,
121
+ ChristmasEveBefore1993,
122
+ ChristmasEveInOrAfter1993,
123
+ ]
124
+ ),
125
+ )
126
+ ]
@@ -1,103 +1,119 @@
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 abc import ABC, abstractmethod
17
-
18
- from pandas.tseries.holiday import AbstractHolidayCalendar, GoodFriday, USLaborDay, USPresidentsDay, USThanksgivingDay
19
- from pytz import timezone
20
-
21
- from pandas_market_calendars.holidays.us import (Christmas, ChristmasEveBefore1993, ChristmasEveInOrAfter1993, USBlackFridayInOrAfter1993,
22
- USIndependenceDay, USMartinLutherKingJrAfter1998, USMemorialDay, USJuneteenthAfter2022,
23
- USNewYearsDay)
24
- from pandas_market_calendars.market_calendar import MarketCalendar
25
-
26
-
27
- class CMEGlobexBaseExchangeCalendar(MarketCalendar, ABC):
28
- """
29
- Base Exchange Calendar for CME.
30
-
31
- CME Markets: https://www.cmegroup.com/markets/agriculture.html#overview
32
- - Agriculture
33
- - Crypto
34
- - Energy
35
- - Equity Index
36
- - FX
37
- - Interest Rates
38
- - Metals
39
- - Options
40
-
41
- Holiays for which entire GLOBEX is closed:
42
- - New Years Day
43
- - Good Friday
44
- - Christmas
45
-
46
- Product Specific Closures:
47
- - MLK Day
48
- - Presidents Day
49
- - Memorial Day
50
- - Juneteenth
51
- - US Independence Day
52
- - US Labor Day
53
- - US Thanksgiving Day
54
- """
55
- @property
56
- @abstractmethod
57
- def name(self):
58
- """
59
- Name of the market
60
-
61
- :return: string name
62
- """
63
- raise NotImplementedError()
64
-
65
- @property
66
- def tz(self):
67
- return timezone('America/Chicago')
68
-
69
- @property
70
- def regular_holidays(self):
71
- return AbstractHolidayCalendar(rules=[
72
- USNewYearsDay,
73
- GoodFriday,
74
- Christmas,
75
- ])
76
-
77
- # I can't find any reference to these special closings onther than NYSE
78
- # @property
79
- # def adhoc_holidays(self):
80
- # return USNationalDaysofMourning
81
-
82
- @property
83
- def special_closes(self):
84
- return [(
85
- self.special_close_time,
86
- AbstractHolidayCalendar(rules=[
87
- USMartinLutherKingJrAfter1998,
88
- USPresidentsDay,
89
- USMemorialDay,
90
- USJuneteenthAfter2022,
91
- USLaborDay,
92
- USIndependenceDay,
93
- USThanksgivingDay,
94
- USBlackFridayInOrAfter1993,
95
- ChristmasEveBefore1993,
96
- ChristmasEveInOrAfter1993,
97
- ])
98
- )]
99
-
100
-
101
-
102
-
103
-
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 abc import ABC, abstractmethod
17
+
18
+ from pandas.tseries.holiday import (
19
+ AbstractHolidayCalendar,
20
+ GoodFriday,
21
+ USLaborDay,
22
+ USPresidentsDay,
23
+ USThanksgivingDay,
24
+ )
25
+ from pytz import timezone
26
+
27
+ from pandas_market_calendars.holidays.us import (
28
+ Christmas,
29
+ ChristmasEveBefore1993,
30
+ ChristmasEveInOrAfter1993,
31
+ USBlackFridayInOrAfter1993,
32
+ USIndependenceDay,
33
+ USMartinLutherKingJrAfter1998,
34
+ USMemorialDay,
35
+ USJuneteenthAfter2022,
36
+ USNewYearsDay,
37
+ )
38
+ from pandas_market_calendars.market_calendar import MarketCalendar
39
+
40
+
41
+ class CMEGlobexBaseExchangeCalendar(MarketCalendar, ABC):
42
+ """
43
+ Base Exchange Calendar for CME.
44
+
45
+ CME Markets: https://www.cmegroup.com/markets/agriculture.html#overview
46
+ - Agriculture
47
+ - Crypto
48
+ - Energy
49
+ - Equity Index
50
+ - FX
51
+ - Interest Rates
52
+ - Metals
53
+ - Options
54
+
55
+ Holiays for which entire GLOBEX is closed:
56
+ - New Years Day
57
+ - Good Friday
58
+ - Christmas
59
+
60
+ Product Specific Closures:
61
+ - MLK Day
62
+ - Presidents Day
63
+ - Memorial Day
64
+ - Juneteenth
65
+ - US Independence Day
66
+ - US Labor Day
67
+ - US Thanksgiving Day
68
+ """
69
+
70
+ @property
71
+ @abstractmethod
72
+ def name(self):
73
+ """
74
+ Name of the market
75
+
76
+ :return: string name
77
+ """
78
+ raise NotImplementedError()
79
+
80
+ @property
81
+ def tz(self):
82
+ return timezone("America/Chicago")
83
+
84
+ @property
85
+ def regular_holidays(self):
86
+ return AbstractHolidayCalendar(
87
+ rules=[
88
+ USNewYearsDay,
89
+ GoodFriday,
90
+ Christmas,
91
+ ]
92
+ )
93
+
94
+ # I can't find any reference to these special closings onther than NYSE
95
+ # @property
96
+ # def adhoc_holidays(self):
97
+ # return USNationalDaysofMourning
98
+
99
+ @property
100
+ def special_closes(self):
101
+ return [
102
+ (
103
+ self.special_close_time,
104
+ AbstractHolidayCalendar(
105
+ rules=[
106
+ USMartinLutherKingJrAfter1998,
107
+ USPresidentsDay,
108
+ USMemorialDay,
109
+ USJuneteenthAfter2022,
110
+ USLaborDay,
111
+ USIndependenceDay,
112
+ USThanksgivingDay,
113
+ USBlackFridayInOrAfter1993,
114
+ ChristmasEveBefore1993,
115
+ ChristmasEveInOrAfter1993,
116
+ ]
117
+ ),
118
+ )
119
+ ]