# time2date

Dates from time and frequency

## Syntax

``Maturity = time2date(Settle,Times)``
``Maturity = time2date(___,Compounding,Basis,EndMonthRule)``

## Description

example

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

## 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

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