| Products & Services | Industries | Academia | Support | User Community | Company |
| Download Product Updates | | | Get Pricing | | | Trial Software |
| Documentation → Financial Toolbox |
| Contents | Index |
| Learn more about Financial Toolbox |
[DiscRates, CurveDates] = zero2disc(ZeroRates, CurveDates, Settle, Compounding, Basis)
ZeroRates | Number of bonds (NUMBONDS)-by-1 vector of annualized zero rates, as decimal fractions. In aggregate, the rates constitute an implied zero curve for the investment horizon represented by CurveDates. | |
CurveDates | NUMBONDS-by-1 vector of maturity dates (as serial date numbers) that correspond to the zero rates. | |
Settle | Serial date number that is the common settlement date for the zero rates; that is, the settlement date for the bonds from which the zero curve was bootstrapped. | |
Compounding | (Optional) Scalar that indicates the compounding frequency per year used for annualizing the input zero rates in ZeroRates. Allowed values are: | |
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 | |
Basis | (Optional) Day-count basis used for annualizing the input zero rates.
| |
[DiscRates, CurveDates] = zero2disc(ZeroRates, CurveDates, Settle, Compounding, Basis) returns a discount curve given a zero curve and its maturity dates.
DiscRates | A NUMBONDS-by-1 vector of discount factors, as decimal fractions. In aggregate, the factors in constitute a discount curve for the investment horizon represented by CurveDates. |
CurveDates | A NUMBONDS-by-1 vector of maturity dates (as serial date numbers) that correspond to the discount rates. This vector is the same as the input vector CurveDates. |
Given a zero curve over a set of maturity dates and a settlement date
ZeroRates = [0.0464
0.0509
0.0524
0.0525
0.0531
0.0525
0.0530
0.0531
0.0549
0.0536];
CurveDates = [datenum('06-Nov-2000')
datenum('11-Dec-2000')
datenum('15-Jan-2001')
datenum('05-Feb-2001')
datenum('04-Mar-2001')
datenum('02-Apr-2001')
datenum('30-Apr-2001')
datenum('25-Jun-2001')
datenum('04-Sep-2001')
datenum('12-Nov-2001')];
Settle = datenum('03-Nov-2000');
The zero curve was compounded daily on an actual/365 basis.
Compounding = 365; Basis = 3;
Execute the function
[DiscRates, CurveDates] = zero2disc(ZeroRates, CurveDates,... Settle, Compounding, Basis)
which returns the discount curve DiscRates at the maturity dates CurveDates.
DiscRates =
0.9996
0.9947
0.9896
0.9866
0.9826
0.9787
0.9745
0.9665
0.9552
0.9466
CurveDates =
730796
730831
730866
730887
730914
730943
730971
731027
731098
731167
For readability, ZeroRates and DiscRates are shown here only to the basis point. However, MATLAB software computed them at full precision. If you enter ZeroRates as shown, DiscRates may differ due to rounding.
disc2zero and other functions for Term Structure of Interest Rates
![]() | zbtyield | zero2fwd | ![]() |
View demos and recorded presentations led by industry experts.
Now On Demand
Network with industry peers and learn the latest applications of the leading software product for computational finance.
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |