I am doing the following :
(a) Using the Bootstrapping method to create two Interest rate curve models with the same data – the only difference between them being the “Type” parameter. One has the “Type” set to ‘Zero’, and the other to ‘Forward’.
(b) Comparing the values returned by the methods getZeroRates and getForwardRates on each model.
I observe that the Zero rates obtained from the IRCurve of type "Zero" are different from the Zero rates obtained from the IRCurve of type "Forward".
InstrumentTypes = {'Deposit';'Deposit';...'Futures';'Futures';'Futures';'Futures';'Futures';'Futures';...'Swap';'Swap';'Swap';'Swap';};Instruments = [datenum('08/10/2007'),datenum('09/17/2007'),.0532000; ...datenum('08/10/2007'),datenum('11/17/2007'),.0535866; ...datenum('08/08/2007'),datenum('19-Dec-2007'),9485; ...datenum('08/08/2007'),datenum('19-Mar-2008'),9502; ...datenum('08/08/2007'),datenum('18-Jun-2008'),9509.5; ...datenum('08/08/2007'),datenum('17-Sep-2008'),9509; ...datenum('08/08/2007'),datenum('17-Dec-2008'),9505.5; ...datenum('08/08/2007'),datenum('18-Mar-2009'),9501; ...datenum('08/08/2007'),datenum('08/08/2014'),.0530; ...datenum('08/08/2007'),datenum('08/08/2019'),.0551; ...datenum('08/08/2007'),datenum('08/08/2027'),.0565; ...datenum('08/08/2007'),datenum('08/08/2037'),.0566];CurveSettle = datenum('08/10/2007');maturityDates = Instruments(:,2);bootModelF = IRDataCurve.bootstrap('Forward', CurveSettle, ...InstrumentTypes, Instruments,'InterpMethod','pchip');bootModelZ = IRDataCurve.bootstrap('Zero', CurveSettle, ...InstrumentTypes, Instruments,'InterpMethod','pchip');plot(bootModelF.Dates, bootModelF.getZeroRates(bootModelF.Dates))hold allplot(bootModelZ.Dates, bootModelZ.getZeroRates(bootModelZ.Dates))hold off
Best Answer