Main Content

time2date

Dates from time and frequency

Description

Maturity = time2date(Settle,Times) computes dates corresponding to compounded rate quotes between Settle and time factors.

example

Maturity = time2date(___,Compounding,Basis,EndMonthRule) add additional optional arguments.

example

Examples

collapse all

This example shows how to compute dates from time and frequency.

Settle = datetime(2002,9,1);
Maturity = [datetime(2005,8,31) ; datetime(2006,2,28) ; datetime(2006,6,15) ; datetime(2006,12,31) ];
Compounding = 2;
Basis = 0;
EndMonthRule = 1;
Times = date2time(Settle, Maturity, Compounding, Basis, EndMonthRule)
Times = 4×1

    5.9945
    6.9945
    7.5738
    8.6576

Dates_calc = time2date(Settle, Times, Compounding, Basis, EndMonthRule)
Dates_calc = 4x1 datetime
   31-Aug-2005
   28-Feb-2006
   15-Jun-2006
   31-Dec-2006

Input Arguments

collapse all

Settlement date, specified as a scalar datetime, string, or date character vector.

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

Time factors corresponding to Compounding, specified as an N-by-1 vector.

Data Types: double

(Optional) Rate at which the input zero rates were compounded when annualized, specified as a scalar integer value.

  • If Compounding = 1, 2, 3, 4, 6, 12:

    Disc = (1 + Z/F)^(-T), where F is the compounding frequency, Z is the zero rate, and T is the time in periodic units; for example, T = F is one year.

  • If Compounding = 365:

    Disc = (1 + Z/F)^(-T), where F is the number of days in the basis year and T is a number of days elapsed computed by basis.

  • If Compounding = −1:

    Disc = exp(-T*Z), where T is time in years.

Data Types: double

(Optional) Day-count basis, specified as a scalar or an N-by-1 vector using the following values:

  • 0 = actual/actual

  • 1 = 30/360 (SIA)

  • 2 = actual/360

  • 3 = actual/365

  • 4 = 30/360 (PSA)

  • 5 = 30/360 (ISDA)

  • 6 = 30/360 (European)

  • 7 = actual/365 (Japanese)

  • 8 = actual/actual (ICMA)

  • 9 = actual/360 (ICMA)

  • 10 = actual/365 (ICMA)

  • 11 = 30/360E (ICMA)

  • 12 = actual/365 (ISDA)

  • 13 = BUS/252

For more information, see Basis.

Data Types: double

(Optional) End-of-month rule flag, specified as a scalar or an N-by-1 vector of end-of-month rules.

  • 0 = Ignore rule, meaning that a bond coupon payment date is always the same numerical day of the month.

  • 1 = Set rule on, meaning that a bond coupon payment date is always the last actual day of the month.

Data Types: logical

Output Arguments

collapse all

Maturity dates corresponding to compounded rate quotes between Settle and time factors, returned as a scalar or an N-by-1 vector.

The time2date function is the inverse of date2time.

Version History

Introduced before R2006a

expand all