Longstaff and Schwartz calculated the bermudan swaption on String model, which is equivalent to LMM model for finite maturities. String model though directly models the bond price dynamics instead of forward rate dynamics as in LMM.
Consider a bermmudan swaption - underling swap has a 10 yr maturity and resets semianually. Exercise can occur at any reset date after 1 year(1 yr included and 10 yr excluded)
1.Create a vector of zero coupon bond prices P(.,0.5y) P(.,1y) P(.,1.5y) ..... P(.,10y)
2.The bond prices are evolved using the dynamics: dP(t,Ti)=-2*log(P(t,t+0.5y))*P(t,Ti)*dt + sigmaPi(t)*P(t,Ti)*dZi(t)
where sigmaPi(t) = volatility of bond price with maturity Ti Zi's are brownian motion and are correlated by dZi*dZj=exp(-k*abs(i-j))*dt
The bond price vector is calculated at each timestep, and n paths are simulated
3.Compute payoff at final time. We position ourselves at the final exercise time. Now the iterative part of the scheme begins.
4.Select following set of basis function at exercise time Ti:
1, P(.,Ti), ..., P(.,T20),SR,SR^2,SR^3
where SR=forward swap rate at time Ti for underling swap with first reset date Ti and payment dates till 10y
5.Perform regression of discounted continuation values (CC) on basis functions to find coefficients. (Use only those scenarios where immediate exercise value is positive)
6.Store exercise flag (EF) to 1 if immediate exercise value(CE) is more than continuation value.(Note that if this flag is set at a timestep, all subsequent flags will be reset to 0 (because the option can be exercised only once)
7.If EF=0, set CC= discounted continuation value of next step If EF=1 then set CC=CE
8.Set Ti=Ti-0.5 and repeat from step 4 until you reach time t=0
9.Loop over each MC path. Evaluate the payoff for each path by assuming that the option was exercised at the point where EF=1.
10.Set optionprice=average value of payoffs from (9) |