|
I try to calibrate Rebenato's abcd volatility and correlation angle theta(i) to caplet and swaption using Levenberg-Marquardt. But the algorithm does not seem to work.
I know for the constraint of abcd we can use parameter transformation to remove it. But for the constraint on theta, 0<theta(i)<pi, and -pi/3<theta(i)-theta(i-1)<pi/3, I impose a constraint on the cost function. But the minimizer does work. It returns the initial values I provide, and returns end critieria "stationary function value". Why? Does it have something to do with the end end critieria I provide: endcritieria(1000,100,1e-8,0.3e-4,1e-8)?
If I remove constraint on theta and use NoConstraint, it works. But the thetas are not guranteed within range.
Any thought?
Thanks.
|