pandas-market-calendars 4.4.2__py3-none-any.whl → 4.5.1__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 (46) hide show
  1. pandas_market_calendars/__init__.py +38 -38
  2. pandas_market_calendars/calendar_registry.py +57 -57
  3. pandas_market_calendars/calendar_utils.py +262 -262
  4. pandas_market_calendars/calendars/asx.py +66 -66
  5. pandas_market_calendars/calendars/bmf.py +223 -223
  6. pandas_market_calendars/calendars/bse.py +421 -421
  7. pandas_market_calendars/calendars/cboe.py +145 -145
  8. pandas_market_calendars/calendars/cme.py +405 -405
  9. pandas_market_calendars/calendars/cme_globex_agriculture.py +172 -172
  10. pandas_market_calendars/calendars/cme_globex_base.py +119 -119
  11. pandas_market_calendars/calendars/cme_globex_crypto.py +160 -160
  12. pandas_market_calendars/calendars/cme_globex_energy_and_metals.py +216 -216
  13. pandas_market_calendars/calendars/cme_globex_equities.py +123 -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 +131 -131
  17. pandas_market_calendars/calendars/eurex_fixed_income.py +98 -98
  18. pandas_market_calendars/calendars/hkex.py +429 -429
  19. pandas_market_calendars/calendars/ice.py +81 -81
  20. pandas_market_calendars/calendars/iex.py +112 -112
  21. pandas_market_calendars/calendars/lse.py +114 -114
  22. pandas_market_calendars/calendars/mirror.py +149 -149
  23. pandas_market_calendars/calendars/nyse.py +3 -0
  24. pandas_market_calendars/calendars/ose.py +116 -116
  25. pandas_market_calendars/calendars/sifma.py +354 -354
  26. pandas_market_calendars/calendars/six.py +132 -132
  27. pandas_market_calendars/calendars/sse.py +1 -1
  28. pandas_market_calendars/calendars/tase.py +197 -197
  29. pandas_market_calendars/calendars/tsx.py +181 -181
  30. pandas_market_calendars/holidays/cme.py +385 -385
  31. pandas_market_calendars/holidays/cme_globex.py +214 -214
  32. pandas_market_calendars/holidays/cn.py +20 -0
  33. pandas_market_calendars/holidays/jp.py +401 -401
  34. pandas_market_calendars/holidays/jpx_equinox.py +506 -506
  35. pandas_market_calendars/holidays/nyse.py +5 -0
  36. pandas_market_calendars/holidays/oz.py +63 -63
  37. pandas_market_calendars/holidays/sifma.py +350 -350
  38. pandas_market_calendars/holidays/us.py +376 -376
  39. pandas_market_calendars/market_calendar.py +20 -1
  40. {pandas_market_calendars-4.4.2.dist-info → pandas_market_calendars-4.5.1.dist-info}/METADATA +1 -1
  41. pandas_market_calendars-4.5.1.dist-info/RECORD +50 -0
  42. {pandas_market_calendars-4.4.2.dist-info → pandas_market_calendars-4.5.1.dist-info}/WHEEL +1 -1
  43. pandas_market_calendars-4.4.2.dist-info/RECORD +0 -50
  44. {pandas_market_calendars-4.4.2.dist-info → pandas_market_calendars-4.5.1.dist-info}/LICENSE +0 -0
  45. {pandas_market_calendars-4.4.2.dist-info → pandas_market_calendars-4.5.1.dist-info}/NOTICE +0 -0
  46. {pandas_market_calendars-4.4.2.dist-info → pandas_market_calendars-4.5.1.dist-info}/top_level.txt +0 -0
