Documentation

time2date

Dates from time and frequency

Syntax

Dates = time2date(Settle, TFactors, Compounding, Basis,
EndMonthRule)

Arguments

Settle

Settlement date. A vector of serial date numbers or date strings.

TFactors

A vector of time factors corresponding to the compounding value. TFactors must be equal to or greater than zero.

Compounding

(Optional) Scalar value representing the rate at which the input zero rates were compounded when annualized. Default = 2. This argument determines the formula for the discount factors:

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.

Basis

(Optional) Day-count basis of the instrument. A vector of integers.

  • 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/actual (ISDA)

  • 13 = BUS/252

For more information, see basis.

EndMonthRule

(Optional) End-of-month rule. A vector. 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 bond's coupon payment date is always the same numerical day of the month. 1 = set rule on (default), meaning that a bond's coupon payment date is always the last actual day of the month.

Description

Dates = time2date(Settle, TFactors, Compounding, Basis, EndMonthRule) computes dates corresponding to the times occurring beyond the settlement date.

The time2date function is the inverse of date2time.

Examples

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

Settle = '1-Sep-2002';
Dates = datenum(['31-Aug-2005'; '28-Feb-2006'; '15-Jun-2006'; 
                 '31-Dec-2006']);
Compounding = 2;
Basis = 0;
EndMonthRule = 1;
TFactors = date2time(Settle, Dates, Compounding, Basis,... 
                  EndMonthRule)
TFactors =

    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 =

      732555
      732736
      732843
      733042
datestr(Dates_calc)
ans =

31-Aug-2005
28-Feb-2006
15-Jun-2006
31-Dec-2006

See Also

|

Was this topic helpful?