|
From: Ferdinando A. <na...@am...> - 2007-12-03 10:09:03
|
Hi Toyin > I'm slightly confused as to how the spread is treated/used within this > function. [...] > But looking at it, it's more like a spread that is added onto every > floating rate fixing within the underlying swap. yes it it. The previous SwapRateHelper was able to deal with a fixed rate versus flat floating rate swap, the new one is able to deal with fixed rate vs floating rate + spread > Also there is a comment of "weak implementation" stated within this > method... I kinda dislike the actual implementation, with the spread algebra hardcoded in the SwaprateHelper, but since the spread is a Quote it can dynamically change and could not be set in the swap at construction time. I couldn't come up with a cleaner implementation: probably having Rate VanillaSwap::fairRate(Spread s = 0.0) would help > This spread looks more like a basis swap spread. > Am I correct in assuming this? yes and no. No: if you take my previous explanation at face value basis swaps are not involved at all. Yes: you can use it to transform a fixed rate vs 6M flat swap into an equivalent fixed rate vs 3M plus spread swap. And the spread would be the 3M/6M basis Of curse SwapRateHelper is a bootstrapping ancillary class, so it can be used to bootstrap yield curve, not for pricing (basis) swaps. The rest of your post concern how to price a basis swap: I won't go into details as your mileage might vary, but would appreciate if anyone could share its expertise on the subject ciao -- Nando |