Re: Floating Coupons and Yield Curve stripping
Posted by Ferdinando M. Ametrano-2 on Mar 29, 2002; 12:03am
URL: http://quantlib.414.s1.nabble.com/LexicographicalView-class-help-tp1903p1906.html
Hi all
Toyin Akin wrote:
>I haven't looked at your code for the YieldCurve stripping, but you can
>employ the
>reduction of the floating leg to the exchange of principles to speed up
>the YieldCurve stripping
>while solving for the end discountfactor for swaps.
The QuantLib design tries to be as flexible as possible. Any QuantLib user
can have his own bootstrapping procedure as long as the resulting
TermStructure implements the QuantLib::TermStructure interface.
One bootstrapping procedure is provided in PiecewiseFlatForward, and the
bootstrapping algorithm is quite general. The key idea has been to have
RateHelper to wrap whatever financial instrument one might want to use for
bootstrapping. QuantLib already provides RateHelper for futures, FRAs,
deposits and swaps, but one could add bonds, etc.
The point here is that you can wrap your own existing classes into a
QuantLib RateHelper and use them for the bootstrap.
My preference is to re-use generic classes as Swap (or SimpleSwap) instead
of bootstrapping-specific classes, so to ensure the internal consistency
between the bootstrapping of the yield curve and the pricing on the same
yield curve of the instruments used for the bootstrapping.
This approach might be not extremely efficient, but in my experience the
bootstrapping has never been a bottleneck, especially if you take care not
to bootstrap in 100 different places the same curve.
>Quick request, if a user adds five years of futures to his/her yieldcurve
>and then swaps from three
>years onwards, can we have some sort of setting that indicates whether we
>would like to have
>futures overides swaps (use all futures and then swaps after five years)
>or swaps overrides futures
>(use all swaps, thus only the first three years of futures.). Same
>argument for deposits over futures.
This is a common request, as everybody does perform this task, but I would
delegate it to an external layer, not into the bootstrapping procedures.
We could/should create a series of instruments' filters.
ciao -- Nando