fwd2zero
Zero curve given forward curve
In R2017b, 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 new optional name-value pair inputs:
                    InputCompounding, InputBasis,
                    OutputCompounding, and
                OutputBasis.
Syntax
Description
[
                returns a zero curve given an implied forward rate curve and its maturity dates. If
                both inputs for ZeroRates,CurveDates] = fwd2zero(ForwardRates,CurveDates,Settle)CurveDates and Settle are
                strings or date character vectors, CurveDates is returned as
                serial date numbers. However, if either of the inputs for
                    CurveDates and Settle are a datetime
                array, CurveDates is returned as a datetime array.
[
                adds optional name-value pair argumentsZeroRates,CurveDates] = fwd2zero(___,Name,Value)
Examples
This example shows how to use datetime inputs compute the zero curve, given an implied forward rate curve over a set of maturity dates, a settlement date, and a compounding rate. 
ForwardRates = [0.0469
                0.0519
                0.0549
                0.0535
                0.0558
                0.0508
                0.0560
                0.0545
                0.0615
                0.0486];
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);
InputCompounding = 1;
InputBasis = 2;
OutputCompounding = 1;
OutputBasis = 2; 
[ZeroRates, CurveDates] = fwd2zero(ForwardRates, CurveDates,...
Settle,'InputCompounding',1,'InputBasis',2,'OutputCompounding',1,'OutputBasis',2)ZeroRates = 10×1
    0.0469
    0.0515
    0.0531
    0.0532
    0.0538
    0.0532
    0.0536
    0.0539
    0.0556
    0.0543
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
Input Arguments
Annualized implied forward rates, specified as a
                                (NUMBONDS)-by-1 vector using
                            decimal fractions. In aggregate, the rates in
                                ForwardRates constitute an implied forward curve
                            for the investment horizon represented by
                                CurveDates. The first element pertains to
                            forward rates from the settlement date to the first curve date.
Data Types: double
Maturity dates, specified as a
                            NUMBONDS-by-1 vector using a
                        datetime array, string array, or date character vectors, that correspond to
                        the ForwardRates. 
To support existing code, fwd2zero also
    accepts serial date numbers as inputs, but they are not recommended.
Data Types: datetime | string | char
Common settlement date for ForwardRates,
                        specified as scalar datetime, string, or date character vector. 
To support existing code, fwd2zero 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] =
                        fwd2zero(ForwardRates,CurveDates,Settle,'InputCompounding',3,'InputBasis',5,'OutputCompounding',4,'OutputBasis',5)
Compounding frequency of input forward rates, specified with allowed values:
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
Note
If InputCompounding is not specified,
                                        then InputCompounding is assigned the
                                        value specified for OutputCompounding.
                                        If either InputCompounding or
                                            OutputCompounding are not
                                        specified, the default is 2
                                    
Data Types: double
Day count basis of input forward 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.
Note
If InputBasis is not specified, then
                                        InputBasis is assigned the value
                                    specified for OutputBasis. If either
                                        InputBasis or
                                        Outputbasis are not specified, the
                                    default is 0 (actual/actual) for both.
                                
Data Types: double
Compounding frequency of output zero rates, specified with the allowed values:
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
Note
If OutputCompounding is not specified,
                                        then OutputCompounding is assigned the
                                        value specified for InputCompounding.
                                        If either InputCompounding or
                                            OutputCompounding are not specified,
                                        the default is 2 (semiannual) for
                                        both.
Data Types: double
Day count basis of 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.
Note
If OutputBasis is not specified, then
                                        OutputBasis is assigned the value
                                    specified for InputBasis. If either
                                        InputBasis or
                                        OutputBasis are not specified, the
                                    default is 0 (actual/actual) for both.
                                
Data Types: double
Output Arguments
 Zero curve for the investment horizon represented by
                                CurveDates, returned as a
                                NUMBONDS-by-1 vector of
                            decimal fractions. In aggregate, the rates in
                                ZeroRates constitute a zero curve for the
                            investment horizon represented by
                            CurveDates.
Maturity dates that correspond to the ZeroRates,
                            returned as a NUMBONDS-by-1 vector
                            of maturity dates that correspond to the zero rates in
                                ZeroRates. This vector is the same as the input
                            vector CurveDates, but is sorted by ascending
                            maturity. 
If both inputs for CurveDates and
                            Settle are strings or date character vectors,
                            CurveDates is returned as serial date numbers. Use
                        the function datetime to convert serial
                        date numbers to formatted datetime arrays. However, if either of the inputs
                        for CurveDates and Settle are a
                        datetime array, CurveDates is returned as a datetime
                        array.
Version History
Introduced before R2006aAlthough fwd2zero 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.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 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)