pandas-market-calendars 4.4.2__py3-none-any.whl → 4.5.0__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 (47) 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/jpx.py +113 -113
  22. pandas_market_calendars/calendars/lse.py +114 -114
  23. pandas_market_calendars/calendars/mirror.py +149 -149
  24. pandas_market_calendars/calendars/nyse.py +1327 -1324
  25. pandas_market_calendars/calendars/ose.py +116 -116
  26. pandas_market_calendars/calendars/sifma.py +354 -354
  27. pandas_market_calendars/calendars/six.py +132 -132
  28. pandas_market_calendars/calendars/sse.py +311 -311
  29. pandas_market_calendars/calendars/tase.py +197 -197
  30. pandas_market_calendars/calendars/tsx.py +181 -181
  31. pandas_market_calendars/holidays/cme.py +385 -385
  32. pandas_market_calendars/holidays/cme_globex.py +214 -214
  33. pandas_market_calendars/holidays/cn.py +1456 -1456
  34. pandas_market_calendars/holidays/jp.py +401 -401
  35. pandas_market_calendars/holidays/jpx_equinox.py +506 -506
  36. pandas_market_calendars/holidays/nyse.py +1536 -1531
  37. pandas_market_calendars/holidays/oz.py +63 -63
  38. pandas_market_calendars/holidays/sifma.py +350 -350
  39. pandas_market_calendars/holidays/us.py +376 -376
  40. pandas_market_calendars/market_calendar.py +941 -922
  41. {pandas_market_calendars-4.4.2.dist-info → pandas_market_calendars-4.5.0.dist-info}/METADATA +1 -1
  42. pandas_market_calendars-4.5.0.dist-info/RECORD +50 -0
  43. {pandas_market_calendars-4.4.2.dist-info → pandas_market_calendars-4.5.0.dist-info}/WHEEL +1 -1
  44. pandas_market_calendars-4.4.2.dist-info/RECORD +0 -50
  45. {pandas_market_calendars-4.4.2.dist-info → pandas_market_calendars-4.5.0.dist-info}/LICENSE +0 -0
  46. {pandas_market_calendars-4.4.2.dist-info → pandas_market_calendars-4.5.0.dist-info}/NOTICE +0 -0
  47. {pandas_market_calendars-4.4.2.dist-info → pandas_market_calendars-4.5.0.dist-info}/top_level.txt +0 -0
