call-put parity in G2++

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

call-put parity in G2++

sarpkacar
Hi,
 
I modified the BermudanSwaption.cpp to test the call-put parity in G2++ model. The test fails in the closed form implementation. I compared the code and the formula in Brigo and Mercurio, it seems to be ok. Does anyone have any idea what can be going wrong?
 
Best Regards,
Sarp 

------------------------------------------------------------------------------
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

G2++Test.cpp (14K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: call-put parity in G2++

sarpkacar
Hi all,
 
The implementation of G2++ swaption formula do not preserve the call-put parity.  I have been trying to find out the bug, but without any success. Have someone already noticed and/or resolved this problem?
 
Regards,
Sarp Kaya

 
On Thu, Sep 8, 2011 at 9:56 PM, SK A <[hidden email]> wrote:
Hi,
 
I modified the BermudanSwaption.cpp to test the call-put parity in G2++ model. The test fails in the closed form implementation. I compared the code and the formula in Brigo and Mercurio, it seems to be ok. Does anyone have any idea what can be going wrong?
 
Best Regards,
Sarp 


------------------------------------------------------------------------------
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
Reply | Threaded
Open this post in threaded view
|

Re: call-put parity in G2++

Ferdinando M. Ametrano-3
In reply to this post by sarpkacar
On Thu, Sep 8, 2011 at 9:56 PM, SK A <[hidden email]> wrote:
> [...] test the call-put parity in G2++
> model. The test fails in the closed form implementation. I compared the code
> and the formula in Brigo and Mercurio, it seems to be ok. Does anyone have
> any idea what can be going wrong?

How large is the error?

Does the formula preserve put-call parity? i.e. is it an
implementation bug or a closed formula approximation error? In the
latter case we could jut implement the call using the put value and
the parity constaint

ciao -- Nando

------------------------------------------------------------------------------
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
Reply | Threaded
Open this post in threaded view
|

Re: call-put parity in G2++

sarpkacar
The difference is  for 1M notional 
 
i) with the test parameters as in BermudanSwaption example 135€
 
ii) with real market data 1622€
 
I implemented another version of this formula, please see http://www.itwm.fraunhofer.de/fileadmin/ITWM-Media/Zentral/Pdf/Berichte_ITWM/2009/bericht_170.pdf. It preserves the put-call parity.   
 
I attached a condition under which the put-call parity for ATM swaptions stays valid.
 

 
On Mon, Sep 12, 2011 at 11:11 AM, Ferdinando Ametrano <[hidden email]> wrote:
On Thu, Sep 8, 2011 at 9:56 PM, SK A <[hidden email]> wrote:
> [...] test the call-put parity in G2++
> model. The test fails in the closed form implementation. I compared the code
> and the formula in Brigo and Mercurio, it seems to be ok. Does anyone have
> any idea what can be going wrong?

How large is the error?

Does the formula preserve put-call parity? i.e. is it an
implementation bug or a closed formula approximation error? In the
latter case we could jut implement the call using the put value and
the parity constaint

ciao -- Nando


------------------------------------------------------------------------------
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

G2++Swaption_PutCallParityCondition.pdf (66K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: call-put parity in G2++

Ferdinando M. Ametrano-3
Thank you Sarp

I'm afraid I cannot really help you, but surely I would appreciate if
you can figure out what is going on, especially if it is an
implementation bug or the closed formula's approximation error

Are you considering to contribute your G2++ implementation in QL?

On Mon, Sep 12, 2011 at 1:10 PM, SK A <[hidden email]> wrote:

> The difference is  for 1M notional
>
> i) with the test parameters as in BermudanSwaption example 135€
>
> ii) with real market data 1622€
>
> I implemented another version of this formula, please see
> http://www.itwm.fraunhofer.de/fileadmin/ITWM-Media/Zentral/Pdf/Berichte_ITWM/2009/bericht_170.pdf.
> It preserves the put-call parity.
>
> I attached a condition under which the put-call parity for ATM swaptions
> stays valid.
>
>
>
> On Mon, Sep 12, 2011 at 11:11 AM, Ferdinando Ametrano <[hidden email]>
> wrote:
>>
>> On Thu, Sep 8, 2011 at 9:56 PM, SK A <[hidden email]> wrote:
>> > [...] test the call-put parity in G2++
>> > model. The test fails in the closed form implementation. I compared the
>> > code
>> > and the formula in Brigo and Mercurio, it seems to be ok. Does anyone
>> > have
>> > any idea what can be going wrong?
>>
>> How large is the error?
>>
>> Does the formula preserve put-call parity? i.e. is it an
>> implementation bug or a closed formula approximation error? In the
>> latter case we could jut implement the call using the put value and
>> the parity constaint
>>
>> ciao -- Nando
>
>

------------------------------------------------------------------------------
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
Reply | Threaded
Open this post in threaded view
|

Re: call-put parity in G2++

sarpkacar
Of course I would gladly contribute. At a first glance the OrnsteinUhlenbeckProcess class has to be changed so that it can deal with time dependent level, since in the formula that we derived the mean level is time dependent.
 
Could you help me to reimplement this class with the desired property?
 
 
On Mon, Sep 12, 2011 at 2:34 PM, Ferdinando Ametrano <[hidden email]> wrote:
Thank you Sarp

I'm afraid I cannot really help you, but surely I would appreciate if
you can figure out what is going on, especially if it is an
implementation bug or the closed formula's approximation error

Are you considering to contribute your G2++ implementation in QL?

On Mon, Sep 12, 2011 at 1:10 PM, SK A <[hidden email]> wrote:
> The difference is  for 1M notional
>
> i) with the test parameters as in BermudanSwaption example 135€
>
> ii) with real market data 1622€
>
> I implemented another version of this formula, please see
> http://www.itwm.fraunhofer.de/fileadmin/ITWM-Media/Zentral/Pdf/Berichte_ITWM/2009/bericht_170.pdf.
> It preserves the put-call parity.
>
> I attached a condition under which the put-call parity for ATM swaptions
> stays valid.
>
>
>
> On Mon, Sep 12, 2011 at 11:11 AM, Ferdinando Ametrano <[hidden email]>
> wrote:
>>
>> On Thu, Sep 8, 2011 at 9:56 PM, SK A <[hidden email]> wrote:
>> > [...] test the call-put parity in G2++
>> > model. The test fails in the closed form implementation. I compared the
>> > code
>> > and the formula in Brigo and Mercurio, it seems to be ok. Does anyone
>> > have
>> > any idea what can be going wrong?
>>
>> How large is the error?
>>
>> Does the formula preserve put-call parity? i.e. is it an
>> implementation bug or a closed formula approximation error? In the
>> latter case we could jut implement the call using the put value and
>> the parity constaint
>>
>> ciao -- Nando
>
>


------------------------------------------------------------------------------
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