Main Content

nyseclosures

New York Stock Exchange closures from 1885 to 2070

Description

Closures = nyseclosures returns a vector of dates for all known or anticipated closures from January 1, 1885 to December 31, 2070.

Since the New York Stock Exchange was open on Saturdays before September 29, 1952, exact closures from 1885 to 1952 are based on a 6-day workweek. nyseclosures contains all holiday and special non-trading days for the New York Stock Exchange from 1885 through 2070 based on a six-day work week (always closed on Sundays).

example

[Closures,SatTransition] = nyseclosures(StartDate,EndDate,WorkWeekFormat), using optional input arguments, returns a vector of dates corresponding to market closures between StartDate and EndDate, inclusive.

Since the New York Stock Exchange was open on Saturdays before September 29, 1952, exact closures from 1885 to 1952 are based on a 6-day workweek. nyseclosures contains all holiday and special non-trading days for the New York Stock Exchange from 1885 through 2070 based on a six-day work week (always closed on Sundays). Use WorkWeekFormat to modify the list of dates.

example

Examples

collapse all

Find the NYSE closures for 1899:

datestr(nyseclosures('1-jan-1899','31-dec-1899'),'dd-mmm-yyyy ddd')
ans = 16x15 char array
    '02-Jan-1899 Mon'
    '11-Feb-1899 Sat'
    '13-Feb-1899 Mon'
    '22-Feb-1899 Wed'
    '31-Mar-1899 Fri'
    '29-May-1899 Mon'
    '30-May-1899 Tue'
    '03-Jul-1899 Mon'
    '04-Jul-1899 Tue'
    '04-Sep-1899 Mon'
    '29-Sep-1899 Fri'
    '30-Sep-1899 Sat'
    '07-Nov-1899 Tue'
    '25-Nov-1899 Sat'
    '30-Nov-1899 Thu'
    '25-Dec-1899 Mon'

Find the NYSE closures for 1899 using a datetime array:

[Closures,SatTransition] = nyseclosures(datetime(1899,1,1),datetime(1899,6,30))
Closures = 7x1 datetime
   02-Jan-1899
   11-Feb-1899
   13-Feb-1899
   22-Feb-1899
   31-Mar-1899
   29-May-1899
   30-May-1899

SatTransition = datetime
   29-Sep-1952

Find the NYSE closure dates using the 'Archaic' value for WorkWeekFormat:

nyseclosures(datetime(1952,9,1),datetime(1952,10,31),'a')
ans = 10x1 datetime
   01-Sep-1952
   06-Sep-1952
   13-Sep-1952
   20-Sep-1952
   27-Sep-1952
   04-Oct-1952
   11-Oct-1952
   13-Oct-1952
   18-Oct-1952
   25-Oct-1952

The exchange was closed on Saturdays for much of 1952 before the official transition to a 5-day workweek.

Input Arguments

collapse all

Start date, specified as a scalar or a vector using a datetime array, string array, or date character vectors.

To support existing code, nyseclosures also accepts serial date numbers as inputs, but they are not recommended.

Data Types: char | string | datetime

End date, specified as a scalar or a vector using a datetime array, string array, or date character vectors.

To support existing code, nyseclosures also accepts serial date numbers as inputs, but they are not recommended.

Data Types: char | string | datetime

Method to handle the workweek, specified using a date character vector with values 'Modern', 'Implicit', or 'Archaic'. This function accepts the first letter for each method as input and is not case-sensitive. Acceptable values are:

  • 'Modern' — 5-day workweek with all Saturday trading days removed.

  • 'Implicit' — 6-day workweek until 1952 and 5-day week afterward (no need to exclude Saturdays).

  • 'Archaic' — 6-day workweek throughout and Saturdays treated as closures after 1952.

Data Types: char

Output Arguments

collapse all

Market closures between the StartDate and EndDate, inclusive, returned as a vector of dates.

If StartDate or EndDate are all either strings or date character vectors, both Closures and SatTransition are returned as serial date numbers. Use the function datetime to convert serial date numbers to formatted datetime arrays. If either StartDate or EndDate are datetime arrays, both Closures and SatTransition are returned as datetime arrays.

If both StartDate and EndDate are not specified or are empty, Closures contains all known or anticipated closures from January 1, 1885 to December 31, 2070 based on a WorkWeekFormat of 'implicit'.

Date of transition for the New York Stock Exchange from a 6-day workweek to a 5-day workweek, returned as the date September 29, 1952 (serial date number 713226).

If StartDate or EndDate are all either strings or date character vectors, both Closures and SatTransition are returned as serial date numbers. Use the function datetime to convert serial date numbers to formatted datetime arrays. If either StartDate or EndDate are datetime arrays, both Closures and SatTransition are returned as datetime arrays.

More About

collapse all

holidays

The holidays function is based on a modern 5-day workweek.

This function contains all holidays and special nontrading days for the New York Stock Exchange from January 1, 1885 to December 31, 2070.

Since the New York Stock Exchange was open on Saturdays before September 29, 1952, exact closures from 1885 to 2070 should include Saturday trading days. To capture these dates, use nyseclosures. The results from holidays and nyseclosures are identical if the WorkWeekFormat in nyseclosures is 'Modern'.

Version History

Introduced before R2006a

expand all