December 30th, 2004, 3:40 am
Kim, for the bermudan on a CMS-Libor swap, using a short-rate tree should also be possible and it should not be unuseably slow. Since there is no closed-form solution for the CMS rate on any node of the tree, it must be computed by pricing the swap on the sub-tree conditonal upon that node being reached; this is the time-consuming part. I suggest that you use some programming tricks, for instance, don't compute the CMS rate when it is not necessary. Spend some time on deciding on the exercise boundary, one thought I have is that you select five nodes from the tree, being top, mid, bottom and the two between (top and mid) and (mid and bottom). For these five nodes, compute the conditional value of the two indices (CMS and libor). Now you have the early exercise value for these five points. Fit a function of these five values vs the short rate r and identify where this function cuts below zero; this level of r separates the tree into two parts and you only have to compute the intrinsic values for the part which you should exercise early. You can also experiment if you can repeat the above process to speed up the remaining computation time for intrinsic value calculation, again, by using functional form to represent the CMS and LIBOR rate at each node.Although the above is more tedious in the programming but it should speed up the computation by avoiding spending time calculating values which are not going to contribute to the final result.Finally, I agree with Piterbarg that it is not good to use a 1-factor model for pricing derivatives on spread; but for your case, it is less critical because it is an option with one leg being CMS and one leg libor. DO NOT use 1-factor model to price option with one leg being the difference between 30y CMS and 2y CMS and the other leg being libor.Phil