December 20, 2017 at 9:00 am #6233mirovParticipant
TestDecember 21, 2017 at 11:50 am #6234mirovParticipant
I apologize for title not being representative of the question I am going to ask, but this is the consequence of me having problems to post on the forum. Thanks Jerome for helping me out.
I have the question regarding the mean reversion calibration in the LGM model. It seems that the proposed way in ORE to go about this is to use the global calibration. Let’s suppose that we have a constant mean reversion and piecewise constant volatility. Given that the alpha times (volatility term) are fixed to the swaption expiries, am I being right in saying that for the mean reversion calibration to work by calling model_->calibrate(args) function, we need to provide at least two tenors for the same expiry in the simulation config file? Otherwise, the error will pop out given that Levenberg-Marquardt algorithm requires having more calibration points than the number of free parameters. My suggestion is that this should be checked before calling model_->calibrate(args) function.
MiroJanuary 6, 2018 at 6:59 pm #6240Peter CaspersKeymaster
yes you are correct, to calibrate both a constant reversion an a stepwise volatility you will need two different swaptions with the same expiry to satisfy the requirements of the LM optimiser. And yes, maybe we should add a check and throw an error message that is clearer than the one coming from the optimiser itself.
However, ORE also allows to use an exogenous mean reversion and only bootstrap the model volatility, in fact this is the way the examples calibrate their LGM models and in a sense is also a more natural approach: Since the mean reversion can be seen as a parameter determining the inter-temporal correlation structure of the model and Bermudan swaptions are sensitive to this (while Europeans are not), one can argue that the reversion should be implied from Bermudan swaption premiums. If no information on Bermudan swaption premiums is available, the reversion is a parameter that is not easy to determine in a reasonable way in my opinion.
We very much appreciate contributions to the ORE project, so feel free to open a ticket on github or / and provide a solution for the issues you observe.
- You must be logged in to reply to this topic.