# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English verison of the page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

# time2date

Dates from time and frequency

## Syntax

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

## 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 = '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 = 4x11 char array '31-Aug-2005' '28-Feb-2006' '15-Jun-2006' '31-Dec-2006' ```

Show `time2date` support for `datetime` input for `Settle`.

```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); Dates_calc = time2date(datetime(Settle,'Locale','en_US'), TFactors,... Compounding, Basis, EndMonthRule)```
```Dates_calc = 4x1 datetime array 31-Aug-2005 28-Feb-2006 15-Jun-2006 31-Dec-2006 ```

## Input Arguments

collapse all

Settlement date, specified as a serial date number, date character vector, or datetime array.

Data Types: `double` | `char` | `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

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 datetime arrays.

Data Types: `double` | `datetime`