Login  Register

Re: Found the bug on bermuda swaptions

Posted by Luigi Ballabio on Mar 02, 2005; 2:00am
URL: http://quantlib.414.s1.nabble.com/Possible-problem-on-bermuda-swaptions-2-tp3621p3628.html

On 03/01/05 18:25:17, Luca Berardi wrote:

>
> I have probably found the source of mispricing in bermuda
> swaptions. The problem seems to lie in the new implementation of the
> class DiscretizedSwap in QuantLib 0.3.8: in fact the DiscretizedSwap
> now updates itself in the following way:
> - fixed leg: the fixed coupons are added on the payment dates
> - floating leg: the floating coupons are added on the fixing dates.
>
> In QL 0.3.7, instead, the DiscretizedSwap updates both the fixed and
> floating leg on the fixing dates.

[snipped]

> The problem could be easily fixed by letting the fixed leg of the swap
> to be updated on fixing dates, too (which is how things are set in
> QuantLib 0.3.7). This also enables to discard the first payment after
> the exercise date, which was the issue I raised few messages ago.

Luca,
        it's not a bug, it's unstated requirements :)  When the exercise  
date coincides with the coupon dates, the pricing is correct either way.

However: yes, adding fixed coupons at their reset dates could make it  
easier to implement the exercise lag. But it would not solve the general  
problem. Take a swap paying fixed coupons in March and floating-rate  
coupons in March, June, September and December. Make it the underlying of a  
swaption with exercise date in September. According to your trader's specs,  
the first payment after exercise should be next March; but the current  
implementation (even modifying the fixed-coupon management) would include  
the floating-rate payment in December. Getting the correct start date for  
the underlying swap does require explicit coding.

Later,
        Luigi

----------------------------------------

Newton's Law of Gravitation:
        What goes up must come down.  But don't expect it to come down
        where you can find it.  Murphy's Law applies to Newton's.