holidays 0.86__py3-none-any.whl → 0.88__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.
- holidays/calendars/chinese.py +44 -6
- holidays/calendars/hindu.py +85 -1
- holidays/constants.py +1 -0
- holidays/countries/american_samoa.py +2 -0
- holidays/countries/bangladesh.py +13 -9
- holidays/countries/belarus.py +4 -2
- holidays/countries/brazil.py +27 -1
- holidays/countries/chile.py +2 -3
- holidays/countries/germany.py +75 -74
- holidays/countries/guam.py +2 -0
- holidays/countries/india.py +5 -3
- holidays/countries/macau.py +39 -45
- holidays/countries/malaysia.py +171 -71
- holidays/countries/new_zealand.py +4 -3
- holidays/countries/northern_mariana_islands.py +2 -0
- holidays/countries/puerto_rico.py +4 -2
- holidays/countries/sweden.py +35 -11
- holidays/countries/taiwan.py +6 -5
- holidays/countries/turks_and_caicos_islands.py +13 -3
- holidays/countries/united_states.py +434 -133
- holidays/countries/united_states_minor_outlying_islands.py +2 -0
- holidays/countries/united_states_virgin_islands.py +2 -0
- holidays/countries/uzbekistan.py +12 -1
- holidays/countries/venezuela.py +113 -23
- holidays/financial/__init__.py +1 -0
- holidays/financial/bombay_stock_exchange.py +33 -0
- holidays/financial/national_stock_exchange_of_india.py +1 -1
- holidays/financial/ny_stock_exchange.py +591 -89
- holidays/groups/chinese.py +11 -18
- holidays/groups/hindu.py +24 -0
- holidays/holiday_base.py +2 -1
- holidays/locale/bn/LC_MESSAGES/BD.mo +0 -0
- holidays/locale/de/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/en_IN/LC_MESSAGES/XBOM.mo +0 -0
- holidays/locale/en_TC/LC_MESSAGES/TC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BD.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/US.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/VE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/XBOM.mo +0 -0
- holidays/locale/es/LC_MESSAGES/VE.mo +0 -0
- holidays/locale/gu/LC_MESSAGES/IN.mo +0 -0
- holidays/locale/gu/LC_MESSAGES/XBOM.mo +0 -0
- holidays/locale/gu/LC_MESSAGES/XNSE.mo +0 -0
- holidays/locale/hi/LC_MESSAGES/XBOM.mo +0 -0
- holidays/locale/ms_MY/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/pt_BR/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/sv/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/th/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/US.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/VE.mo +0 -0
- holidays/registry.py +1 -0
- holidays/utils.py +62 -1
- holidays/version.py +3 -1
- {holidays-0.86.dist-info → holidays-0.88.dist-info}/METADATA +30 -16
- {holidays-0.86.dist-info → holidays-0.88.dist-info}/RECORD +69 -60
- {holidays-0.86.dist-info → holidays-0.88.dist-info}/licenses/CONTRIBUTORS +6 -0
- {holidays-0.86.dist-info → holidays-0.88.dist-info}/WHEEL +0 -0
- {holidays-0.86.dist-info → holidays-0.88.dist-info}/licenses/LICENSE +0 -0
- {holidays-0.86.dist-info → holidays-0.88.dist-info}/top_level.txt +0 -0
|
@@ -25,8 +25,11 @@ from holidays.calendars.gregorian import (
|
|
|
25
25
|
OCT,
|
|
26
26
|
NOV,
|
|
27
27
|
DEC,
|
|
28
|
+
SAT,
|
|
29
|
+
SUN,
|
|
28
30
|
_timedelta,
|
|
29
31
|
)
|
|
32
|
+
from holidays.constants import HALF_DAY, PUBLIC
|
|
30
33
|
from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
|
|
31
34
|
from holidays.observed_holiday_base import ObservedHolidayBase, SAT_TO_PREV_FRI, SUN_TO_NEXT_MON
|
|
32
35
|
|
|
@@ -37,16 +40,18 @@ class NewYorkStockExchange(
|
|
|
37
40
|
"""New York Stock Exchange holidays.
|
|
38
41
|
|
|
39
42
|
References:
|
|
40
|
-
*
|
|
43
|
+
* [NYSE Rules](https://web.archive.org/web/20240118104341/https://www.nyse.com/publicdocs/nyse/regulation/nyse/NYSE_Rules.pdf)
|
|
44
|
+
* [NYSE History - Timeline](https://web.archive.org/web/20150113014537/https://www.nyse.com/about/history/timeline_trading.html)
|
|
41
45
|
|
|
42
46
|
Historical data:
|
|
43
|
-
*
|
|
44
|
-
*
|
|
47
|
+
* [History of NYSE Holidays](https://web.archive.org/web/20221206064307/https://s3.amazonaws.com/armstrongeconomics-wp/2013/07/NYSE-Closings.pdf)
|
|
48
|
+
* [NYSE Holidays & Trading Hours](https://web.archive.org/web/20211101162021/https://www.nyse.com/markets/hours-calendars)
|
|
45
49
|
"""
|
|
46
50
|
|
|
47
51
|
market = "XNYS"
|
|
48
52
|
observed_label = "%s (observed)"
|
|
49
53
|
start_year = 1863
|
|
54
|
+
supported_categories = (HALF_DAY, PUBLIC)
|
|
50
55
|
|
|
51
56
|
def __init__(self, *args, **kwargs):
|
|
52
57
|
ChristianHolidays.__init__(self)
|
|
@@ -55,88 +60,195 @@ class NewYorkStockExchange(
|
|
|
55
60
|
kwargs.setdefault("observed_rule", SAT_TO_PREV_FRI + SUN_TO_NEXT_MON)
|
|
56
61
|
super().__init__(*args, **kwargs)
|
|
57
62
|
|
|
63
|
+
def _add_observed(self, dt: date, **kwargs) -> tuple[bool, date | None]:
|
|
64
|
+
kwargs["rule"] = SUN_TO_NEXT_MON if dt.year <= 1952 else self._observed_rule
|
|
65
|
+
return super()._add_observed(dt, **kwargs)
|
|
66
|
+
|
|
67
|
+
def _get_weekend(self, dt: date) -> set[int]:
|
|
68
|
+
# September 29, 1952: The NYSE changes its trading hours
|
|
69
|
+
# to 10am to 3:30pm Monday-Friday, and closes on Saturdays.
|
|
70
|
+
return {SAT, SUN} if dt >= date(1952, SEP, 29) else {SUN}
|
|
71
|
+
|
|
72
|
+
def _populate_ranged_holidays(
|
|
73
|
+
self, name: str, start: tuple[int, int], end: tuple[int, int], step: int = 1
|
|
74
|
+
):
|
|
75
|
+
start_date = date(self._year, *start)
|
|
76
|
+
end_date = date(self._year, *end)
|
|
77
|
+
for dt in (
|
|
78
|
+
_timedelta(start_date, n) for n in range(0, (end_date - start_date).days + 1, step)
|
|
79
|
+
):
|
|
80
|
+
if self._is_weekend(dt) or dt in self:
|
|
81
|
+
continue
|
|
82
|
+
self._add_holiday(name, dt)
|
|
83
|
+
|
|
58
84
|
def _populate_public_holidays(self):
|
|
85
|
+
# According to NYSE Rules (Rule 51), when any holiday observed by the Exchange falls on
|
|
86
|
+
# a Saturday, the Exchange will not be open for business on the preceding Friday ...,
|
|
87
|
+
# unless unusual business conditions exist, such as the ending of a monthly or the yearly
|
|
88
|
+
# accounting period.
|
|
89
|
+
# Therefore, New Year's Day holiday is not moved to Dec 31, even after 1952 amendments.
|
|
90
|
+
|
|
59
91
|
# New Year's Day.
|
|
60
|
-
|
|
61
|
-
self._move_holiday(self._add_new_years_day(name))
|
|
92
|
+
self._move_holiday(self._add_new_years_day("New Year's Day"))
|
|
62
93
|
|
|
63
|
-
#
|
|
94
|
+
# Martin Luther King Jr. Day.
|
|
64
95
|
if self._year >= 1998:
|
|
65
96
|
self._add_holiday_3rd_mon_of_jan("Martin Luther King Jr. Day")
|
|
66
97
|
|
|
67
|
-
#
|
|
68
|
-
if 1896 <= self._year <= 1953
|
|
98
|
+
# Lincoln's Birthday.
|
|
99
|
+
if 1896 <= self._year <= 1953:
|
|
69
100
|
self._move_holiday(self._add_holiday_feb_12("Lincoln's Birthday"))
|
|
70
101
|
|
|
71
|
-
#
|
|
102
|
+
# Washington's Birthday.
|
|
72
103
|
name = "Washington's Birthday"
|
|
73
|
-
if self._year
|
|
74
|
-
self._move_holiday(self._add_holiday_feb_22(name))
|
|
75
|
-
else:
|
|
104
|
+
if self._year >= 1971:
|
|
76
105
|
self._add_holiday_3rd_mon_of_feb(name)
|
|
106
|
+
else:
|
|
107
|
+
self._move_holiday(self._add_holiday_feb_22(name))
|
|
77
108
|
|
|
78
|
-
#
|
|
109
|
+
# Good Friday.
|
|
79
110
|
if self._year not in {1898, 1906, 1907}:
|
|
80
111
|
self._add_good_friday("Good Friday")
|
|
81
112
|
|
|
82
|
-
#
|
|
83
|
-
# last Mon in May since 1971
|
|
113
|
+
# Memorial Day.
|
|
84
114
|
if self._year >= 1873:
|
|
85
115
|
name = "Memorial Day"
|
|
86
|
-
if self._year
|
|
87
|
-
self._move_holiday(self._add_holiday_may_30(name))
|
|
88
|
-
else:
|
|
116
|
+
if self._year >= 1971:
|
|
89
117
|
self._add_holiday_last_mon_of_may(name)
|
|
118
|
+
else:
|
|
119
|
+
self._move_holiday(self._add_holiday_may_30(name))
|
|
90
120
|
|
|
91
|
-
#
|
|
121
|
+
# Flag Day.
|
|
92
122
|
if 1916 <= self._year <= 1953:
|
|
93
123
|
self._move_holiday(self._add_holiday_jun_14("Flag Day"))
|
|
94
124
|
|
|
95
|
-
#
|
|
125
|
+
# Juneteenth National Independence Day.
|
|
96
126
|
if self._year >= 2022:
|
|
97
127
|
self._move_holiday(self._add_holiday_jun_19("Juneteenth National Independence Day"))
|
|
98
128
|
|
|
99
|
-
#
|
|
129
|
+
# Independence Day.
|
|
100
130
|
self._move_holiday(self._add_holiday_jul_4("Independence Day"))
|
|
101
131
|
|
|
102
|
-
#
|
|
132
|
+
# Labor Day.
|
|
103
133
|
if self._year >= 1887:
|
|
104
134
|
self._add_holiday_1st_mon_of_sep("Labor Day")
|
|
105
135
|
|
|
106
|
-
#
|
|
136
|
+
# Columbus Day.
|
|
107
137
|
if 1909 <= self._year <= 1953:
|
|
108
138
|
self._move_holiday(self._add_columbus_day("Columbus Day"))
|
|
109
139
|
|
|
110
|
-
#
|
|
111
|
-
# closed until 1969, then closed pres years 1972-80
|
|
140
|
+
# Election Day.
|
|
112
141
|
if self._year <= 1968 or self._year in {1972, 1976, 1980}:
|
|
113
142
|
self._add_holiday_1_day_past_1st_mon_of_nov("Election Day")
|
|
114
143
|
|
|
115
|
-
#
|
|
116
|
-
if
|
|
144
|
+
# Veteran's Day.
|
|
145
|
+
if 1934 <= self._year <= 1953:
|
|
117
146
|
self._move_holiday(self._add_remembrance_day("Veteran's Day"))
|
|
118
147
|
|
|
119
|
-
#
|
|
120
|
-
|
|
148
|
+
# Thanksgiving Day.
|
|
149
|
+
thanksgiving_day_dates = {
|
|
150
|
+
1865: (DEC, 7),
|
|
151
|
+
1869: (NOV, 18),
|
|
152
|
+
1939: (NOV, 23),
|
|
153
|
+
1940: (NOV, 21),
|
|
154
|
+
1941: (NOV, 20),
|
|
155
|
+
}
|
|
156
|
+
name = "Thanksgiving Day"
|
|
157
|
+
if dt := thanksgiving_day_dates.get(self._year):
|
|
158
|
+
self._add_holiday(name, dt)
|
|
159
|
+
elif self._year >= 1942:
|
|
160
|
+
self._add_holiday_4th_thu_of_nov(name)
|
|
161
|
+
else:
|
|
162
|
+
self._add_holiday_last_thu_of_nov(name)
|
|
121
163
|
|
|
122
|
-
#
|
|
164
|
+
# Christmas Day.
|
|
123
165
|
self._move_holiday(self._add_christmas_day("Christmas Day"))
|
|
124
166
|
|
|
125
167
|
# Special holidays.
|
|
168
|
+
|
|
126
169
|
if self._year == 1914:
|
|
127
|
-
|
|
128
|
-
begin = date(self._year, JUL, 31)
|
|
129
|
-
end = date(self._year, NOV, 27)
|
|
130
|
-
for dt in (_timedelta(begin, n) for n in range((end - begin).days + 1)):
|
|
131
|
-
if self._is_weekend(dt) or dt in self:
|
|
132
|
-
continue
|
|
133
|
-
self._add_holiday("World War I", dt)
|
|
170
|
+
self._populate_ranged_holidays("Pending outbreak of World War I", (JUL, 31), (NOV, 27))
|
|
134
171
|
elif self._year == 1968:
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
172
|
+
# WED.
|
|
173
|
+
self._populate_ranged_holidays("Paperwork Crisis", (JUN, 12), (DEC, 24), 7)
|
|
174
|
+
|
|
175
|
+
# Closed Saturdays.
|
|
176
|
+
closed_sat_date_ranges = {
|
|
177
|
+
# Start date, end date.
|
|
178
|
+
1944: ((AUG, 19), (SEP, 2)),
|
|
179
|
+
1945: ((JUL, 7), (SEP, 1)),
|
|
180
|
+
1946: ((JUN, 1), (SEP, 28)),
|
|
181
|
+
1947: ((MAY, 31), (SEP, 27)),
|
|
182
|
+
1948: ((MAY, 29), (SEP, 25)),
|
|
183
|
+
1949: ((MAY, 28), (SEP, 24)),
|
|
184
|
+
1950: ((JUN, 3), (SEP, 30)),
|
|
185
|
+
1951: ((JUN, 2), (SEP, 29)),
|
|
186
|
+
1952: ((MAY, 31), (SEP, 27)),
|
|
187
|
+
}
|
|
188
|
+
if self._year in closed_sat_date_ranges:
|
|
189
|
+
start, end = closed_sat_date_ranges[self._year]
|
|
190
|
+
self._populate_ranged_holidays("Closed Saturday", start, end, 7)
|
|
191
|
+
|
|
192
|
+
def _populate_half_day_holidays(self):
|
|
193
|
+
# %s (markets close at 1:00pm).
|
|
194
|
+
close_1pm_label = "%s (markets close at 1:00pm)"
|
|
195
|
+
|
|
196
|
+
# %s (markets close at 2:00pm).
|
|
197
|
+
close_2pm_label = "%s (markets close at 2:00pm)"
|
|
198
|
+
|
|
199
|
+
# %s (markets close at 2:30pm).
|
|
200
|
+
close_2_30pm_label = "%s (markets close at 2:30pm)"
|
|
201
|
+
|
|
202
|
+
# %s (markets close at 3:00pm).
|
|
203
|
+
close_3pm_label = "%s (markets close at 3:00pm)"
|
|
204
|
+
|
|
205
|
+
# Special holidays.
|
|
206
|
+
|
|
207
|
+
name_paperwork_crisis = "Paperwork Crisis"
|
|
208
|
+
if self._year == 1968:
|
|
209
|
+
self._populate_ranged_holidays(
|
|
210
|
+
close_2pm_label % "Back office work load", (JAN, 22), (MAR, 1)
|
|
211
|
+
)
|
|
212
|
+
elif self._year == 1969:
|
|
213
|
+
# THU.
|
|
214
|
+
self._populate_ranged_holidays(
|
|
215
|
+
close_2pm_label % name_paperwork_crisis, (JAN, 2), (JUL, 3), 7
|
|
216
|
+
)
|
|
217
|
+
|
|
218
|
+
# MON-FRI.
|
|
219
|
+
self._populate_ranged_holidays(
|
|
220
|
+
close_2_30pm_label % name_paperwork_crisis, (JUL, 7), (SEP, 26)
|
|
221
|
+
)
|
|
222
|
+
|
|
223
|
+
# MON-FRI.
|
|
224
|
+
self._populate_ranged_holidays(
|
|
225
|
+
close_3pm_label % name_paperwork_crisis, (SEP, 29), (DEC, 31)
|
|
226
|
+
)
|
|
227
|
+
elif self._year == 1970:
|
|
228
|
+
# MON-FRI.
|
|
229
|
+
self._populate_ranged_holidays(
|
|
230
|
+
close_3pm_label % name_paperwork_crisis, (JAN, 2), (MAY, 1)
|
|
231
|
+
)
|
|
232
|
+
|
|
233
|
+
# 1990-1992 early closings are covered by special holidays.
|
|
234
|
+
if self._year >= 1993:
|
|
235
|
+
# Day before Independence Day.
|
|
236
|
+
jul_4 = (JUL, 4)
|
|
237
|
+
if (
|
|
238
|
+
self._is_weekday(jul_4)
|
|
239
|
+
and not self._is_monday(jul_4)
|
|
240
|
+
and self._year not in {1996, 2002}
|
|
241
|
+
):
|
|
242
|
+
self._add_holiday_jul_3(close_1pm_label % "Day before Independence Day")
|
|
243
|
+
|
|
244
|
+
# Day after Thanksgiving Day.
|
|
245
|
+
self._add_holiday_1_day_past_4th_thu_of_nov(
|
|
246
|
+
close_1pm_label % "Day after Thanksgiving Day"
|
|
247
|
+
)
|
|
248
|
+
|
|
249
|
+
# Christmas Eve.
|
|
250
|
+
if self._is_weekday(self._christmas_day) and not self._is_monday(self._christmas_day):
|
|
251
|
+
self._add_christmas_eve(close_1pm_label % "Christmas Eve")
|
|
140
252
|
|
|
141
253
|
|
|
142
254
|
class XNYS(NewYorkStockExchange):
|
|
@@ -155,11 +267,35 @@ class NewYorkStockExchangeStaticHolidays:
|
|
|
155
267
|
* <https://web.archive.org/web/20250208135423/https://www.presidency.ucsb.edu/documents/proclamation-3561-national-day-mourning-for-president-kennedy>
|
|
156
268
|
"""
|
|
157
269
|
|
|
270
|
+
# %s (markets close at 11:00am).
|
|
271
|
+
close_11am_label = "%s (markets close at 11:00am)"
|
|
272
|
+
|
|
273
|
+
# %s (markets close at 12:00pm).
|
|
274
|
+
close_12pm_label = "%s (markets close at 12:00pm)"
|
|
275
|
+
|
|
276
|
+
# %s (markets close at 12:30pm).
|
|
277
|
+
close_12_30pm_label = "%s (markets close at 12:30pm)"
|
|
278
|
+
|
|
279
|
+
# %s (markets close at 1:00pm).
|
|
280
|
+
close_1pm_label = "%s (markets close at 1:00pm)"
|
|
281
|
+
|
|
282
|
+
# %s (markets close at 2:00pm).
|
|
283
|
+
close_2pm_label = "%s (markets close at 2:00pm)"
|
|
284
|
+
|
|
285
|
+
# %s (markets close at 2:30pm).
|
|
286
|
+
close_2_30pm_label = "%s (markets close at 2:30pm)"
|
|
287
|
+
|
|
288
|
+
# %s (markets close at 3:00pm).
|
|
289
|
+
close_3pm_label = "%s (markets close at 3:00pm)"
|
|
290
|
+
|
|
291
|
+
# %s (markets close at 3:30pm).
|
|
292
|
+
close_3_30pm_label = "%s (markets close at 3:30pm)"
|
|
293
|
+
|
|
158
294
|
# Blizzard of 1888.
|
|
159
|
-
|
|
295
|
+
name_blizzard_of_1888 = "Blizzard of 1888"
|
|
160
296
|
|
|
161
297
|
# Centennial of George Washington's Inauguration.
|
|
162
|
-
|
|
298
|
+
name_centennial_of_gw_inauguration = "Centennial of George Washington's Inauguration"
|
|
163
299
|
|
|
164
300
|
# Columbian Celebration.
|
|
165
301
|
name_columbian_celebration = "Columbian Celebration"
|
|
@@ -171,110 +307,354 @@ class NewYorkStockExchangeStaticHolidays:
|
|
|
171
307
|
name_catch_up_day = "Catch Up Day"
|
|
172
308
|
|
|
173
309
|
# Special Bank Holiday.
|
|
174
|
-
|
|
310
|
+
name_national_banking_holiday = "National Banking Holiday"
|
|
175
311
|
|
|
176
|
-
# V-J Day
|
|
177
|
-
|
|
312
|
+
# V-J Day. End of World War II.
|
|
313
|
+
name_vj_day = "V-J Day. End of World War II"
|
|
178
314
|
|
|
179
315
|
# Christmas Eve.
|
|
180
316
|
name_christmas_eve = "Christmas Eve"
|
|
181
317
|
|
|
182
|
-
# Closed
|
|
183
|
-
|
|
318
|
+
# Closed following Attacks on the World Trade Center.
|
|
319
|
+
name_closed_following_wtc_attacks = "Closed following Attacks on the World Trade Center"
|
|
184
320
|
|
|
185
321
|
# Hurricane Sandy.
|
|
186
322
|
name_hurricane_sandy = "Hurricane Sandy"
|
|
187
323
|
|
|
324
|
+
# Liberty Day.
|
|
325
|
+
name_liberty_day = "Liberty Day"
|
|
326
|
+
|
|
327
|
+
# Heavy volume. To allow member firm offices to catch up on work.
|
|
328
|
+
name_heavy_volume_catch_up = "Heavy volume. To allow member firm offices to catch up on work"
|
|
329
|
+
|
|
330
|
+
# Saturday after Washington's Birthday.
|
|
331
|
+
name_saturday_after_washingtons_birthday = "Saturday after Washington's Birthday"
|
|
332
|
+
|
|
333
|
+
# Saturday after Good Friday.
|
|
334
|
+
name_saturday_after_good_friday = "Saturday after Good Friday"
|
|
335
|
+
|
|
336
|
+
# Saturday before Decoration Day.
|
|
337
|
+
name_saturday_before_decoration_day = "Saturday before Decoration Day"
|
|
338
|
+
|
|
339
|
+
# Saturday after Decoration Day.
|
|
340
|
+
name_saturday_after_decoration_day = "Saturday after Decoration Day"
|
|
341
|
+
|
|
342
|
+
# Saturday before Independence Day.
|
|
343
|
+
name_saturday_before_independence_day = "Saturday before Independence Day"
|
|
344
|
+
|
|
345
|
+
# Saturday after Independence Day.
|
|
346
|
+
name_saturday_after_independence_day = "Saturday after Independence Day"
|
|
347
|
+
|
|
348
|
+
# Day after Independence Day.
|
|
349
|
+
name_day_after_independence_day = "Day after Independence Day"
|
|
350
|
+
|
|
351
|
+
# Saturday before Labor Day.
|
|
352
|
+
name_saturday_before_labor_day = "Saturday before Labor Day"
|
|
353
|
+
|
|
354
|
+
# Saturday after Columbus Day.
|
|
355
|
+
name_saturday_after_columbus_day = "Saturday after Columbus Day"
|
|
356
|
+
|
|
357
|
+
# Saturday before Christmas.
|
|
358
|
+
name_saturday_before_christmas_day = "Saturday before Christmas Day"
|
|
359
|
+
|
|
360
|
+
# Friday after Christmas Day.
|
|
361
|
+
name_friday_after_christmas = "Friday after Christmas Day"
|
|
362
|
+
|
|
363
|
+
# Saturday after Christmas Day.
|
|
364
|
+
name_saturday_after_christmas_day = "Saturday after Christmas Day"
|
|
365
|
+
|
|
366
|
+
# Admiral Dewey Celebration.
|
|
367
|
+
name_admiral_dewey_celebration = "Admiral Dewey Celebration"
|
|
368
|
+
|
|
369
|
+
# Draft Registration Day.
|
|
370
|
+
name_draft_registration_day = "Draft Registration Day"
|
|
371
|
+
|
|
372
|
+
# To allow offices to catch up on work.
|
|
373
|
+
name_to_catch_up = "To allow offices to catch up on work"
|
|
374
|
+
|
|
375
|
+
# Volume activity.
|
|
376
|
+
name_volume_activity = "Volume activity"
|
|
377
|
+
|
|
378
|
+
# Transit strike.
|
|
379
|
+
name_transit_strike = "Transit strike"
|
|
380
|
+
|
|
381
|
+
# Back office work load.
|
|
382
|
+
name_back_office_work_load = "Back office work load"
|
|
383
|
+
|
|
384
|
+
# Snowstorm.
|
|
385
|
+
name_snowstorm = "Snowstorm"
|
|
386
|
+
|
|
387
|
+
# Shortened hours following market break.
|
|
388
|
+
name_shortened_hours_following_market_break = "Shortened hours following market break"
|
|
389
|
+
|
|
188
390
|
special_public_holidays = {
|
|
391
|
+
1885: (AUG, 8, "Funeral of former President Ulysses S. Grant"),
|
|
392
|
+
1887: (
|
|
393
|
+
(JUL, 2, name_saturday_before_independence_day),
|
|
394
|
+
(DEC, 24, name_saturday_before_christmas_day),
|
|
395
|
+
),
|
|
189
396
|
1888: (
|
|
190
|
-
(MAR, 12,
|
|
191
|
-
(MAR, 13,
|
|
192
|
-
(
|
|
397
|
+
(MAR, 12, name_blizzard_of_1888),
|
|
398
|
+
(MAR, 13, name_blizzard_of_1888),
|
|
399
|
+
(SEP, 1, name_saturday_before_labor_day),
|
|
400
|
+
(NOV, 30, "Friday after Thanksgiving Day"),
|
|
193
401
|
),
|
|
194
402
|
1889: (
|
|
195
|
-
(APR, 29,
|
|
196
|
-
(APR, 30,
|
|
197
|
-
(MAY, 1,
|
|
403
|
+
(APR, 29, name_centennial_of_gw_inauguration),
|
|
404
|
+
(APR, 30, name_centennial_of_gw_inauguration),
|
|
405
|
+
(MAY, 1, name_centennial_of_gw_inauguration),
|
|
198
406
|
),
|
|
407
|
+
1890: (JUL, 5, name_saturday_after_independence_day),
|
|
408
|
+
1891: (DEC, 26, name_saturday_after_christmas_day),
|
|
199
409
|
1892: (
|
|
410
|
+
(JUL, 2, name_saturday_before_independence_day),
|
|
200
411
|
(OCT, 12, name_columbian_celebration),
|
|
201
412
|
(OCT, 21, name_columbian_celebration),
|
|
413
|
+
(OCT, 22, name_columbian_celebration),
|
|
202
414
|
),
|
|
203
415
|
1893: (APR, 27, name_columbian_celebration),
|
|
416
|
+
1896: (DEC, 26, name_saturday_after_christmas_day),
|
|
204
417
|
1897: (APR, 27, "Grant's Birthday"),
|
|
205
|
-
1898: (
|
|
418
|
+
1898: (
|
|
419
|
+
(MAY, 4, "Charter Day"),
|
|
420
|
+
(JUL, 2, name_saturday_before_independence_day),
|
|
421
|
+
(AUG, 20, "Welcome of naval commanders"),
|
|
422
|
+
(SEP, 3, name_saturday_before_labor_day),
|
|
423
|
+
(DEC, 24, name_saturday_before_christmas_day),
|
|
424
|
+
),
|
|
206
425
|
1899: (
|
|
426
|
+
(FEB, 11, "Saturday before Lincoln's Birthday"),
|
|
207
427
|
(MAY, 29, "Monday before Decoration Day"),
|
|
208
428
|
(JUL, 3, "Monday before Independence Day"),
|
|
209
|
-
(SEP, 29,
|
|
429
|
+
(SEP, 29, name_admiral_dewey_celebration),
|
|
430
|
+
(SEP, 30, name_admiral_dewey_celebration),
|
|
431
|
+
(NOV, 25, "Funeral of Vice-President Garret A. Hobart"),
|
|
432
|
+
),
|
|
433
|
+
1900: (
|
|
434
|
+
(APR, 14, name_saturday_after_good_friday),
|
|
435
|
+
(SEP, 1, name_saturday_before_labor_day),
|
|
436
|
+
(DEC, 24, name_saturday_before_christmas_day),
|
|
210
437
|
),
|
|
211
|
-
1900: (DEC, 24, name_christmas_eve),
|
|
212
438
|
1901: (
|
|
439
|
+
(FEB, 2, "Funeral of Queen Victoria of England"),
|
|
440
|
+
(FEB, 23, name_saturday_after_washingtons_birthday),
|
|
441
|
+
(APR, 6, name_saturday_after_good_friday),
|
|
442
|
+
(APR, 27, "Moved to temporary quarters in Produce Exchange"),
|
|
443
|
+
(MAY, 11, "Enlarged temporary quarters in Produce Exchange"),
|
|
213
444
|
(JUL, 5, "Friday after Independence Day"),
|
|
214
|
-
(
|
|
445
|
+
(JUL, 6, name_saturday_after_independence_day),
|
|
446
|
+
(AUG, 31, name_saturday_before_labor_day),
|
|
447
|
+
(SEP, 14, "Death of President William McKinley"),
|
|
448
|
+
(SEP, 19, "Funeral of President William McKinley"),
|
|
449
|
+
),
|
|
450
|
+
1902: (
|
|
451
|
+
(MAR, 29, name_saturday_after_good_friday),
|
|
452
|
+
(MAY, 31, name_saturday_after_decoration_day),
|
|
453
|
+
(JUL, 5, name_saturday_after_independence_day),
|
|
454
|
+
(AUG, 9, "Coronation of King Edward VII of England"),
|
|
455
|
+
(AUG, 30, name_saturday_before_labor_day),
|
|
456
|
+
),
|
|
457
|
+
1903: (
|
|
458
|
+
(FEB, 21, "Saturday before Washington's Birthday"),
|
|
459
|
+
(APR, 11, name_saturday_after_good_friday),
|
|
460
|
+
(APR, 22, "Opening of new NYSE building"),
|
|
461
|
+
(SEP, 5, name_saturday_before_labor_day),
|
|
462
|
+
(DEC, 26, name_saturday_after_christmas_day),
|
|
463
|
+
),
|
|
464
|
+
1904: (
|
|
465
|
+
(MAY, 28, name_saturday_before_decoration_day),
|
|
466
|
+
(JUL, 2, name_saturday_before_independence_day),
|
|
467
|
+
(SEP, 3, name_saturday_before_labor_day),
|
|
468
|
+
(DEC, 24, name_saturday_before_christmas_day),
|
|
469
|
+
),
|
|
470
|
+
1905: (APR, 22, name_saturday_after_good_friday),
|
|
471
|
+
1907: (
|
|
472
|
+
(FEB, 23, name_saturday_after_washingtons_birthday),
|
|
473
|
+
(MAR, 30, name_saturday_after_good_friday),
|
|
474
|
+
(AUG, 31, name_saturday_before_labor_day),
|
|
475
|
+
),
|
|
476
|
+
1908: (
|
|
477
|
+
(APR, 18, name_saturday_after_good_friday),
|
|
478
|
+
(SEP, 5, name_saturday_before_labor_day),
|
|
479
|
+
(DEC, 26, name_saturday_after_christmas_day),
|
|
480
|
+
),
|
|
481
|
+
1909: (
|
|
482
|
+
(FEB, 13, "Saturday after Lincoln's Birthday"),
|
|
483
|
+
(APR, 10, name_saturday_after_good_friday),
|
|
484
|
+
(MAY, 29, name_saturday_before_decoration_day),
|
|
485
|
+
(JUL, 3, name_saturday_before_independence_day),
|
|
486
|
+
(SEP, 4, name_saturday_before_labor_day),
|
|
487
|
+
(SEP, 25, "Reception Day of the Hudson-Fulton Celebration"),
|
|
488
|
+
),
|
|
489
|
+
1910: (
|
|
490
|
+
(MAR, 26, name_saturday_after_good_friday),
|
|
491
|
+
(MAY, 28, name_saturday_before_decoration_day),
|
|
492
|
+
(JUL, 2, name_saturday_before_independence_day),
|
|
493
|
+
(SEP, 3, name_saturday_before_labor_day),
|
|
494
|
+
(DEC, 24, name_saturday_before_christmas_day),
|
|
495
|
+
),
|
|
496
|
+
1911: (
|
|
497
|
+
(APR, 15, name_saturday_after_good_friday),
|
|
498
|
+
(SEP, 2, name_saturday_before_labor_day),
|
|
499
|
+
(DEC, 23, name_saturday_before_christmas_day),
|
|
500
|
+
),
|
|
501
|
+
1912: (
|
|
502
|
+
(AUG, 31, name_saturday_before_labor_day),
|
|
503
|
+
(NOV, 2, "Funeral of Vice-President James S. Sherman"),
|
|
504
|
+
),
|
|
505
|
+
1913: (
|
|
506
|
+
(MAR, 22, name_saturday_after_good_friday),
|
|
507
|
+
(MAY, 31, name_saturday_after_decoration_day),
|
|
508
|
+
(JUL, 5, name_saturday_after_independence_day),
|
|
509
|
+
(AUG, 30, name_saturday_before_labor_day),
|
|
510
|
+
),
|
|
511
|
+
1916: (DEC, 30, "Saturday before New Year's Day"),
|
|
512
|
+
1917: (
|
|
513
|
+
(JUN, 5, name_draft_registration_day),
|
|
514
|
+
(AUG, 4, "Heat"),
|
|
515
|
+
(SEP, 1, name_saturday_before_labor_day),
|
|
516
|
+
(OCT, 13, name_saturday_after_columbus_day),
|
|
215
517
|
),
|
|
216
|
-
1903: (APR, 22, "Opening of new NYSE building"),
|
|
217
|
-
1917: (JUN, 5, "Draft Registration Day"),
|
|
218
518
|
1918: (
|
|
219
519
|
(JAN, 28, name_heatless_day),
|
|
220
520
|
(FEB, 4, name_heatless_day),
|
|
221
521
|
(FEB, 11, name_heatless_day),
|
|
222
|
-
(SEP, 12,
|
|
223
|
-
(NOV, 11, "Armistice
|
|
522
|
+
(SEP, 12, name_draft_registration_day),
|
|
523
|
+
(NOV, 11, "Armistice signed"),
|
|
224
524
|
),
|
|
225
525
|
1919: (
|
|
226
|
-
(MAR, 25, "Homecoming
|
|
227
|
-
(MAY, 6, "Parade
|
|
228
|
-
(
|
|
526
|
+
(MAR, 25, "Homecoming of 27th Division"),
|
|
527
|
+
(MAY, 6, "Parade of 77th Division"),
|
|
528
|
+
(MAY, 31, name_saturday_after_decoration_day),
|
|
529
|
+
(JUL, 5, name_saturday_after_independence_day),
|
|
530
|
+
(JUL, 19, "Heat and to allow offices to catch up on work"),
|
|
531
|
+
(AUG, 2, name_to_catch_up),
|
|
532
|
+
(AUG, 16, name_to_catch_up),
|
|
533
|
+
(AUG, 30, name_saturday_before_labor_day),
|
|
534
|
+
(SEP, 10, "Return of General John J. Pershing"),
|
|
535
|
+
),
|
|
536
|
+
1920: (
|
|
537
|
+
(APR, 3, name_saturday_after_good_friday),
|
|
538
|
+
(MAY, 1, "Many firms changed office locations"),
|
|
539
|
+
(JUL, 3, name_saturday_before_independence_day),
|
|
540
|
+
(SEP, 4, name_saturday_before_labor_day),
|
|
229
541
|
),
|
|
542
|
+
1921: (
|
|
543
|
+
(MAY, 28, name_saturday_before_decoration_day),
|
|
544
|
+
(JUL, 2, name_saturday_before_independence_day),
|
|
545
|
+
(SEP, 3, name_saturday_before_labor_day),
|
|
546
|
+
(NOV, 11, "Veteran's Day"),
|
|
547
|
+
),
|
|
548
|
+
1922: (DEC, 23, name_saturday_before_christmas_day),
|
|
230
549
|
1923: (
|
|
231
550
|
(AUG, 3, "Death of President Warren G. Harding"),
|
|
232
|
-
(AUG, 10, "
|
|
551
|
+
(AUG, 10, "Funeral of President Warren G. Harding"),
|
|
552
|
+
),
|
|
553
|
+
1924: (MAY, 31, name_saturday_after_decoration_day),
|
|
554
|
+
1925: (DEC, 26, name_saturday_after_christmas_day),
|
|
555
|
+
1926: (
|
|
556
|
+
(MAY, 29, name_saturday_before_decoration_day),
|
|
557
|
+
(JUL, 3, name_saturday_before_independence_day),
|
|
558
|
+
(SEP, 4, name_saturday_before_labor_day),
|
|
559
|
+
),
|
|
560
|
+
1927: (JUN, 13, "Parade for Colonel Charles A. Lindbergh"),
|
|
561
|
+
1928: (
|
|
562
|
+
(APR, 7, name_heavy_volume_catch_up),
|
|
563
|
+
(APR, 21, name_heavy_volume_catch_up),
|
|
564
|
+
(MAY, 5, name_heavy_volume_catch_up),
|
|
565
|
+
(MAY, 12, name_heavy_volume_catch_up),
|
|
566
|
+
(MAY, 19, name_heavy_volume_catch_up),
|
|
567
|
+
(MAY, 26, name_heavy_volume_catch_up),
|
|
568
|
+
(NOV, 24, name_heavy_volume_catch_up),
|
|
233
569
|
),
|
|
234
|
-
1927: (JUN, 13, "Parade for Colonel Charles Lindbergh"),
|
|
235
570
|
1929: (
|
|
571
|
+
(FEB, 9, name_heavy_volume_catch_up),
|
|
572
|
+
(FEB, 23, name_saturday_after_washingtons_birthday),
|
|
573
|
+
(MAR, 30, name_saturday_after_good_friday),
|
|
574
|
+
(AUG, 31, name_saturday_before_labor_day),
|
|
236
575
|
(NOV, 1, name_catch_up_day),
|
|
576
|
+
(NOV, 2, name_catch_up_day),
|
|
577
|
+
(NOV, 9, name_catch_up_day),
|
|
578
|
+
(NOV, 16, name_catch_up_day),
|
|
579
|
+
(NOV, 23, name_catch_up_day),
|
|
237
580
|
(NOV, 29, name_catch_up_day),
|
|
581
|
+
(NOV, 30, name_catch_up_day),
|
|
582
|
+
),
|
|
583
|
+
1930: (
|
|
584
|
+
(APR, 19, name_saturday_after_good_friday),
|
|
585
|
+
(MAY, 31, name_saturday_after_decoration_day),
|
|
586
|
+
(JUL, 5, name_saturday_after_independence_day),
|
|
587
|
+
(AUG, 30, name_saturday_before_labor_day),
|
|
588
|
+
),
|
|
589
|
+
1931: (
|
|
590
|
+
(SEP, 5, name_saturday_before_labor_day),
|
|
591
|
+
(DEC, 26, name_saturday_after_christmas_day),
|
|
238
592
|
),
|
|
593
|
+
1932: (JUL, 2, name_saturday_before_independence_day),
|
|
239
594
|
1933: (
|
|
240
|
-
(
|
|
241
|
-
(MAR,
|
|
242
|
-
(MAR,
|
|
243
|
-
(MAR,
|
|
244
|
-
(MAR,
|
|
245
|
-
(MAR,
|
|
246
|
-
(MAR,
|
|
595
|
+
(JAN, 7, "Funeral of former President Calvin Coolidge"),
|
|
596
|
+
(MAR, 4, "State Banking Holiday"),
|
|
597
|
+
(MAR, 6, name_national_banking_holiday),
|
|
598
|
+
(MAR, 7, name_national_banking_holiday),
|
|
599
|
+
(MAR, 8, name_national_banking_holiday),
|
|
600
|
+
(MAR, 9, name_national_banking_holiday),
|
|
601
|
+
(MAR, 10, name_national_banking_holiday),
|
|
602
|
+
(MAR, 11, name_national_banking_holiday),
|
|
603
|
+
(MAR, 13, name_national_banking_holiday),
|
|
604
|
+
(MAR, 14, name_national_banking_holiday),
|
|
605
|
+
(JUL, 28, name_volume_activity),
|
|
606
|
+
(AUG, 5, name_volume_activity),
|
|
607
|
+
(AUG, 12, name_volume_activity),
|
|
608
|
+
(AUG, 19, name_volume_activity),
|
|
609
|
+
(AUG, 26, name_volume_activity),
|
|
610
|
+
(SEP, 2, name_volume_activity),
|
|
611
|
+
),
|
|
612
|
+
1936: (DEC, 26, name_saturday_after_christmas_day),
|
|
613
|
+
1937: (
|
|
614
|
+
(MAY, 29, name_saturday_before_decoration_day),
|
|
615
|
+
(JUL, 3, name_saturday_before_independence_day),
|
|
247
616
|
),
|
|
248
617
|
1945: (
|
|
249
|
-
(
|
|
250
|
-
(AUG,
|
|
618
|
+
(APR, 14, "National Day of Mourning for President Franklin D. Roosevelt"),
|
|
619
|
+
(AUG, 15, name_vj_day),
|
|
620
|
+
(AUG, 16, name_vj_day),
|
|
621
|
+
(OCT, 13, name_saturday_after_columbus_day),
|
|
622
|
+
(OCT, 27, "Navy Day"),
|
|
251
623
|
(DEC, 24, name_christmas_eve),
|
|
252
624
|
),
|
|
625
|
+
1946: (
|
|
626
|
+
(FEB, 23, name_saturday_after_washingtons_birthday),
|
|
627
|
+
(MAY, 25, "Railroad strike"),
|
|
628
|
+
),
|
|
629
|
+
1948: (JAN, 3, "Severe weather conditions"),
|
|
630
|
+
1949: (DEC, 24, name_christmas_eve),
|
|
631
|
+
1950: (DEC, 23, "Saturday before Christmas Eve"),
|
|
253
632
|
1954: (DEC, 24, name_christmas_eve),
|
|
254
633
|
1956: (DEC, 24, name_christmas_eve),
|
|
255
634
|
1958: (DEC, 26, "Day after Christmas"),
|
|
256
635
|
1961: (MAY, 29, "Day before Decoration Day"),
|
|
257
|
-
1963: (NOV, 25, "
|
|
636
|
+
1963: (NOV, 25, "Funeral of President John F. Kennedy"),
|
|
258
637
|
1965: (DEC, 24, name_christmas_eve),
|
|
259
638
|
1968: (
|
|
260
|
-
(
|
|
261
|
-
(
|
|
639
|
+
(FEB, 12, "Lincoln's Birthday"),
|
|
640
|
+
(APR, 9, "National Day of Mourning for Martin Luther King, Jr."),
|
|
641
|
+
(JUL, 5, name_day_after_independence_day),
|
|
262
642
|
),
|
|
263
643
|
1969: (
|
|
264
644
|
(FEB, 10, "Heavy Snow"),
|
|
265
|
-
(MAR, 31, "
|
|
266
|
-
(JUL, 21, "National Participation
|
|
645
|
+
(MAR, 31, "Funeral of former President Dwight D. Eisenhower"),
|
|
646
|
+
(JUL, 21, "National Day of Participation for the Lunar Exploration"),
|
|
267
647
|
),
|
|
268
|
-
1972: (DEC, 28, "
|
|
269
|
-
1973: (JAN, 25, "
|
|
648
|
+
1972: (DEC, 28, "Funeral of former President Harry S. Truman"),
|
|
649
|
+
1973: (JAN, 25, "Funeral of former President Lyndon B. Johnson"),
|
|
270
650
|
1977: (JUL, 14, "Blackout in New York City"),
|
|
271
651
|
1985: (SEP, 27, "Hurricane Gloria"),
|
|
272
|
-
1994: (APR, 27, "
|
|
652
|
+
1994: (APR, 27, "Funeral of former President Richard M. Nixon"),
|
|
273
653
|
2001: (
|
|
274
|
-
(SEP, 11,
|
|
275
|
-
(SEP, 12,
|
|
276
|
-
(SEP, 13,
|
|
277
|
-
(SEP, 14,
|
|
654
|
+
(SEP, 11, name_closed_following_wtc_attacks),
|
|
655
|
+
(SEP, 12, name_closed_following_wtc_attacks),
|
|
656
|
+
(SEP, 13, name_closed_following_wtc_attacks),
|
|
657
|
+
(SEP, 14, name_closed_following_wtc_attacks),
|
|
278
658
|
),
|
|
279
659
|
2004: (JUN, 11, "National Day of Mourning for former President Ronald Reagan"),
|
|
280
660
|
2007: (JAN, 2, "National Day of Mourning for former President Gerald R. Ford"),
|
|
@@ -285,3 +665,125 @@ class NewYorkStockExchangeStaticHolidays:
|
|
|
285
665
|
2018: (DEC, 5, "National Day of Mourning for former President George H. W. Bush"),
|
|
286
666
|
2025: (JAN, 9, "National Day of Mourning for former President Jimmy Carter"),
|
|
287
667
|
}
|
|
668
|
+
|
|
669
|
+
# Late opens and partial suspensions of work during the day are not implemented, such as:
|
|
670
|
+
# * May 20, 1910 (Fri) - Closed from 10:00am to 12:00pm. Funeral of King Edward VII.
|
|
671
|
+
# * Apr. 14, 1913 (Mon) - Closed from 10:00am to 12:00pm. Funeral of J. P. Morgan.
|
|
672
|
+
# * Sept. 22, 1913 (Mon) - Closed from 10:00am to 12:00pm. Funeral of
|
|
673
|
+
# Mayor William J. Gaynor.
|
|
674
|
+
# * July 11, 1918 (Thu) - Closed from 11:00am to 12:00pm. Funeral of former Mayor
|
|
675
|
+
# John Purroy Mitchell.
|
|
676
|
+
# * Aug. 8, 1923 (Wed) - Closed from 11:00am to 12:30pm during funeral services for President
|
|
677
|
+
# Warren G. Harding in Washington, DC.
|
|
678
|
+
# * Jan. 28, 1936 (Tue) - Closed from 10:00 to 11:00am. Funeral of King George V of England.
|
|
679
|
+
# * May 18, 1942 (Mon) - Closed from 12:00pm to 1:00pm. NYSE 150th anniversary.
|
|
680
|
+
# * June 19, 1945 (Tue) - Closed from 11:00am to 1:00pm. Parade for General Eisenhower.
|
|
681
|
+
# * Apr. 20, 1951 (Fri) - Closed from 11:00am to 1:00pm. Parade for General MacArthur.
|
|
682
|
+
|
|
683
|
+
special_half_day_holidays = {
|
|
684
|
+
1908: (JUN, 26, close_1pm_label % "Funeral of former President Grover Cleveland"),
|
|
685
|
+
1910: (MAY, 7, close_11am_label % "Death of King Edward VII of England"),
|
|
686
|
+
1917: (
|
|
687
|
+
(AUG, 29, close_12pm_label % "Parade of National Guard"),
|
|
688
|
+
(OCT, 24, close_12pm_label % name_liberty_day),
|
|
689
|
+
),
|
|
690
|
+
1918: (
|
|
691
|
+
(APR, 26, close_12pm_label % name_liberty_day),
|
|
692
|
+
(NOV, 7, close_2_30pm_label % "False armistice report"),
|
|
693
|
+
),
|
|
694
|
+
1919: (JAN, 7, close_12_30pm_label % "Funeral of former President Theodore Roosevelt"),
|
|
695
|
+
1920: (SEP, 16, close_12pm_label % "Wall Street explosion"),
|
|
696
|
+
1924: (FEB, 6, close_12_30pm_label % "Funeral of former President Woodrow Wilson"),
|
|
697
|
+
1925: (
|
|
698
|
+
SEP,
|
|
699
|
+
18,
|
|
700
|
+
close_2_30pm_label % "Funeral of former NYSE president Seymour L. Cromwell",
|
|
701
|
+
),
|
|
702
|
+
1928: (
|
|
703
|
+
(MAY, 21, close_2pm_label % name_heavy_volume_catch_up),
|
|
704
|
+
(MAY, 22, close_2pm_label % name_heavy_volume_catch_up),
|
|
705
|
+
(MAY, 23, close_2pm_label % name_heavy_volume_catch_up),
|
|
706
|
+
(MAY, 24, close_2pm_label % name_heavy_volume_catch_up),
|
|
707
|
+
(MAY, 25, close_2pm_label % name_heavy_volume_catch_up),
|
|
708
|
+
),
|
|
709
|
+
1929: (
|
|
710
|
+
(NOV, 6, close_1pm_label % name_catch_up_day),
|
|
711
|
+
(NOV, 7, close_1pm_label % name_catch_up_day),
|
|
712
|
+
(NOV, 8, close_1pm_label % name_catch_up_day),
|
|
713
|
+
(NOV, 11, close_1pm_label % name_catch_up_day),
|
|
714
|
+
(NOV, 12, close_1pm_label % name_catch_up_day),
|
|
715
|
+
(NOV, 13, close_1pm_label % name_catch_up_day),
|
|
716
|
+
(NOV, 14, close_1pm_label % name_catch_up_day),
|
|
717
|
+
(NOV, 15, close_1pm_label % name_catch_up_day),
|
|
718
|
+
(NOV, 18, close_1pm_label % name_catch_up_day),
|
|
719
|
+
(NOV, 19, close_1pm_label % name_catch_up_day),
|
|
720
|
+
(NOV, 20, close_1pm_label % name_catch_up_day),
|
|
721
|
+
(NOV, 21, close_1pm_label % name_catch_up_day),
|
|
722
|
+
(NOV, 22, close_1pm_label % name_catch_up_day),
|
|
723
|
+
),
|
|
724
|
+
1930: (MAR, 11, close_12_30pm_label % "Funeral of former President William Howard Taft"),
|
|
725
|
+
1933: (SEP, 13, close_12pm_label % "NRA demonstration"),
|
|
726
|
+
1951: (DEC, 24, close_1pm_label % name_christmas_eve),
|
|
727
|
+
1963: (NOV, 22, "Assassination of President John F. Kennedy (markets close at 2:07pm)"),
|
|
728
|
+
1964: (OCT, 23, close_2pm_label % "Funeral of former President Herbert C. Hoover"),
|
|
729
|
+
1966: (
|
|
730
|
+
(JAN, 6, close_2pm_label % name_transit_strike),
|
|
731
|
+
(JAN, 7, close_2pm_label % name_transit_strike),
|
|
732
|
+
(JAN, 10, close_2pm_label % name_transit_strike),
|
|
733
|
+
(JAN, 11, close_2pm_label % name_transit_strike),
|
|
734
|
+
(JAN, 12, close_2pm_label % name_transit_strike),
|
|
735
|
+
(JAN, 13, close_2pm_label % name_transit_strike),
|
|
736
|
+
(JAN, 14, close_2pm_label % name_transit_strike),
|
|
737
|
+
),
|
|
738
|
+
1967: (
|
|
739
|
+
(AUG, 8, close_2pm_label % name_back_office_work_load),
|
|
740
|
+
(AUG, 9, close_2pm_label % name_back_office_work_load),
|
|
741
|
+
(AUG, 10, close_2pm_label % name_back_office_work_load),
|
|
742
|
+
(AUG, 11, close_2pm_label % name_back_office_work_load),
|
|
743
|
+
(AUG, 14, close_2pm_label % name_back_office_work_load),
|
|
744
|
+
(AUG, 15, close_2pm_label % name_back_office_work_load),
|
|
745
|
+
(AUG, 16, close_2pm_label % name_back_office_work_load),
|
|
746
|
+
(AUG, 17, close_2pm_label % name_back_office_work_load),
|
|
747
|
+
(AUG, 18, close_2pm_label % name_back_office_work_load),
|
|
748
|
+
),
|
|
749
|
+
1974: (DEC, 24, close_2pm_label % name_christmas_eve),
|
|
750
|
+
1975: (
|
|
751
|
+
(FEB, 12, close_2_30pm_label % name_snowstorm),
|
|
752
|
+
(DEC, 24, close_2pm_label % name_christmas_eve),
|
|
753
|
+
),
|
|
754
|
+
1976: (AUG, 9, close_3pm_label % "Hurricane watch"),
|
|
755
|
+
1978: (FEB, 6, close_2pm_label % name_snowstorm),
|
|
756
|
+
1981: (
|
|
757
|
+
(MAR, 30, "Assassination attempt on President Reagan (markets close at 3:17pm)"),
|
|
758
|
+
(SEP, 9, "Con Edison power failure in lower Manhattan (markets close at 3:28pm)"),
|
|
759
|
+
),
|
|
760
|
+
1987: (
|
|
761
|
+
(OCT, 23, close_2pm_label % name_shortened_hours_following_market_break),
|
|
762
|
+
(OCT, 26, close_2pm_label % name_shortened_hours_following_market_break),
|
|
763
|
+
(OCT, 27, close_2pm_label % name_shortened_hours_following_market_break),
|
|
764
|
+
(OCT, 28, close_2pm_label % name_shortened_hours_following_market_break),
|
|
765
|
+
(OCT, 29, close_2pm_label % name_shortened_hours_following_market_break),
|
|
766
|
+
(OCT, 30, close_2pm_label % name_shortened_hours_following_market_break),
|
|
767
|
+
(NOV, 2, close_2_30pm_label % name_shortened_hours_following_market_break),
|
|
768
|
+
(NOV, 3, close_2_30pm_label % name_shortened_hours_following_market_break),
|
|
769
|
+
(NOV, 4, close_2_30pm_label % name_shortened_hours_following_market_break),
|
|
770
|
+
(NOV, 5, close_3pm_label % name_shortened_hours_following_market_break),
|
|
771
|
+
(NOV, 6, close_3pm_label % name_shortened_hours_following_market_break),
|
|
772
|
+
(NOV, 9, close_3_30pm_label % name_shortened_hours_following_market_break),
|
|
773
|
+
(NOV, 10, close_3_30pm_label % name_shortened_hours_following_market_break),
|
|
774
|
+
(NOV, 11, close_3_30pm_label % name_shortened_hours_following_market_break),
|
|
775
|
+
),
|
|
776
|
+
1990: (DEC, 24, close_2pm_label % name_christmas_eve),
|
|
777
|
+
1991: (DEC, 24, close_2pm_label % name_christmas_eve),
|
|
778
|
+
1992: (
|
|
779
|
+
(NOV, 27, close_2pm_label % "Day after Thanksgiving Day"),
|
|
780
|
+
(DEC, 24, close_2pm_label % name_christmas_eve),
|
|
781
|
+
),
|
|
782
|
+
1994: (FEB, 11, close_2_30pm_label % name_snowstorm),
|
|
783
|
+
1996: (JUL, 5, close_1pm_label % name_day_after_independence_day),
|
|
784
|
+
1997: (DEC, 26, close_1pm_label % name_friday_after_christmas),
|
|
785
|
+
1999: (DEC, 31, close_1pm_label % "New Year's Eve"),
|
|
786
|
+
2002: (JUL, 5, close_1pm_label % name_day_after_independence_day),
|
|
787
|
+
2003: (DEC, 26, close_1pm_label % name_friday_after_christmas),
|
|
788
|
+
2013: (JUL, 3, close_1pm_label % "Day before Independence Day"),
|
|
789
|
+
}
|