time2date - Dates from time and frequency

Syntax

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

Arguments

Settle

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

Times

Vector of times corresponding to the compounding value. Times must be equal to or greater than 0.

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 1 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 (PSA)

  • 5 = 30/360 (ISDA)

  • 6 = 30/360 (European)

  • 7 = actual/365 (Japanese)

  • 8 = actual/actual (ISMA)

  • 9 = actual/360 (ISMA)

  • 10 = actual/365 (ISMA)

  • 11 = 30/360E (ISMA)

  • 12 = actual/365 (ISDA)

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, Times, 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;
Times = date2time(Settle, Dates, Compounding, Basis,... 
                  EndMonthRule)

Times =

    5.9945
    6.9945
    7.5738
    8.6576

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

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

cftimes in Financial Toolbox™ documentation

date2time, disc2rate, rate2disc

  


 © 1984-2008- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS