wrong discounting in BlackSwapEngine::calculate()

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

wrong discounting in BlackSwapEngine::calculate()

sarpkacar
 
Hi,
 
In BlackSwapEngine::calculate() the variable atmForward is calculated by using the forwardingTermStructure as the DiscountingSwapEngine is initialized by it. But the discounting swap  should be intialised by the discoutCurve_ so that the fair swap rate is calculated in the "two curve world". I tried to report a bug, but couldn't succeed. The block
 
// using the forecasting curve

swap.setPricingEngine(boost::shared_ptr<PricingEngine>(

new  DiscountingSwapEngine(swap.iborIndex()->forwardingTermStructure(), false)));

should be changed with

// using the discounting curve

swap.setPricingEngine(boost::shared_ptr<PricingEngine>(

new DiscountingSwapEngine(discountCurve_, false)));

Regards,

Sarp Kaya


------------------------------------------------------------------------------
Doing More with Less: The Next Generation Virtual Desktop
What are the key obstacles that have prevented many mid-market businesses
from deploying virtual desktops?   How do next-generation virtual desktops
provide companies an easier-to-deploy, easier-to-manage and more affordable
virtual desktop model.http://www.accelacomm.com/jaw/sfnl/114/51426474/
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users

blackswaptionengine.cpp (8K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: wrong discounting in BlackSwapEngine::calculate()

Luigi Ballabio
Hi Sarp,
    you're right.  The code was fixed in the repository, so next
release will behave correctly.

Thanks for the heads-up,
    Luigi


On Thu, Sep 8, 2011 at 11:17 PM, SK A <[hidden email]> wrote:

>
> Hi,
>
> In BlackSwapEngine::calculate() the variable atmForward is calculated by
> using the forwardingTermStructure as the DiscountingSwapEngine is
> initialized by it. But the discounting swap  should be intialised by the
> discoutCurve_ so that the fair swap rate is calculated in the "two curve
> world". I tried to report a bug, but couldn't succeed. The block
>
> // using the forecasting curve
>
> swap.setPricingEngine(boost::shared_ptr<PricingEngine>(
>
> new  DiscountingSwapEngine(swap.iborIndex()->forwardingTermStructure(),
> false)));
>
> should be changed with
>
> // using the discounting curve
>
> swap.setPricingEngine(boost::shared_ptr<PricingEngine>(
>
> new DiscountingSwapEngine(discountCurve_, false)));
>
> Regards,
>
> Sarp Kaya
>
> ------------------------------------------------------------------------------
> Doing More with Less: The Next Generation Virtual Desktop
> What are the key obstacles that have prevented many mid-market businesses
> from deploying virtual desktops?   How do next-generation virtual desktops
> provide companies an easier-to-deploy, easier-to-manage and more affordable
> virtual desktop model.http://www.accelacomm.com/jaw/sfnl/114/51426474/
> _______________________________________________
> QuantLib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
>

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure
contains a definitive record of customers, application performance,
security threats, fraudulent activity, and more. Splunk takes this
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users