japari/quantlib — pull request #5 by pcaspers (2014-01-10 18:13:34+00:00)
Title: todays work ...

Hi Pepe,

your changes to the engine look ok (except my commit 21debf6 below, pls cross check this), thanks. I still had no time for a test run, though.

Please also check the other commits. What surprised me a bit is that the mid point engine was hardcoded in the piecewise credit curve bootstrapping. However it seems that the whole design of the ts-bootstrap-part of the lib relies on "unique standard pricers" for the instruments entering the curves. When I understood it correctly.

Of course we want to have the flexibility to use the ISDA engine (probably even as the default later on). I had no other idea than to add a flag to the cds helpers indicating to use the ISDA engine. The detailled settings of the engine (those three enums that configure different versions of the ISDA engine) can also be set in the helper. However if one wants to use it, one has to set them in each helper. Not nice.

The bigger solution would probably be to pass a custom engine to the helper. This is however not straightforward because of the setTermStructure method where we need a relinkable handle, which is by default not present in the engine (and its introduction would cause other design problems, I did not think it through really ... maybe we should discuss that with Luigi later on, this looks like a general flaw to me. Maybe you have a deeper understanding of all this you could share with me ?

Thanks
Peter