busdays

Business days in serial date format

Syntax

bdates = busdays(sdate, edate, bdmode)
bdates = busdays(sdate, edate, bdmode, holvec)

Arguments

sdate

Start date in string or serial date format.

edate

End date in string or serial date format.

bdmode

(Optional) Frequency of business days:

  • DAILY, Daily, daily, D, d, 1 (default)

  • WEEKLY, Weekly, weekly, W, w, 2

  • MONTHLY, Monthly, monthly, M, m, 3

  • QUARTERLY, Quarterly, quarterly, Q, q, 4

  • SEMIANNUAL, Semiannual, semiannual, S, s, 5

  • ANNUAL, Annual, annual, A, a, 6

Strings must be enclosed in single quotation marks.

holvec

(Optional) Holiday dates vector in string or serial date format. Note that using a holvec value of NaN will use a holiday list that has no dates.

Description

bdates = busdays(sdate, edate, bdmode) generates a vector of business days, bdates, in serial date format between the last business date of the period that contains the start date, and the last business date of period that contains the end date. If holvec is not supplied, the dates are generated based on United States holidays. If you do not supply bdmode, busdays generates a daily vector.

For example:

vec = datestr(busdays('1/2/01','1/9/01','weekly'))
vec =
05-Jan-2001
12-Jan-2001

The end of the week is considered to be a Friday. Between 1/2/01 (Monday) and 1/9/01 (Tuesday) there is only one end-of-week day, 1/5/01 (Friday).

Because 1/9/01 is part of following week, the following Friday (1/12/01) is also reported.

bdates = busdays(sdate, edate, bdmode, holvec) lets you supply a vector of holidays, holvec, used to generate business days. holvec can either be in serial date format or date string format. If you use this syntax, you need to supply the frequency bdmode.

The output, bdates, is a column vector of business dates in serial date format.

Setting holvec to '' (empty string) or [] (empty vector) results in BUSDAYS using a default holiday schedule. The default holiday schedule is the NYSE holiday schedule.

Was this topic helpful?