Financial Toolbox |
 |
zero2pyld
Par yield curve given a zero curve
Syntax
[ParRates, CurveDates] = zero2pyld(ZeroRates, CurveDates, Settle,
OutputCompounding, OutputBasis, InputCompounding, InputBasis)
Arguments
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.
|
OutputCompounding
|
(Optional) Output compounding. A scalar that sets the compounding frequency per year for annualizing the output forward rates. Allowed values are:
|
|
1
|
annual compounding
|
|
2
|
semi-annual compounding (default)
|
|
3
|
compounding three times per year
|
|
4
|
quarterly compounding
|
|
6
|
bimonthly compounding
|
|
12
|
monthly compounding
|
|
365
|
daily compounding
|
|
-1
|
continuous compounding
|
OutputBasis
|
(Optional) Output day-count basis for annualizing the forward rates. 0 = actual/actual (default), 1 = 30/360, 2 = actual/360, 3 = actual/365.
|
InputCompounding
|
(Optional) A scalar that indicates the compounding frequency per year used for annualizing the input zero rates. Allowed values are the same as for OutputCompounding . Default = OutputCompounding .
|
InputBasis
|
(Optional) Input day-count basis used for annualizing the input zero rates. Allowed values are the same as for OutputBasis . Default = OutputBasis .
|
Description
[ParRates, CurveDates] = zero2pyld(ZeroRates, CurveDates,
Settle,OutputCompounding, OutputBasis, InputCompounding,
InputBasis)
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 .
|
Examples
Given a zero curve over a set of maturity dates and a settlement date
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');
Set annual compounding for the par yield curve, on an actual/actual basis. The zero curve was compounded monthly, on an actual/365 basis.
OutputCompounding = 1;
OutputBasis = 0;
InputCompounding = 12;
InputBasis = 3;
Execute the function
[ParRates, CurveDates] = zero2pyld(ZeroRates, CurveDates,...
Settle, OutputCompounding, OutputBasis, InputCompounding,...
InputBasis)
which returns the par yield curve at the maturity dates.
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 computed them at full precision. If you enter ZeroRates
as shown, ParRates
may differ due to rounding.
See Also
pyld2zero
and other functions for Term Structure of Interest Rates
| zero2fwd | | Glossary |  |