Main Content

time2date

Dates from time and frequency

Description

Dates = time2date(Settle,TFactors) computes Dates corresponding to compounded rate quotes between Settle and TFactors. time2date is the inverse of date2time.

Dates = time2date(___,Compounding,Basis,EndMonthRule) computes Dates corresponding to compounded rate quotes between Settle and TFactors using optional input arguments for Compounding, Basis, and EndMonthRule. time2date is the inverse of date2time.

Examples

collapse all

Show that date2time and time2date are the inverse of each other. First compute the time factors using date2time.

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

    5.9945
    6.9945
    7.5738
    8.6576

Now use the calculated TFactors in time2date and compare the calculated dates with the original set.

Dates_calc = time2date(Settle, TFactors, 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.

Data Types: char | string | datetime

Time factors, corresponding to the compounding value, specified as a vector. TFactors must be equal to or greater than zero.

Data Types: double

Rate at which input zero rates are compounded when annualized, specified as a scalar with numeric values of: 0, 1, 2, 3, 4, 5, 6, 12, 365, or –1. Allowed values are defined as:

  • 0 — Simple interest (no compounding)

  • 1 — Annual compounding

  • 2 — Semiannual compounding (default)

  • 3 — Compounding three times per year

  • 4 — Quarterly compounding

  • 6 — Bimonthly compounding

  • 12 — Monthly compounding

  • 365 — Daily compounding

  • -1 — Continuous compounding

The optional Compounding argument determines the formula for the discount factors (Disc):

  • 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.

  • 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.

  • Compounding = -1

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

Day-count basis, specified as an integer with a value of 0 through 13 or a N-by-1 vector of integers with values 0 through 13.

  • 0 = actual/actual (default)

  • 1 = 30/360 (SIA)

  • 2 = actual/360

  • 3 = actual/365

  • 4 = 30/360 (BMA)

  • 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: single | double

End-of-month rule flag for month having 30 or fewer days, specified as scalar nonnegative integer [0, 1] or a using a N-by-1 vector of values. This rule applies only when Maturity is an end-of-month date for a month having 30 or fewer days.

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

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

Data Types: logical

Output Arguments

collapse all

Dates corresponding to compounded rate quotes between Settle and TFactors, returned as a scalar or a N-by-1 vector using serial date numbers or a datetime array.

Version History

Introduced before R2006a

expand all