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,150 +1,116 @@
1
- from datetime import time
2
-
3
- from pandas.tseries.holiday import AbstractHolidayCalendar, EasterMonday, GoodFriday, Holiday
4
- from pandas.tseries.offsets import Day, Easter
5
- from pytz import timezone
6
-
7
- from pandas_market_calendars.market_calendar import MarketCalendar
8
-
9
- OSENewYearsDay = Holiday(
10
- "New Year's Day",
11
- month=1,
12
- day=1
13
- )
14
-
15
- OSEWednesdayBeforeEaster = Holiday(
16
- "Wednesday before Easter",
17
- month=1,
18
- day=1,
19
- offset=[Easter(), Day(-4)]
20
-
21
- )
22
-
23
- OSEMaundyThursday = Holiday(
24
- "Maundy Thursday",
25
- month=1,
26
- day=1,
27
- offset=[Easter(), Day(-3)]
28
- )
29
-
30
- OSEGoodFriday = GoodFriday
31
-
32
- OSEEasterMonday = EasterMonday
33
-
34
- OSELabourDay = Holiday(
35
- "Labour Day",
36
- month=5,
37
- day=1
38
- )
39
-
40
- OSEConstitutionDay = Holiday(
41
- "Constitution Day",
42
- month=5,
43
- day=17
44
- )
45
-
46
- OSEWhitMonday = Holiday(
47
- "Whit Monday",
48
- month=1,
49
- day=1,
50
- offset=[Easter(), Day(50)]
51
- )
52
-
53
- OSEAscensionDay = Holiday(
54
- "Ascension Day",
55
- month=1,
56
- day=1,
57
- offset=[Easter(), Day(39)]
58
- )
59
-
60
- OSEChristmasEve = Holiday(
61
- "Christmas Eve",
62
- month=12,
63
- day=24,
64
- )
65
-
66
- OSEChristmasDay = Holiday(
67
- "Christmas Day",
68
- month=12,
69
- day=25
70
- )
71
-
72
- OSEBoxingDay = Holiday(
73
- "Boxing Day",
74
- month=12,
75
- day=26
76
- )
77
-
78
- OSENewYearsEve = Holiday(
79
- "New Year's Eve",
80
- month=12,
81
- day=31
82
- )
83
-
84
-
85
- class OSEExchangeCalendar(MarketCalendar):
86
- """
87
- Exchange calendar for Oslo Stock Exchange
88
-
89
- Note these dates are only checked against 2017, 2018 and 2019
90
- https://www.oslobors.no/ob_eng/Oslo-Boers/About-Oslo-Boers/Opening-hours
91
-
92
- Opening times for the regular trading of equities (not including closing auction call)
93
- Open Time: 9:00 AM, CEST/EST
94
- Close Time: 4:20 PM, CEST/EST
95
-
96
- Regularly-Observed Holidays (not necessarily in order):
97
- - New Years Day
98
- - Wednesday before Easter (Half trading day)
99
- - Maundy Thursday
100
- - Good Friday
101
- - Easter Monday
102
- - Labour Day
103
- - Ascension Day
104
- - Constitution Day
105
- - Whit Monday
106
- - Christmas Eve
107
- - Christmas Day
108
- - Boxing Day
109
- - New Year's Eve
110
- """
111
-
112
- aliases = ['OSE']
113
- regular_market_times = {
114
- "market_open": ((None, time(9)),),
115
- "market_close": ((None, time(16,20)),)
116
- }
117
-
118
- @property
119
- def name(self):
120
- return "OSE"
121
-
122
- @property
123
- def tz(self):
124
- return timezone("Europe/Oslo")
125
-
126
- @property
127
- def regular_holidays(self):
128
- return AbstractHolidayCalendar(rules=[
129
- OSENewYearsDay,
130
- OSEMaundyThursday,
131
- OSEGoodFriday,
132
- OSEEasterMonday,
133
- OSELabourDay,
134
- OSEConstitutionDay,
135
- OSEWhitMonday,
136
- OSEAscensionDay,
137
- OSEChristmasEve,
138
- OSEChristmasDay,
139
- OSEBoxingDay,
140
- OSENewYearsEve
141
- ])
142
-
143
- @property
144
- def special_closes(self):
145
- return [(
146
- time(13, 0, tzinfo=self.tz),
147
- AbstractHolidayCalendar(rules=[
148
- OSEWednesdayBeforeEaster
149
- ])
150
- )]
1
+ from datetime import time
2
+
3
+ from pandas.tseries.holiday import (
4
+ AbstractHolidayCalendar,
5
+ EasterMonday,
6
+ GoodFriday,
7
+ Holiday,
8
+ )
9
+ from pandas.tseries.offsets import Day, Easter
10
+ from pytz import timezone
11
+
12
+ from pandas_market_calendars.market_calendar import MarketCalendar
13
+
14
+ OSENewYearsDay = Holiday("New Year's Day", month=1, day=1)
15
+
16
+ OSEWednesdayBeforeEaster = Holiday(
17
+ "Wednesday before Easter", month=1, day=1, offset=[Easter(), Day(-4)]
18
+ )
19
+
20
+ OSEMaundyThursday = Holiday(
21
+ "Maundy Thursday", month=1, day=1, offset=[Easter(), Day(-3)]
22
+ )
23
+
24
+ OSEGoodFriday = GoodFriday
25
+
26
+ OSEEasterMonday = EasterMonday
27
+
28
+ OSELabourDay = Holiday("Labour Day", month=5, day=1)
29
+
30
+ OSEConstitutionDay = Holiday("Constitution Day", month=5, day=17)
31
+
32
+ OSEWhitMonday = Holiday("Whit Monday", month=1, day=1, offset=[Easter(), Day(50)])
33
+
34
+ OSEAscensionDay = Holiday("Ascension Day", month=1, day=1, offset=[Easter(), Day(39)])
35
+
36
+ OSEChristmasEve = Holiday(
37
+ "Christmas Eve",
38
+ month=12,
39
+ day=24,
40
+ )
41
+
42
+ OSEChristmasDay = Holiday("Christmas Day", month=12, day=25)
43
+
44
+ OSEBoxingDay = Holiday("Boxing Day", month=12, day=26)
45
+
46
+ OSENewYearsEve = Holiday("New Year's Eve", month=12, day=31)
47
+
48
+
49
+ class OSEExchangeCalendar(MarketCalendar):
50
+ """
51
+ Exchange calendar for Oslo Stock Exchange
52
+
53
+ Note these dates are only checked against 2017, 2018 and 2019
54
+ https://www.oslobors.no/ob_eng/Oslo-Boers/About-Oslo-Boers/Opening-hours
55
+
56
+ Opening times for the regular trading of equities (not including closing auction call)
57
+ Open Time: 9:00 AM, CEST/EST
58
+ Close Time: 4:20 PM, CEST/EST
59
+
60
+ Regularly-Observed Holidays (not necessarily in order):
61
+ - New Years Day
62
+ - Wednesday before Easter (Half trading day)
63
+ - Maundy Thursday
64
+ - Good Friday
65
+ - Easter Monday
66
+ - Labour Day
67
+ - Ascension Day
68
+ - Constitution Day
69
+ - Whit Monday
70
+ - Christmas Eve
71
+ - Christmas Day
72
+ - Boxing Day
73
+ - New Year's Eve
74
+ """
75
+
76
+ aliases = ["OSE"]
77
+ regular_market_times = {
78
+ "market_open": ((None, time(9)),),
79
+ "market_close": ((None, time(16, 20)),),
80
+ }
81
+
82
+ @property
83
+ def name(self):
84
+ return "OSE"
85
+
86
+ @property
87
+ def tz(self):
88
+ return timezone("Europe/Oslo")
89
+
90
+ @property
91
+ def regular_holidays(self):
92
+ return AbstractHolidayCalendar(
93
+ rules=[
94
+ OSENewYearsDay,
95
+ OSEMaundyThursday,
96
+ OSEGoodFriday,
97
+ OSEEasterMonday,
98
+ OSELabourDay,
99
+ OSEConstitutionDay,
100
+ OSEWhitMonday,
101
+ OSEAscensionDay,
102
+ OSEChristmasEve,
103
+ OSEChristmasDay,
104
+ OSEBoxingDay,
105
+ OSENewYearsEve,
106
+ ]
107
+ )
108
+
109
+ @property
110
+ def special_closes(self):
111
+ return [
112
+ (
113
+ time(13, 0, tzinfo=self.tz),
114
+ AbstractHolidayCalendar(rules=[OSEWednesdayBeforeEaster]),
115
+ )
116
+ ]