pandas-market-calendars 4.3.1__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 (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
+ ]