Annual Date Sequences

Description and Use of the AnnualDateSequence data type
Home 

Business Functions uses a data type called an Annual Date Sequence. This is primarily used:

  • To specify Periods and with DayCount to describe the ACT/ACT (in period) Daycount method when a function is an accruals mode.
  • To specify Periods and with DayCount again to describe how cash payments are made when a function is in cash mode.
  • To specify a series of annually recurring dates in date sequence calculations such as NextDateSeqBD.
What an Annual Date Sequence does is describe a set of dates that recur each and every year. It consists of a range of elements in the form mm.dd. For example:
  • {1.01,4.01,7.01,10.01} describes calendar quarters
  • {1.01,7.01} describes biannual periods.

Date Sequences describing periods paid in arrear

The above date sequence descriptions are fine when you are just describing accruals periods which start on various dates, and you either want them in advance for a cash function, or you don't really care about advance or arrears, such as a function in accruals mode or sequencing function.

An annual date sequence can also how describe payments are made in cash mode (ProjMode=1), whether advance or arrears. Care must be taken here, as will be explained, but in principle:
  • {-1.01,-4.01,-7.01,-10.01} describes calendar quarters in arrears.
  • {-1.01,-7.01} describes biannual periods in arrears.
Note that in payments in arrear the payment is made the day AFTER the accrual period. In the above example, payment occurs on 1st July for the period of accrual 1st January to 30th June.
In general the library adheres to the overall rule of "include the start date, exclude the finishing date", and it does this with arrears periods, too. There is a method of including finish dates in certain circumstances however, see ProjMode and Inclusive Dates.

You can embed a Business Day Switch in an annual date sequence which can specify the Business Day and Date Rolling Convention.