zero2fwd
Forward curve given zero curve
Syntax
Description
[
                returns an implied forward rate curve given a zero curve and its maturity dates. If
                either input for ForwardRates,CurveDates] = zero2fwd(ZeroRates,CurveDates,Settle)CurveDates or Settle is a
                datetime array, CurveDates is returned as a datetime array.
                Otherwise, CurveDates is returned as a serial date number. Use
                the function datetime to convert serial date
                numbers to formatted datetime arrays. ForwardRates is the same
                for any of these input data types. 
[
                adds optional name-value pair argumentsForwardRates,CurveDates] = zero2fwd(___,Name,Value)
Examples
Given a zero curve over a set of maturity dates, a settlement date, and a compounding rate, use datetime compute the forward rate curve. 
ZeroRates = [0.0458
             0.0502
             0.0518
             0.0519
             0.0524
             0.0519
             0.0523
             0.0525
             0.0541
             0.0529];
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;   
[ForwardRates, CurveDates] = zero2fwd(ZeroRates, CurveDates,...
Settle,'InputCompounding',1,'InputBasis',2,'OutputCompounding',1,'OutputBasis',2)ForwardRates = 10×1
    0.0458
    0.0506
    0.0535
    0.0522
    0.0541
    0.0498
    0.0544
    0.0531
    0.0594
    0.0476
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 zero rates, specified as a
                                NUMBONDS-by-1 vector using
                            decimal fractions. In aggregate, the rates constitute an implied zero
                            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 ZeroRates. 
To support existing code, zero2fwd also
    accepts serial date numbers as inputs, but they are not recommended.
Data Types: datetime | string | char
Common settlement date for input ZeroRates,
                        specified as scalar datetime, string, or date character vector. 
To support existing code, zero2fwd 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: [ForwardRates,CurveDates] =
                        zero2fwd(ZeroRates,CurveDates,Settle,'InputCompounding',3,'InputBasis',5,'OutputCompounding',4,'OutputBasis',5)
Compounding frequency of input zero rates, specified as the
                            comma-separated pair consisting of 'InputCompounding'
                            and allowed values:
- 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
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 (semiannual) for both.
                                
Data Types: double
Day count basis of input zero rates, specified as the
                            comma-separated pair consisting of 'InputBasis' and
                            allowed 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.
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 forward rates, specified as the
                            comma-separated pair consisting of
                                'OutputCompounding' and allowed values:
- 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
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 forward rates, specified as the
                            comma-separated pair consisting of 'OutputBasis' and
                            allowed 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.
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
 Forward curve for the investment horizon represented by
                                CurveDates, returned as a
                                NUMBONDS-by-1 vector of
                            decimal fractions. In aggregate, the rates in
                                ForwardRates constitute a forward curve over the
                            dates in CurveDates.
                                ForwardRates are ordered by ascending
                            maturity.
Maturity dates that correspond to the
                                ForwardRates, returned as a
                                NUMBONDS-by-1 vector of
                            maturity dates that correspond to the
                            ForwardRates.
ForwardRates  are expressed as serial date numbers
                            (default) or datetimes (if CurveDates or
                                Settle are datetime arrays), representing the
                            maturity dates  for each rate in ForwardRates. These
                            dates are the same dates as those associated with the input
                                ZeroRates, but are ordered by ascending
                            maturity.
Version History
Introduced before R2006aAlthough zero2fwd 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 new optional name-value pair inputs:
                    InputCompounding, InputBasis,
                    OutputCompounding, and
                OutputBasis.
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)