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,114 +1,132 @@
1
- from datetime import time
2
-
3
- from pandas.tseries.holiday import (AbstractHolidayCalendar, Day, Easter, EasterMonday, GoodFriday, Holiday,
4
- previous_friday)
5
- from pytz import timezone
6
-
7
- from pandas_market_calendars.market_calendar import (FRIDAY, MONDAY, MarketCalendar, THURSDAY, TUESDAY, WEDNESDAY)
8
-
9
- # New Year's Eve
10
- NewYearsEve = Holiday(
11
- "New Year's Eve",
12
- month=12,
13
- day=31,
14
- observance=previous_friday,
15
- )
16
- # New Year's Day
17
- NewYearsDay = Holiday(
18
- "New Year's Day",
19
- month=1,
20
- day=1,
21
- days_of_week=(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY),
22
- )
23
- # Berthold's Day
24
- BertholdsDay = Holiday(
25
- "Berthold's Day",
26
- month=1,
27
- day=2,
28
- days_of_week=(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY),
29
- )
30
- # Early May bank holiday
31
- MayBank = Holiday(
32
- "Early May Bank Holiday",
33
- month=5,
34
- day=1,
35
- days_of_week=(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY),
36
- )
37
- # Ascension Day (Auffahrt)
38
- AscensionDay = Holiday(
39
- 'Ascension Day',
40
- month=1,
41
- day=1,
42
- offset=[Easter(), Day(39)],
43
- days_of_week=(THURSDAY,),
44
- )
45
- # Pentecost Day (Pfingstmontag)
46
- PentecostMonday = Holiday(
47
- 'Pentecost Monday',
48
- month=1,
49
- day=1,
50
- offset=[Easter(), Day(50)],
51
- days_of_week=(MONDAY,),
52
- )
53
- # Swiss National Day
54
- SwissNationalDay = Holiday(
55
- "Swiss National Day",
56
- month=8,
57
- day=1,
58
- days_of_week=(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY),
59
- )
60
- # Christmas Eve
61
- ChristmasEve = Holiday(
62
- 'Christmas Eve',
63
- month=12,
64
- day=24,
65
- )
66
- # Christmas
67
- Christmas = Holiday(
68
- "Christmas",
69
- month=12,
70
- day=25,
71
- days_of_week=(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY),
72
- )
73
- # Boxing day
74
- BoxingDay = Holiday(
75
- "Boxing Day",
76
- month=12,
77
- day=26,
78
- )
79
-
80
-
81
- class SIXExchangeCalendar(MarketCalendar):
82
- """
83
- Exchange calendar for SIX
84
-
85
- """
86
- aliases = ['SIX']
87
- regular_market_times = {
88
- "market_open": ((None, time(9)),),
89
- "market_close": ((None, time(17,30)),),
90
- }
91
- @property
92
- def name(self):
93
- return "SIX"
94
-
95
- @property
96
- def tz(self):
97
- return timezone('Europe/Zurich')
98
-
99
- @property
100
- def regular_holidays(self):
101
- return AbstractHolidayCalendar(rules=[
102
- NewYearsDay,
103
- BertholdsDay,
104
- GoodFriday,
105
- EasterMonday,
106
- MayBank,
107
- AscensionDay,
108
- PentecostMonday,
109
- SwissNationalDay,
110
- ChristmasEve,
111
- Christmas,
112
- BoxingDay,
113
- NewYearsEve,
114
- ])
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
+ )