Hi Nando,
Just a quick(?) update on calibrating the G2 model. Despite appearances, I have not been idle. Far from it. I don't seem to be able to calibrate to an arbitrary vol. set with 5 points, whether they are caps or swaptions. Caps should be easier since with swaptions we need to deal more with inter-forward-rate correlations (it seems). If I set arbitrary (within the setting of the model) parameters, and then perturb those parameters (even dramatically), then I am able to get back to the original parameters, whether I'm using 5 caps or 5 swaptions. That's the good news. The bad news is that it seems as if the downhill simplex method is too simple to manage this. As Luigi intimated, it finds local mins too attractive and can get stuck. I had to implement a simulated annealing method to ensure convergence to the original parameters (I was amazed at how different calibrated parameters could be with similar exact vols.). Convergence can be S L O W. Still need to investigate and will send code soon. You guys can then work your c++ magic on it - I am still a beginner :( . Also, could you check the code in simplex.cpp. I get better results if one amends the part of the code in simplex::extrapolate that deals with constraints. I think I understand the code - I want to go in the direction opposite the worst point and will adjust factor until I can do so without the constraints biting. However, I get better results if one simply returns the highest value when the constraint bites. This will enforce a 1-d contraction since the point will have a higher value than the next highest value. This seems to be what the code in extrapolate is attemping, but I suspect that it actually messes up the determination of the centroid value. Furthermore, the constraints in G2 need to be specified more correctly to avoid infinities in the parameters. For example, rho-squared cannot be exactly 1.0., a or b cannot be 0.0, a+b cannot be zero, etc. Invalid constraints cause bracketing problems. You need to be aware that different model parameters can lead to the same implied vols., depending, of course, on your required accuracy measure. And the parameters can be very different! To me, this implies that you need to greet any stated set of parameters with utmost caution - i.e. do not believe any calibration you read ! Returning to the issue of calibration of a model with 5 parameters to 5 data points. Should it be possible to exactly calibrate to those points? I originally thought: of course, 5 points, 5 vars, no prob. But now I doubt it. Can't explain precisely why. For example, should it be possible for G2 to calibrate to a sinusoidal vol. set ? Nope, I don't think so. Anyway, hope to have a more complete answer soon. Mike -- |
Hi,
I have to say that I'm not an expert on IR methods, but I have read some stuff on using Levenberg-Marquardt Nonlnear least squares to do the calibration to swaptions. Google on: levenberg swaption calibration. Could also try global Newton methods. I read on wilmott.com that the NR L-M method is flawed, but I don't know whether that is true or not.... Neil --------------------------------------------------- Neil Firth Brasenose College Oxford OX1 4AJ United Kingdom Office: 01865 280616 [hidden email] http://www.maths.ox.ac.uk/~firth --------------------------------------------------- |
Thanks for that Neil.
Do you (or anyone else) know how well these methods perform in a minimum- finding prob. with many close local min in multi-dimensions? I understand that "global Newton" implies a global min., but what are the restrictions (if any)? Do local derivatives need to be estimated etc. etc.? Personally, I actually like the ideas underlying simulated annealing and downhill simplex. Very intuitive, minimum assumptions, v. nice. Ingber (www.ingber.com) talks about very fast annealing, which I must look into more, so perhaps there are useful refinements in this case. BTW - where are those lecture notes (module 9) you promised me in March? :-) Still waiting dude. Mike Quoting Neil P Firth <[hidden email]>: > Hi, > > I have to say that I'm not an expert on IR methods, but I have read some > stuff on using Levenberg-Marquardt Nonlnear least squares to do the > calibration to swaptions. Google on: levenberg swaption calibration. Could > also try global Newton methods. I read on wilmott.com that the NR L-M > method is flawed, but I don't know whether that is true or not.... > > Neil > > > --------------------------------------------------- > Neil Firth > Brasenose College Oxford OX1 4AJ United Kingdom > Office: 01865 280616 > [hidden email] > http://www.maths.ox.ac.uk/~firth > --------------------------------------------------- > > > ------------------------------------------------------- > This SF.Net email is sponsored by the new InstallShield X. > From Windows to Linux, servers to mobile, InstallShield X is the > one installation-authoring solution that does it all. Learn more and > evaluate today! http://www.installshield.com/Dev2Dev/0504 > _______________________________________________ > Quantlib-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/quantlib-users > -- |
In reply to this post by Neil P Firth
Hi
You can consider semidefinite programming: http://arxiv.org/abs/cs.CE/0302034 Stefano Neil P Firth <[hidden email]> wrote: Hi, I have to say that I'm not an expert on IR methods, but I have read some stuff on using Levenberg-Marquardt Nonlnear least squares to do the calibration to swaptions. Google on: levenberg swaption calibration. Could also try global Newton methods. I read on wilmott.com that the NR L-M method is flawed, but I don't know whether that is true or not.... Neil --------------------------------------------------- Neil Firth Brasenose College Oxford OX1 4AJ United Kingdom Office: 01865 280616 [hidden email] http://www.maths.ox.ac.uk/~firth --------------------------------------------------- ------------------------------------------------------- This SF.Net email is sponsored by the new InstallShield X. |
Free forum by Nabble | Edit this page |