| Financial Toolbox | ![]() |
Syntax
[ZeroRates, CurveDates] = pyld2zero(ParRates, CurveDates, Settle, OutputCompounding, OutputBasis, InputCompounding, InputBasis, MaxIterations)
Description
[ZeroRates, CurveDates] = pyld2zero(ParRates, CurveDates, Settle,
OutputCompounding, OutputBasis, InputCompounding, InputBasis,
MaxIterations)
returns a zero curve given a par yield curve and its maturity dates.
Examples
Given a par yield curve over a set of maturity dates and a settlement date
ParRates = [0.0479
0.0522
0.0540
0.0540
0.0536
0.0532
0.0532
0.0539
0.0558
0.0543];
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 monthly compounding for the zero curve, on an actual/365 basis. The par yield curve was compounded annually on an actual/actual basis. Derive the zero curve within 50 iterations.
OutputCompounding = 12; OutputBasis = 3; InputCompounding = 1; InputBasis = 0; MaxIterations = 50;Execute the function
[ZeroRates, CurveDates] = pyld2zero(ParRates, CurveDates,... Settle, OutputCompounding, OutputBasis, InputCompounding,... InputBasis, MaxIterations)which returns the zero curve
ZeroRates at the maturity dates CurveDates.
For readability,ZeroRates= 0.0461 0.0498 0.0519 0.0520 0.0510 0.0510 0.0508 0.0520 0.0543 0.0530CurveDates= 730796 730831 730866 730887 730914 730943 730971 731027 731098 731167
ParRates and ZeroRates are shown only to the basis point. However, MATLAB computes them at full precision. If you enter ParRates as shown, ZeroRates may differ due to rounding.
See Also
zero2pyld and other functions for Term Structure of Interest Rates
| pvvar | ret2tick | ![]() |