| Financial Toolbox | ![]() |
Syntax
[ZeroRates, CurveDates] = fwd2zero(ForwardRates, CurveDates, Settle, OutputCompounding, OutputBasis, InputCompounding, InputBasis)
Description
[ZeroRates, CurveDates] = fwd2zero(ForwardRates, CurveDates,
Settle, OutputCompounding, OutputBasis, InputCompounding,
InputBasis)
returns a zero curve given an implied forward curve and its maturity dates.
Examples
Given an implied forward curve ForwardRates over a set of maturity dates CurveDates, and a settlement date Settle
ForwardRates = [0.0469
0.0519
0.0549
0.0535
0.0558
0.0508
0.0560
0.0545
0.0615
0.0486];
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 zero curve, on an actual/365 basis. The forward curve was compounded annually on an actual/actual basis.
OutputCompounding = 365; OutputBasis = 3; InputCompounding = 1; InputBasis = 0;Execute the function
[ZeroRates, CurveDates] = fwd2zero(ForwardRates, CurveDates,... Settle, OutputCompounding, OutputBasis, InputCompounding,... InputBasis)which returns the zero curve
ZeroRates at the maturity dates CurveDates.
ZeroRates =
0.0457
0.0501
0.0516
0.0517
0.0523
0.0517
0.0521
0.0523
0.0540
0.0528
CurveDates =
730796
730831
730866
730887
730914
730943
730971
731027
731098
731167
For readability, ForwardRates and ZeroRates are shown here only to the basis point. However, MATLAB computed them at full precision. If you enter ForwardRates as shown, ZeroRates may differ due to rounding.
See Also
zero2fwd and other functions for Term Structure of Interest Rates
| fvvar | highlow | ![]() |