| Financial Toolbox™ | ![]() |
Zero curve given discount curve
[ZeroRates, CurveDates] = disc2zero(DiscRates, CurveDates, Settle, Compounding, Basis)
DiscRates | Column vector of discount factors, as decimal fractions. In aggregate, the factors in DiscRates constitute a discount curve for the investment horizon represented by CurveDates. | |
CurveDates | Column vector of maturity dates (as serial date numbers) that correspond to the discount factors in DiscRates. | |
Settle | Serial date number that is the common settlement date for the discount rates in DiscRates. | |
Compounding | (Optional) Output compounding. A scalar that sets the compounding frequency per year for annualizing the output zero rates. 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 for annualizing the output zero rates.
| |
[ZeroRates, CurveDates] = disc2zero(DiscRates, CurveDates, Settle, Compounding, Basis) returns a zero curve given a discount curve and its maturity dates.
Given 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 = [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');
Set daily compounding for the output zero curve, on an actual/365 basis.
Compounding = 365; Basis = 3;
Execute the function
[ZeroRates, CurveDates] = disc2zero(DiscRates, CurveDates,... Settle, Compounding, Basis)
which returns the zero curve ZeroRates at the maturity dates CurveDates.
ZeroRates =
0.0487
0.0510
0.0523
0.0524
0.0530
0.0526
0.0530
0.0532
0.0549
0.0536
CurveDates =
730796
730831
730866
730887
730914
730943
730971
731027
731098
731167
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.
zero2disc and other functions for Term Structure of Interest Rates
![]() | diff | discrate | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |