The general structure of the pricing Bermudan swaption is split into the following sections: collection of attribute information, calculating exercise tree levels and valuation information corresponding to those levels, and calculation of the derivative with a binomial lattice.
The underlying variable as mentioned above is a portfolio of portfolios. For each exercise date the swap that can be entered is represented as a fixed and floating leg. Each pair of fixed and floating legs is contained in a separate portfolio. Each of these portfolios is contained in a master portfolio. This master portfolio entered as the “underlying” attribute.
The exercise dates of the Bermudan option will in general not fall exactly on the nodes of the binomial tree. As such, the exercise dates must be adjusted to the closest node on the tree. These exercisable node levels are recorded in the vector exercise dates. By construction the last exercise date will correspond with the end of the lattice. Each exercise date is labelled with an exercise flag.
Once the information in the previous section is calculated and recorded in the appropriate vectors the valuation using a binomial lattice is straight forward. The only difficulty is that the valuation input vectors are in general a different size than the number of tree steps and rolling back through the tree and rolling back through the valuation vectors must be carefully observed and implemented.
We calibrate the Jamshidian model parameters based on a portfolio of European CMS rate options. Here we calculate corresponding prices from a benchmark HW short-rate trinomial tree