|
From: Peter C. <pca...@gm...> - 2022-11-14 15:58:32
|
Hi Gaussian1dSwaptionEngine will use curve2 for discounting and curve1 for the floating leg projection. By the way, you can override the discount curve to be used in the engine constructor. Gaussian1dJamshidianSwaptionEngine is a single-curve engine using curve2. If you use Gaussian1dJamshidianSwaptionEngine for calibration, you probably want to set curve 2 = floating leg forwarding curve. Thanks Peter On Sun, 13 Nov 2022 at 15:14, <log...@se...> wrote: > > Hello, > I'm pricing a swaption where the underlying swap's floating leg is based on curve1. > Then I have another curve, say curve2, which I use in GSR like this > model = ql.Gsr(curve2, volStepDates, volatilities, reversions) > > When I use in the swaption pricing: > A) engine = ql.Gaussian1dSwaptionEngine(model) > B) engine = ql.Gaussian1dJamshidianSwaptionEngine(model) > I'm getting quite a significant difference between NPV A) and NPV B), is not due to technical nature of the pricer. > > It feels like Gaussian1dJamshidianSwaptionEngine ignores the floating leg's curve1 (and usese curve2 everywhere), while the Gaussian1dSwaptionEngine takes into account curve1 for the floating leg. Can someone please explain how curves are treated in these pricers? > > Thanks, > M. > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users |