Numerical Optimizer Matlab Calibration

96 Views Asked by At

I am trying to mimimize the following function in order to calibrate the Libor Market Model

$$\sum_{i=1}^{n} \left(\sigma_i^{market}-\sigma_i^{Reb}\left(a,b,c,d,\beta\right)/\sqrt{T_i}\right)^2,$$

where $\sigma_i^{market}$ is given and $\sigma_i^{Reb}\left(a,b,c,d,\beta\right)$ is a nonlinear function in the unknown parameters $a,b,c,d,\beta$.

The parameters should have the following constraints: $$a+d>0$$ $$d>0$$ $$c>0$$ $$\beta \geq 0$$ Which numerical optimizer method in Matlab would be a good candidate such that the constraints are satisfied?

I tried to implement the calibration with the unconstraint local optimizer fminsearch based on the Downhill-simplex algorithm. Nevertheless, with different choices of initial values of the parameters, the algorithm converges to parameters that do not respect the constraints.

So I decided to try a constrained numerical optimizer, the non linear least squares method (lsqnonlin) in Matlab with as lowerbounds 0 for the last three constraints. However, I do not know how to impose constraint number 1 with this method. Does someone have any suggestions?

Would the (unconstrained?) Levenberg Marquardt be a good candidate? Other ideas?

Thank you in advance.