@@ -1,132 +1,132 @@
1
- from datetime import time
2
-
3
- from pandas.tseries.holiday import (
4
- AbstractHolidayCalendar,
5
- Day,
6
- Easter,
7
- EasterMonday,
8
- GoodFriday,
9
- Holiday,
10
- previous_friday,
11
- )
12
- from pytz import timezone
13
-
14
- from pandas_market_calendars.market_calendar import (
15
- FRIDAY,
16
- MONDAY,
17
- MarketCalendar,
18
- THURSDAY,
19
- TUESDAY,
20
- WEDNESDAY,
21
- )
22
-
23
- # New Year's Eve
24
- NewYearsEve = Holiday(
25
- "New Year's Eve",
26
- month=12,
27
- day=31,
28
- observance=previous_friday,
29
- )
30
- # New Year's Day
31
- NewYearsDay = Holiday(
32
- "New Year's Day",
33
- month=1,
34
- day=1,
35
- days_of_week=(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY),
36
- )
37
- # Berthold's Day
38
- BertholdsDay = Holiday(
39
- "Berthold's Day",
40
- month=1,
41
- day=2,
42
- days_of_week=(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY),
43
- )
44
- # Early May bank holiday
45
- MayBank = Holiday(
46
- "Early May Bank Holiday",
47
- month=5,
48
- day=1,
49
- days_of_week=(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY),
50
- )
51
- # Ascension Day (Auffahrt)
52
- AscensionDay = Holiday(
53
- "Ascension Day",
54
- month=1,
55
- day=1,
56
- offset=[Easter(), Day(39)],
57
- days_of_week=(THURSDAY,),
58
- )
59
- # Pentecost Day (Pfingstmontag)
60
- PentecostMonday = Holiday(
61
- "Pentecost Monday",
62
- month=1,
63
- day=1,
64
- offset=[Easter(), Day(50)],
65
- days_of_week=(MONDAY,),
66
- )
67
- # Swiss National Day
68
- SwissNationalDay = Holiday(
69
- "Swiss National Day",
70
- month=8,
71
- day=1,
72
- days_of_week=(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY),
73
- )
74
- # Christmas Eve
75
- ChristmasEve = Holiday(
76
- "Christmas Eve",
77
- month=12,
78
- day=24,
79
- )
80
- # Christmas
81
- Christmas = Holiday(
82
- "Christmas",
83
- month=12,
84
- day=25,
85
- days_of_week=(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY),
86
- )
87
- # Boxing day
88
- BoxingDay = Holiday(
89
- "Boxing Day",
90
- month=12,
91
- day=26,
92
- )
93
-
94
-
95
- class SIXExchangeCalendar(MarketCalendar):
96
- """
97
- Exchange calendar for SIX
98
-
99
- """
100
-
101
- aliases = ["SIX"]
102
- regular_market_times = {
103
- "market_open": ((None, time(9)),),
104
- "market_close": ((None, time(17, 30)),),
105
- }
106
-
107
- @property
108
- def name(self):
109
- return "SIX"
110
-
111
- @property
112
- def tz(self):
113
- return timezone("Europe/Zurich")
114
-
115
- @property
116
- def regular_holidays(self):
117
- return AbstractHolidayCalendar(
118
- rules=[
119
- NewYearsDay,
120
- BertholdsDay,
121
- GoodFriday,
122
- EasterMonday,
123
- MayBank,
124
- AscensionDay,
125
- PentecostMonday,
126
- SwissNationalDay,
127
- ChristmasEve,
128
- Christmas,
129
- BoxingDay,
130
- NewYearsEve,
131
- ]
132
- )
1
+ from datetime import time
2
+
3
+ from pandas.tseries.holiday import (
4
+ AbstractHolidayCalendar,
5
+ Day,
6
+ Easter,
7
+ EasterMonday,
8
+ GoodFriday,
9
+ Holiday,
10
+ previous_friday,
11
+ )
12
+ from pytz import timezone
13
+
14
+ from pandas_market_calendars.market_calendar import (
15
+ FRIDAY,
16
+ MONDAY,
17
+ MarketCalendar,
18
+ THURSDAY,
19
+ TUESDAY,
20
+ WEDNESDAY,
21
+ )
22
+
23
+ # New Year's Eve
24
+ NewYearsEve = Holiday(
25
+ "New Year's Eve",
26
+ month=12,
27
+ day=31,
28
+ observance=previous_friday,
29
+ )
30
+ # New Year's Day
31
+ NewYearsDay = Holiday(
32
+ "New Year's Day",
33
+ month=1,
34
+ day=1,
35
+ days_of_week=(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY),
36
+ )
37
+ # Berthold's Day
38
+ BertholdsDay = Holiday(
39
+ "Berthold's Day",
40
+ month=1,
41
+ day=2,
42
+ days_of_week=(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY),
43
+ )
44
+ # Early May bank holiday
45
+ MayBank = Holiday(
46
+ "Early May Bank Holiday",
47
+ month=5,
48
+ day=1,
49
+ days_of_week=(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY),
50
+ )
51
+ # Ascension Day (Auffahrt)
52
+ AscensionDay = Holiday(
53
+ "Ascension Day",
54
+ month=1,
55
+ day=1,
56
+ offset=[Easter(), Day(39)],
57
+ days_of_week=(THURSDAY,),
58
+ )
59
+ # Pentecost Day (Pfingstmontag)
60
+ PentecostMonday = Holiday(
61
+ "Pentecost Monday",
62
+ month=1,
63
+ day=1,
64
+ offset=[Easter(), Day(50)],
65
+ days_of_week=(MONDAY,),
66
+ )
67
+ # Swiss National Day
68
+ SwissNationalDay = Holiday(
69
+ "Swiss National Day",
70
+ month=8,
71
+ day=1,
72
+ days_of_week=(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY),
73
+ )
74
+ # Christmas Eve
75
+ ChristmasEve = Holiday(
76
+ "Christmas Eve",
77
+ month=12,
78
+ day=24,
79
+ )
80
+ # Christmas
81
+ Christmas = Holiday(
82
+ "Christmas",
83
+ month=12,
84
+ day=25,
85
+ days_of_week=(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY),
86
+ )
87
+ # Boxing day
88
+ BoxingDay = Holiday(
89
+ "Boxing Day",
90
+ month=12,
91
+ day=26,
92
+ )
93
+
94
+
95
+ class SIXExchangeCalendar(MarketCalendar):
96
+ """
97
+ Exchange calendar for SIX
98
+
99
+ """
100
+
101
+ aliases = ["SIX"]
102
+ regular_market_times = {
103
+ "market_open": ((None, time(9)),),
104
+ "market_close": ((None, time(17, 30)),),
105
+ }
106
+
107
+ @property
108
+ def name(self):
109
+ return "SIX"
110
+
111
+ @property
112
+ def tz(self):
113
+ return timezone("Europe/Zurich")
114
+
115
+ @property
116
+ def regular_holidays(self):
117
+ return AbstractHolidayCalendar(
118
+ rules=[
119
+ NewYearsDay,
120
+ BertholdsDay,
121
+ GoodFriday,
122
+ EasterMonday,
123
+ MayBank,
124
+ AscensionDay,
125
+ PentecostMonday,
126
+ SwissNationalDay,
127
+ ChristmasEve,
128
+ Christmas,
129
+ BoxingDay,
130
+ NewYearsEve,
131
+ ]
132
+ )
@@ -42,7 +42,7 @@ class SSEExchangeCalendar(MarketCalendar):
42
42
  # Since all past holidays are adhoc, start_year should always be a year in the future.
43
43
  # For example: Holiday arrangements for 2022 are now included,
44
44
  # then our guesswork starts from the next year so start_year = 2023
45
- start_year = 2024
45
+ start_year = 2026
46
46
 
47
47
  return AbstractHolidayCalendar(
48
48
  rules=[