|
Hi,
I am trying to compute upper bounds for multicallable swaps using the UpperBoundEngine and a Longstaff-Schwartz exercise strategy. I get problems (=very high upper bound deltas) when I do this for swaps with different payment frequencies in the two legs, e.g. 1y fixed vs. 6m float. For a corresponding 1y/1y swap the upper bound is much tighter.
As far as I can see it, this is due to the handling of cash flows on exercise dates in the upper bound engine. For the lower bound calculation (as in collectNodeData, LongstaffSchwartzRegression, callSpecifiedProduct) I understood that cashflows fixed _strictly before_ the exercise step are still paid in case of exercising a call and those fixed _on or after_ the exercise step are not. In the upper bound calculation it seems to me that roughly speaking "strictly before" is replaced by "before or on". E.g. in the calculation of the unexercisedHedgeValue in the inner loop inside a single path calculation only those cashflows of the hedge product are taken into account which are fixed on exercise index +1, +2 ... In the above example this seems to lead to an mismatch between fixed and float cashflows and therefore to the high bound.
Is my understanding of which cashflows are called on an exercise index correct? If so, does my remarks on the upper bound engine make sense?
Thanks for any hint on this.
Best regards
Peter
|