date2time
Time and frequency from dates
Syntax
Description
Examples
Time and Frequency from Dates
This example shows how to compute time and frequency from dates.
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
Input Arguments
Settle
— Settlement date
datetime scalar | string scalar | date character vector
Settlement date, specified as a scalar datetime, string, or date character vector.
To support existing code, date2time
also
accepts serial date numbers as inputs, but they are not recommended.
Maturity
— Maturity dates
datetime array | string array | date character vector
Maturity dates, specified as a scalar or an
N
-by-1
vector using a datetime
array, string array, or date character vectors.
To support existing code, date2time
also
accepts serial date numbers as inputs, but they are not recommended.
Compounding
— Rate at which the input zero rates were compounded when annualized
2
(default) | integer with value of 1
, 2
, 3
, 4
, 6
,
12
, 365
, or
-1
(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)
, whereF
is the compounding frequency,Z
is the zero rate, andT
is the time in periodic units; for example,T = F
is one year.If
Compounding
=365
:Disc = (1 + Z/F)^(-T)
, whereF
is the number of days in the basis year andT
is a number of days elapsed computed by basis.If
Compounding
=−1
:Disc = exp(-T*Z)
, whereT
is time in years.
Data Types: double
Basis
— Day-count basis
0
(actual/actual) (default) | integer from 0
to 13
(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
For more information, see Basis.
Data Types: double
EndMonthRule
— End-of-month rule flag
1
(in effect) (default) | nonnegative integer [0,1]
(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
F
— Frequency
numeric
Frequency, returned as a scalar of related compounding frequencies.
Note
To obtain accurate results from this function, the
Basis
and Maturity
arguments must be consistent. If the Maturity
argument contains months that have 31 days, Basis
must be one of the values that allow months to contain more than 30
days; for example, Basis
= 0
,
3
, or 7
.
date2time
is the inverse of time2date
.
Version History
Introduced before R2006aR2022b: Serial date numbers not recommended
Although date2time
supports serial date numbers,
datetime
values are recommended instead. The
datetime
data type provides flexible date and time
formats, storage out to nanosecond precision, and properties to account for time
zones and daylight saving time.
To convert serial date numbers or text to datetime
values, use the datetime
function. For example:
t = datetime(738427.656845093,"ConvertFrom","datenum"); y = year(t)
y = 2021
There are no plans to remove support for serial date number inputs.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)