@@ -1,81 +1,81 @@
1
- from datetime import time
2
- from itertools import chain
3
-
4
- from pandas import Timestamp
5
- from pandas.tseries.holiday import (
6
- AbstractHolidayCalendar,
7
- GoodFriday,
8
- USLaborDay,
9
- USPresidentsDay,
10
- USThanksgivingDay,
11
- )
12
- from pytz import timezone
13
-
14
- from pandas_market_calendars.holidays.us import (
15
- Christmas,
16
- USIndependenceDay,
17
- USMartinLutherKingJrAfter1998,
18
- USMemorialDay,
19
- USNationalDaysofMourning,
20
- USNewYearsDay,
21
- )
22
- from pandas_market_calendars.market_calendar import MarketCalendar
23
-
24
-
25
- class ICEExchangeCalendar(MarketCalendar):
26
- """
27
- Exchange calendar for ICE US.
28
-
29
- Open Time: 8pm, US/Eastern
30
- Close Time: 6pm, US/Eastern
31
-
32
- https://www.theice.com/publicdocs/futures_us/ICE_Futures_US_Regular_Trading_Hours.pdf # noqa
33
- """
34
-
35
- aliases = ["ICE", "ICEUS", "NYFE"]
36
- regular_market_times = {
37
- "market_open": ((None, time(20, 1), -1),), # offset by -1 day
38
- "market_close": ((None, time(18)),),
39
- }
40
-
41
- @property
42
- def name(self):
43
- return "ICE"
44
-
45
- @property
46
- def tz(self):
47
- return timezone("US/Eastern")
48
-
49
- @property
50
- def special_closes(self):
51
- return [
52
- (
53
- time(13),
54
- AbstractHolidayCalendar(
55
- rules=[
56
- USMartinLutherKingJrAfter1998,
57
- USPresidentsDay,
58
- USMemorialDay,
59
- USIndependenceDay,
60
- USLaborDay,
61
- USThanksgivingDay,
62
- ]
63
- ),
64
- )
65
- ]
66
-
67
- @property
68
- def adhoc_holidays(self):
69
- return list(
70
- chain(
71
- USNationalDaysofMourning,
72
- # ICE was only closed on the first day of the Hurricane Sandy
73
- # closings (was not closed on 2012-10-30)
74
- [Timestamp("2012-10-29", tz="UTC")],
75
- )
76
- )
77
-
78
- @property
79
- def regular_holidays(self):
80
- # https://www.theice.com/publicdocs/futures_us/exchange_notices/NewExNot2016Holidays.pdf # noqa
81
- return AbstractHolidayCalendar(rules=[USNewYearsDay, GoodFriday, Christmas])
1
+ from datetime import time
2
+ from itertools import chain
3
+
4
+ from pandas import Timestamp
5
+ from pandas.tseries.holiday import (
6
+ AbstractHolidayCalendar,
7
+ GoodFriday,
8
+ USLaborDay,
9
+ USPresidentsDay,
10
+ USThanksgivingDay,
11
+ )
12
+ from pytz import timezone
13
+
14
+ from pandas_market_calendars.holidays.us import (
15
+ Christmas,
16
+ USIndependenceDay,
17
+ USMartinLutherKingJrAfter1998,
18
+ USMemorialDay,
19
+ USNationalDaysofMourning,
20
+ USNewYearsDay,
21
+ )
22
+ from pandas_market_calendars.market_calendar import MarketCalendar
23
+
24
+
25
+ class ICEExchangeCalendar(MarketCalendar):
26
+ """
27
+ Exchange calendar for ICE US.
28
+
29
+ Open Time: 8pm, US/Eastern
30
+ Close Time: 6pm, US/Eastern
31
+
32
+ https://www.theice.com/publicdocs/futures_us/ICE_Futures_US_Regular_Trading_Hours.pdf # noqa
33
+ """
34
+
35
+ aliases = ["ICE", "ICEUS", "NYFE"]
36
+ regular_market_times = {
37
+ "market_open": ((None, time(20, 1), -1),), # offset by -1 day
38
+ "market_close": ((None, time(18)),),
39
+ }
40
+
41
+ @property
42
+ def name(self):
43
+ return "ICE"
44
+
45
+ @property
46
+ def tz(self):
47
+ return timezone("US/Eastern")
48
+
49
+ @property
50
+ def special_closes(self):
51
+ return [
52
+ (
53
+ time(13),
54
+ AbstractHolidayCalendar(
55
+ rules=[
56
+ USMartinLutherKingJrAfter1998,
57
+ USPresidentsDay,
58
+ USMemorialDay,
59
+ USIndependenceDay,
60
+ USLaborDay,
61
+ USThanksgivingDay,
62
+ ]
63
+ ),
64
+ )
65
+ ]
66
+
67
+ @property
68
+ def adhoc_holidays(self):
69
+ return list(
70
+ chain(
71
+ USNationalDaysofMourning,
72
+ # ICE was only closed on the first day of the Hurricane Sandy
73
+ # closings (was not closed on 2012-10-30)
74
+ [Timestamp("2012-10-29", tz="UTC")],
75
+ )
76
+ )
77
+
78
+ @property
79
+ def regular_holidays(self):
80
+ # https://www.theice.com/publicdocs/futures_us/exchange_notices/NewExNot2016Holidays.pdf # noqa
81
+ return AbstractHolidayCalendar(rules=[USNewYearsDay, GoodFriday, Christmas])
@@ -1,112 +1,112 @@
1
- from datetime import time
2
- from itertools import chain
3
-
4
- from pandas.tseries.holiday import AbstractHolidayCalendar
5
- from pytz import timezone
6
-
7
- from pandas_market_calendars.holidays.nyse import (
8
- USPresidentsDay,
9
- GoodFriday,
10
- USMemorialDay,
11
- USJuneteenthAfter2022,
12
- USIndependenceDay,
13
- USThanksgivingDay,
14
- ChristmasNYSE,
15
- USMartinLutherKingJrAfter1998,
16
- # Ad-Hoc
17
- DayAfterThanksgiving1pmEarlyCloseInOrAfter1993,
18
- DaysBeforeIndependenceDay1pmEarlyCloseAdhoc,
19
- ChristmasEvesAdhoc,
20
- )
21
- from .nyse import NYSEExchangeCalendar
22
-
23
-
24
- class IEXExchangeCalendar(NYSEExchangeCalendar):
25
- """
26
- Exchange calendar for the Investor's Exchange (IEX).
27
-
28
- IEX Exchange is a U.S. stock exchange focused on driving performance
29
- for broker-dealers and investors through innovative design and technology.
30
-
31
- Most of this class inherits from NYSEExchangeCalendar since
32
- the holidays are the same. The only variation is (1) IEX began
33
- operation in 2013, and (2) IEX has different hours of operation
34
-
35
- References:
36
- - https://exchange.iex.io/
37
- - https://iexexchange.io/resources/trading/trading-hours-holidays/index.html
38
- """
39
-
40
- regular_market_times = {
41
- "pre": (("2013-03-25", time(8)),),
42
- "market_open": ((None, time(9, 30)),),
43
- "market_close": ((None, time(16)),),
44
- "post": ((None, time(17)),),
45
- }
46
-
47
- aliases = ["IEX", "Investors_Exchange"]
48
-
49
- @property
50
- def name(self):
51
- return "IEX"
52
-
53
- @property
54
- def weekmask(self):
55
- return "Mon Tue Wed Thu Fri"
56
-
57
- @property
58
- def regular_holidays(self):
59
- return AbstractHolidayCalendar(
60
- rules=[
61
- USPresidentsDay,
62
- GoodFriday,
63
- USMemorialDay,
64
- USJuneteenthAfter2022,
65
- USIndependenceDay,
66
- USThanksgivingDay,
67
- ChristmasNYSE,
68
- USMartinLutherKingJrAfter1998,
69
- ]
70
- )
71
-
72
- @property
73
- def adhoc_holidays(self):
74
- return list(
75
- chain(
76
- ChristmasEvesAdhoc,
77
- )
78
- )
79
-
80
- @property
81
- def special_closes(self):
82
- return [
83
- (
84
- time(hour=13, tzinfo=timezone("America/New_York")),
85
- AbstractHolidayCalendar(
86
- rules=[
87
- DayAfterThanksgiving1pmEarlyCloseInOrAfter1993,
88
- ]
89
- ),
90
- )
91
- ]
92
-
93
- """Override NYSE calendar special cases"""
94
-
95
- @property
96
- def special_closes_adhoc(self):
97
- return [
98
- (
99
- time(13, tzinfo=timezone("America/New_York")),
100
- DaysBeforeIndependenceDay1pmEarlyCloseAdhoc,
101
- )
102
- ]
103
-
104
- @property
105
- def special_opens(self):
106
- return []
107
-
108
- def valid_days(self, start_date, end_date, tz="UTC"):
109
- trading_days = super().valid_days(
110
- start_date, end_date, tz=tz
111
- ) # all NYSE valid days
112
- return trading_days[~(trading_days <= "2013-08-25")]
1
+ from datetime import time
2
+ from itertools import chain
3
+
4
+ from pandas.tseries.holiday import AbstractHolidayCalendar
5
+ from pytz import timezone
6
+
7
+ from pandas_market_calendars.holidays.nyse import (
8
+ USPresidentsDay,
9
+ GoodFriday,
10
+ USMemorialDay,
11
+ USJuneteenthAfter2022,
12
+ USIndependenceDay,
13
+ USThanksgivingDay,
14
+ ChristmasNYSE,
15
+ USMartinLutherKingJrAfter1998,
16
+ # Ad-Hoc
17
+ DayAfterThanksgiving1pmEarlyCloseInOrAfter1993,
18
+ DaysBeforeIndependenceDay1pmEarlyCloseAdhoc,
19
+ ChristmasEvesAdhoc,
20
+ )
21
+ from .nyse import NYSEExchangeCalendar
22
+
23
+
24
+ class IEXExchangeCalendar(NYSEExchangeCalendar):
25
+ """
26
+ Exchange calendar for the Investor's Exchange (IEX).
27
+
28
+ IEX Exchange is a U.S. stock exchange focused on driving performance
29
+ for broker-dealers and investors through innovative design and technology.
30
+
31
+ Most of this class inherits from NYSEExchangeCalendar since
32
+ the holidays are the same. The only variation is (1) IEX began
33
+ operation in 2013, and (2) IEX has different hours of operation
34
+
35
+ References:
36
+ - https://exchange.iex.io/
37
+ - https://iexexchange.io/resources/trading/trading-hours-holidays/index.html
38
+ """
39
+
40
+ regular_market_times = {
41
+ "pre": (("2013-03-25", time(8)),),
42
+ "market_open": ((None, time(9, 30)),),
43
+ "market_close": ((None, time(16)),),
44
+ "post": ((None, time(17)),),
45
+ }
46
+
47
+ aliases = ["IEX", "Investors_Exchange"]
48
+
49
+ @property
50
+ def name(self):
51
+ return "IEX"
52
+
53
+ @property
54
+ def weekmask(self):
55
+ return "Mon Tue Wed Thu Fri"
56
+
57
+ @property
58
+ def regular_holidays(self):
59
+ return AbstractHolidayCalendar(
60
+ rules=[
61
+ USPresidentsDay,
62
+ GoodFriday,
63
+ USMemorialDay,
64
+ USJuneteenthAfter2022,
65
+ USIndependenceDay,
66
+ USThanksgivingDay,
67
+ ChristmasNYSE,
68
+ USMartinLutherKingJrAfter1998,
69
+ ]
70
+ )
71
+
72
+ @property
73
+ def adhoc_holidays(self):
74
+ return list(
75
+ chain(
76
+ ChristmasEvesAdhoc,
77
+ )
78
+ )
79
+
80
+ @property
81
+ def special_closes(self):
82
+ return [
83
+ (
84
+ time(hour=13, tzinfo=timezone("America/New_York")),
85
+ AbstractHolidayCalendar(
86
+ rules=[
87
+ DayAfterThanksgiving1pmEarlyCloseInOrAfter1993,
88
+ ]
89
+ ),
90
+ )
91
+ ]
92
+
93
+ """Override NYSE calendar special cases"""
94
+
95
+ @property
96
+ def special_closes_adhoc(self):
97
+ return [
98
+ (
99
+ time(13, tzinfo=timezone("America/New_York")),
100
+ DaysBeforeIndependenceDay1pmEarlyCloseAdhoc,
101
+ )
102
+ ]
103
+
104
+ @property
105
+ def special_opens(self):
106
+ return []
107
+
108
+ def valid_days(self, start_date, end_date, tz="UTC"):
109
+ trading_days = super().valid_days(
110
+ start_date, end_date, tz=tz
111
+ ) # all NYSE valid days
112
+ return trading_days[~(trading_days <= "2013-08-25")]
@@ -1,113 +1,113 @@
1
- from datetime import time
2
- from itertools import chain
3
-
4
- from pandas.tseries.holiday import AbstractHolidayCalendar
5
- from pytz import timezone
6
-
7
- from pandas_market_calendars.holidays.jp import *
8
- from pandas_market_calendars.holidays.us import USNewYearsDay
9
- from pandas_market_calendars.market_calendar import MarketCalendar
10
-
11
-
12
- # TODO:
13
- # From 1949 to 1972 the TSE was open on all non-holiday Saturdays for a half day
14
- # From 1973 to 1984 the TSE was open on all non-holiday Saturdays except the third Saturday of the month
15
- # need to add support for weekmask to make this work properly
16
-
17
-
18
- class JPXExchangeCalendar(MarketCalendar):
19
- """
20
- Exchange calendar for JPX
21
-
22
- Open Time: 9:31 AM, Asia/Tokyo
23
- LUNCH BREAK :facepalm: : 11:30 AM - 12:30 PM Asia/Tokyo
24
- Close Time: 3:30 PM, Asia/Tokyo
25
-
26
- Market close of Japan changed from 3:00 PM to 3:30 PM on November 5, 2024
27
- Reference:
28
- https://www.jpx.co.jp/english/equities/trading/domestic/tvdivq0000006blj-att/tradinghours_eg.pdf
29
- """
30
-
31
- aliases = ["JPX", "XJPX"]
32
- regular_market_times = {
33
- "market_open": ((None, time(9)),),
34
- "market_close": ((None, time(15)), ("2024-11-05", time(15, 30))),
35
- "break_start": ((None, time(11, 30)),),
36
- "break_end": ((None, time(12, 30)),),
37
- }
38
- regular_early_close = time(13)
39
-
40
- @property
41
- def name(self):
42
- return "JPX"
43
-
44
- @property
45
- def tz(self):
46
- return timezone("Asia/Tokyo")
47
-
48
- @property
49
- def adhoc_holidays(self):
50
- return list(
51
- chain(
52
- AscensionDays,
53
- MarriageDays,
54
- FuneralShowa,
55
- EnthronementDays,
56
- AutumnalCitizenDates,
57
- NoN225IndexPrices,
58
- EquityTradingSystemFailure,
59
- )
60
- )
61
-
62
- @property
63
- def regular_holidays(self):
64
- return AbstractHolidayCalendar(
65
- rules=[
66
- USNewYearsDay,
67
- JapanNewYearsDay2,
68
- JapanNewYearsDay3,
69
- JapanComingOfAgeDay1951To1973,
70
- JapanComingOfAgeDay1974To1999,
71
- JapanComingOfAgeDay,
72
- JapanNationalFoundationDay1969To1973,
73
- JapanNationalFoundationDay,
74
- JapanEmperorsBirthday,
75
- JapanVernalEquinox,
76
- JapanShowaDayUntil1972,
77
- JapanShowaDay,
78
- JapanConstitutionMemorialDayUntil1972,
79
- JapanConstitutionMemorialDay,
80
- JapanGreeneryDay,
81
- JapanChildrensDayUntil1972,
82
- JapanChildrensDay,
83
- JapanGoldenWeekBonusDay,
84
- JapanMarineDay1996To2002,
85
- JapanMarineDay2003To2019,
86
- JapanMarineDay2020,
87
- JapanMarineDay2021,
88
- JapanMarineDay,
89
- JapanMountainDay2016to2019,
90
- JapanMountainDay2020,
91
- JapanMountainDay2021,
92
- JapanMountainDay2021NextDay,
93
- JapanMountainDay,
94
- JapanRespectForTheAgedDay1966To1972,
95
- JapanRespectForTheAgedDay1973To2002,
96
- JapanRespectForTheAgedDay,
97
- JapanAutumnalEquinox,
98
- JapanHealthAndSportsDay1966To1972,
99
- JapanHealthAndSportsDay1973To1999,
100
- JapanHealthAndSportsDay2000To2019,
101
- JapanSportsDay2020,
102
- JapanSportsDay2021,
103
- JapanSportsDay,
104
- JapanCultureDayUntil1972,
105
- JapanCultureDay,
106
- JapanLaborThanksgivingDayUntil1972,
107
- JapanLaborThanksgivingDay,
108
- JapanEmperorAkahitosBirthday,
109
- JapanDecember29Until1988,
110
- JapanDecember30Until1988,
111
- JapanBeforeNewYearsDay,
112
- ]
113
- )
1
+ from datetime import time
2
+ from itertools import chain
3
+
4
+ from pandas.tseries.holiday import AbstractHolidayCalendar
5
+ from pytz import timezone
6
+
7
+ from pandas_market_calendars.holidays.jp import *
8
+ from pandas_market_calendars.holidays.us import USNewYearsDay
9
+ from pandas_market_calendars.market_calendar import MarketCalendar
10
+
11
+
12
+ # TODO:
13
+ # From 1949 to 1972 the TSE was open on all non-holiday Saturdays for a half day
14
+ # From 1973 to 1984 the TSE was open on all non-holiday Saturdays except the third Saturday of the month
15
+ # need to add support for weekmask to make this work properly
16
+
17
+
18
+ class JPXExchangeCalendar(MarketCalendar):
19
+ """
20
+ Exchange calendar for JPX
21
+
22
+ Open Time: 9:31 AM, Asia/Tokyo
23
+ LUNCH BREAK :facepalm: : 11:30 AM - 12:30 PM Asia/Tokyo
24
+ Close Time: 3:30 PM, Asia/Tokyo
25
+
26
+ Market close of Japan changed from 3:00 PM to 3:30 PM on November 5, 2024
27
+ Reference:
28
+ https://www.jpx.co.jp/english/equities/trading/domestic/tvdivq0000006blj-att/tradinghours_eg.pdf
29
+ """
30
+
31
+ aliases = ["JPX", "XJPX"]
32
+ regular_market_times = {
33
+ "market_open": ((None, time(9)),),
34
+ "market_close": ((None, time(15)), ("2024-11-05", time(15, 30))),
35
+ "break_start": ((None, time(11, 30)),),
36
+ "break_end": ((None, time(12, 30)),),
37
+ }
38
+ regular_early_close = time(13)
39
+
40
+ @property
41
+ def name(self):
42
+ return "JPX"
43
+
44
+ @property
45
+ def tz(self):
46
+ return timezone("Asia/Tokyo")
47
+
48
+ @property
49
+ def adhoc_holidays(self):
50
+ return list(
51
+ chain(
52
+ AscensionDays,
53
+ MarriageDays,
54
+ FuneralShowa,
55
+ EnthronementDays,
56
+ AutumnalCitizenDates,
57
+ NoN225IndexPrices,
58
+ EquityTradingSystemFailure,
59
+ )
60
+ )
61
+
62
+ @property
63
+ def regular_holidays(self):
64
+ return AbstractHolidayCalendar(
65
+ rules=[
66
+ USNewYearsDay,
67
+ JapanNewYearsDay2,
68
+ JapanNewYearsDay3,
69
+ JapanComingOfAgeDay1951To1973,
70
+ JapanComingOfAgeDay1974To1999,
71
+ JapanComingOfAgeDay,
72
+ JapanNationalFoundationDay1969To1973,
73
+ JapanNationalFoundationDay,
74
+ JapanEmperorsBirthday,
75
+ JapanVernalEquinox,
76
+ JapanShowaDayUntil1972,
77
+ JapanShowaDay,
78
+ JapanConstitutionMemorialDayUntil1972,
79
+ JapanConstitutionMemorialDay,
80
+ JapanGreeneryDay,
81
+ JapanChildrensDayUntil1972,
82
+ JapanChildrensDay,
83
+ JapanGoldenWeekBonusDay,
84
+ JapanMarineDay1996To2002,
85
+ JapanMarineDay2003To2019,
86
+ JapanMarineDay2020,
87
+ JapanMarineDay2021,
88
+ JapanMarineDay,
89
+ JapanMountainDay2016to2019,
90
+ JapanMountainDay2020,
91
+ JapanMountainDay2021,
92
+ JapanMountainDay2021NextDay,
93
+ JapanMountainDay,
94
+ JapanRespectForTheAgedDay1966To1972,
95
+ JapanRespectForTheAgedDay1973To2002,
96
+ JapanRespectForTheAgedDay,
97
+ JapanAutumnalEquinox,
98
+ JapanHealthAndSportsDay1966To1972,
99
+ JapanHealthAndSportsDay1973To1999,
100
+ JapanHealthAndSportsDay2000To2019,
101
+ JapanSportsDay2020,
102
+ JapanSportsDay2021,
103
+ JapanSportsDay,
104
+ JapanCultureDayUntil1972,
105
+ JapanCultureDay,
106
+ JapanLaborThanksgivingDayUntil1972,
107
+ JapanLaborThanksgivingDay,
108
+ JapanEmperorAkahitosBirthday,
109
+ JapanDecember29Until1988,
110
+ JapanDecember30Until1988,
111
+ JapanBeforeNewYearsDay,
112
+ ]
113
+ )