I do not know to which swaption volatility matrix I have to calibrate the LMM in order to price back correctly the swaptions corresponding to the underlying swaps of a Bermudan Swaption.

My problem: For the LMM, I use the simple correlation form $\rho_{i,j}=e^{-\beta|i-j|}$ with beta fixed. This parameter is not taken into account in the calibration. For the volatility I use the form $$\sigma_i\left(t\right) = \phi_i \left(\left(a+b\left(T_i-t\right)\right)e^{-c\left(T_i-t\right)}+d\right)$$ Initially I take $\phi_i=1$ for all $i$ and calibrate the parameters $a,b,c,d$ to the ATM swaption market volatilities matrix by minimizing the MSE between these volatilities and the ones determined by the Rebonato swaption volatility approximation formula. We obtain: $$V_{ATM swaptions}^{Reb} = V_{ATM swaptions}^{market}$$ Afterwards we determine the parameters $\phi_i$ such that the diagonal of a fixed strike $K$ market volatility matrix is fitted exactly: $$V_{K swaptions}^{Reb} = V_{K swaptions}^{market}$$ It is important that the diagonal swaption volatilities (=swaption vols of swaptions corresponding to the underlying swaps of a Bermudan Swaption) of a fixed strike $K$ swaption vol matrix are priced correctly when we want to price a Bermudan Swaption with strike $K$.

However the Rebonato approximation formula is only accurate for ATM strikes. Hence, comparing the Rebonato approximated price with strike $K$ and the price obtained by a Monte Carlo routine with these calibrated parameters, we would in general see that: $$V_{K swaptions}^{Monte Carlo} \neq V_{K swaptions}^{Reb} = V_{K swaptions}^{market}$$ Hence the swaptions corresponding to the underlying swaps of a Bermudan Swaptions are not priced back correctly.

Does anybody know how I can improve my calibration routine in order to price back correctly the swaptions corresponding to a fixed strike?

Any help is appreciated. Thanks in advance.

  • $\begingroup$ How fast is your montecarlo? And how many iterations does your calibration take? $\endgroup$ – will May 23 '16 at 21:39
  • $\begingroup$ @will The Monte Carlo is quite slow since I take 1000000 simulations. For the calibration I have set an upperbound of 1000 iterations. $\endgroup$ – Tinkerbell May 24 '16 at 7:25
  • $\begingroup$ Do you really need that many paths, it's a lot? Have you tried using low discrepancy numbers $\endgroup$ – will May 24 '16 at 10:42
  • $\begingroup$ I have tried, but in my opinion that is not the problem. The problem is the fact that when I try to price a Bermudan Swaption with a fixed strike K, the swapions with strike K corresponding to the underlying swaps will not be priced back correctly since the volatility parameters are obtained through calibration to ATM swaptions in order to get an accurate result with the Rebonato approximation formula. Do you have any suggestions on how I can solve this issue? $\endgroup$ – Tinkerbell May 24 '16 at 12:32
  • $\begingroup$ Well, my inclination would be that you're only calibrating on atm, so that's all you're going to be able to replicate reliably. I'm not terribly hot on the intricacies of rates, so i don't know if there's a way around it, but i'd be surprised. $\endgroup$ – will May 24 '16 at 13:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.