European Sytle Swaption

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

European Sytle Swaption

Bill Q
Hello

I was working with the Intruments::Swaption class, pricing a European style
swaption. I used the EuropeanExercise class with the single excercise date
and the BlackSwaption pricing engine. All seemed to be going well but then
I noticed that the excercise date had no effect on the price of the
swaption.

I looked into the code and can see that the Swaption puts the excercise
time into a vector called excerciseTimes in SwaptionArguments. However
the BlackSwaption pricer never looks at it. Instead it sets the T (time)
parameter to arguments_.floatingResetTimes[0] which will be the start
of the swap. Now most examples do show the swaption excercise date to
correspond to the start of the swap, but does it have to be so?

And so my question is, in ql/Pricers/blackswaption.cpp,
Can the line:  'Time start = arguments_.floatingResetTimes[0];'
be changed to: 'Time start = arguments_.exerciseTimes[0];'?





Reply | Threaded
Open this post in threaded view
|

Re: European Sytle Swaption

Luigi Ballabio-2
At 04:59 PM 9/23/03, Bill Q wrote:

>I was working with the Intruments::Swaption class, pricing a European style
>swaption. I used the EuropeanExercise class with the single excercise date
>and the BlackSwaption pricing engine. All seemed to be going well but then
>I noticed that the excercise date had no effect on the price of the
>swaption.
>
>I looked into the code and can see that the Swaption puts the excercise
>time into a vector called excerciseTimes in SwaptionArguments. However
>the BlackSwaption pricer never looks at it. Instead it sets the T (time)
>parameter to arguments_.floatingResetTimes[0] which will be the start
>of the swap. Now most examples do show the swaption excercise date to
>correspond to the start of the swap, but does it have to be so?
>
>And so my question is, in ql/Pricers/blackswaption.cpp,
>Can the line:  'Time start = arguments_.floatingResetTimes[0];'
>be changed to: 'Time start = arguments_.exerciseTimes[0];'?

Bill,
         you're right, that would be the correct behavior. However, I'm
most likely to forget it as soon as I close the mailer and go back to work :)
May you file your patch on Sourceforge? The page is
http://sourceforge.net/tracker/?group_id=12740&atid=312740
and it is somehow guaranteed that someone will look at it between now and
next release...

Thanks,
         Luigi