disc2zero
Zero curve given discount curve
Syntax
Description
[
returns a zero curve given a discount curve and its maturity dates. If either inputs
for ZeroRates
,CurveDates
] = disc2zero(DiscRates
,CurveDates
,Settle
)CurveDates
or Settle
are datetime
arrays, the output CurveDates
is returned as datetime
arrays.
[
adds optional name-value pair argumentsZeroRates
,CurveDates
] = disc2zero(___,Name,Value
)
Examples
Given the following discount factors DiscRates
over a set of maturity dates CurveDates
, and a settlement date Settle
:
DiscRates = [0.9996 0.9947 0.9896 0.9866 0.9826 0.9786 0.9745 0.9665 0.9552 0.9466]; CurveDates = [datetime(2000,11,6) datetime(2000,12,11) datetime(2001,1,15) datetime(2001,2,5) datetime(2001,3,4) datetime(2001,4,2) datetime(2001,4,30) datetime(2001,6,25) datetime(2001,9,4) datetime(2001,11,12)]; Settle = datetime(2000,11,3);
Set daily compounding for the output zero curve, on an actual/365 basis.
Compounding = 365; Basis = 3;
Execute the function disc2zero
which returns the zero curve ZeroRates
at the maturity dates CurveDates
.
[ZeroRates, CurveDates] = disc2zero(DiscRates, CurveDates, Settle, Compounding, Basis)
ZeroRates = 10×1
0.0487
0.0510
0.0523
0.0524
0.0530
0.0526
0.0530
0.0532
0.0549
0.0536
CurveDates = 10×1 datetime
06-Nov-2000
11-Dec-2000
15-Jan-2001
05-Feb-2001
04-Mar-2001
02-Apr-2001
30-Apr-2001
25-Jun-2001
04-Sep-2001
12-Nov-2001
For readability, DiscRates
and ZeroRates
are shown here only to the basis point. However, MATLAB® software computed them at full precision. If you enter DiscRates
as shown, ZeroRates
may differ due to rounding.
Input Arguments
Discount factors, specified as a
NDATES
-by-1
column vector of
decimal fractions. In aggregate, the factors in DiscRates
constitute a discount curve for the investment horizon represented by
CurveDates
.
Data Types: double
Maturity dates that correspond to the discount factors in
DiscRates
, specified as a
NDATES
-by-1
column vector using a
datetime array, string array, or date character vectors.
To support existing code, disc2zero
also
accepts serial date numbers as inputs, but they are not recommended.
Data Types: datetime
| string
| char
Common settlement date for the discount rates in
DiscRates
, specified as scalar datetime, string, or
date character vector.
To support existing code, disc2zero
also
accepts serial date numbers as inputs, but they are not recommended.
Data Types: datetime
| string
| char
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN
, where Name
is
the argument name and Value
is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Before R2021a, use commas to separate each name and value, and enclose
Name
in quotes.
Example: [ZeroRates,CurveDates] =
disc2zero(DiscRates,CurveDates,Settle,'Compounding',6,'Basis',9)
Rate at which the output zero rates are compounded when annualized, specified as a numeric value. Allowed values are:
0
— Simple interest (no compounding)1
— Annual compounding2
— Semiannual compounding (default)3
— Compounding three times per year4
— Quarterly compounding6
— Bimonthly compounding12
— Monthly compounding365
— Daily compounding-1
— Continuous compounding
Data Types: double
Day-count basis used for annualizing the output zero rates, specified as a numeric value. Allowed values are:
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
Output Arguments
Zero curve for the investment horizon represented by
CurveDates
, returned as a
NDATES
-by-1
column vector of
decimal fractions. The zero rates are the yields to maturity on theoretical
zero-coupon bonds.
Maturity dates that correspond to the ZeroRates
,
returned as a NDATES
-by-1
column
vector. This vector is the same as the input vector
CurveDates
, but the output is sorted by ascending
maturity. If either inputs for CurveDates
or
Settle
are datetime arrays, the output
CurveDates
is returned as datetime arrays.
Version History
Introduced before R2006aAlthough disc2zero
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.
The specification of optional input arguments has changed. While the previous
ordered inputs syntax is still supported, it may no longer be supported in a future
release. Use the optional name-value pair inputs: Compounding
and Basis
.
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.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- 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)