|
From: eric e. <eri...@gm...> - 2007-03-28 20:34:22
|
Hi Luigi, On 3/28/07, Luigi Ballabio <lui...@gm...> wrote: > > On Mar 28, 2007, at 9:36 PM, eric ehlers wrote: > > That's basically it. Existing QuantLibXL books work as follows: > > > > 1. create a dummy term structure (say TS1) ; > > 2. create my Euribor object based on TS1 ; > > 3. create swap rate helpers based on my Euribor object ; > > 4. create a term structure (say TS2) ; > > 5. call qlExtrapolatorEnableExtrapolation() on TS2 > > 6. bootstrap TS2 based on the rate helpers > > 7. call qlSetEuriborTermStructure to relink all enumerated Euribor > > objects to TS2 ; > > 8. we're now ready to price some securities. > > Is 5 necessary? During bootstrapping, the curve is extended at each new > node so that it covers all times needed by the corresponding helper. There is one example workbook which sets up a swaption, and in that case if you neglect to call qlExtrapolatorEnableExtrapolation() then when you ask for the NPV of the swaption it fails with "time (xxx) is past max curve time (yyy)". Calling qlExtrapolatorEnableExtrapolation() fixes the problem so one way or another that call makes a relevant change to the state of the term structure, though I don't understand the details. Regards, Eric |