| Contents | Index |
[ParRates, CurveDates] = zero2pyld(ZeroRates, CurveDates, Settle, Compounding, Basis, InputCompounding)
ZeroRates | A 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 | A NUMBONDS-by-1 vector of maturity dates (as serial date numbers) that correspond to the zero rates. | |
Settle | A serial date number that is the common settlement date for the zero rates. | |
Compounding | (Optional) Scalar value representing the periodicity in which the output par rates are compounded when annualized. 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 | |
Basis | (Optional) Day-count basis used to annualize the implied zero rates.
For more information, see basis. | |
InputCompounding | (Optional) Scalar value representing the periodicity in which the input zero rates were compounded when annualized. The default is the value for Compounding. | |
[ParRates, CurveDates] = zero2pyld(ZeroRates, CurveDates, Settle, Compounding, Basis, InputCompounding) returns a par yield curve given a zero curve and its maturity dates.
ParRates | A NUMBONDS-by-1 vector of annualized par yields, as decimal fractions. (Par yields = coupon rates.) In aggregate, the yield rates in ParRates constitute a par yield 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 par yield 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
Annual compounding for the input zero curve and monthly compounding for the output par rates
compute a par yield curve.
ZeroRates = [0.0457
0.0487
0.0506
0.0507
0.0505
0.0504
0.0506
0.0516
0.0539
0.0530];
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');
InputCompounding = 1;
Compounding = 12;
[ParRates, CurveDates] = zero2pyld(ZeroRates, CurveDates,...
Settle, Compounding, [] , InputCompounding)
ParRates =
0.0479
0.0511
0.0530
0.0531
0.0526
0.0524
0.0525
0.0534
0.0555
0.0543
CurveDates =
730796
730831
730866
730887
730914
730943
730971
731027
731098
731167
For readability, ZeroRates and ParRates are shown only to the basis point. However, MATLAB software computed them at full precision. If you enter ZeroRates as shown, ParRates may differ due to rounding.
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-2012- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |