|
From: Peter C. <pca...@gm...> - 2014-11-17 18:00:15
|
Hi Ferdinando, I pushed a fix here (effectively it should yield the same results as the file attached earlier) https://github.com/lballabio/quantlib/pull/170 As far as I remember the reason for the change in the transformation function (for 1.3 or 1.4 ?) were nan / inf values occuring from time to time in the calibration. This is why I replaced the parabolas by truncated parabolas with linear wings (such that the result is C^1). If you feel that your test case is still working better in 1.2, could you please send some more details (forward, time to expiry), I'd be happy to discuss again then. Best regards Peter On 17 November 2014 13:25, Peter Caspers <pca...@gm...> wrote: > Hi Ferdinando, > > one problem is the transformation function direct(...) which is buggy for > alpha and nu. Can you try the attached version instead and see if it works > better ? > > I'd like to have a closer look and try on more cases before I send a PR > though. > > Thanks > Peter > > On 17 November 2014 12:06, Ferdinando M. Ametrano <na...@am...> > wrote: > >> Hi Peter >> >> SABR implementation on the current trunk has a regression compared with >> QuantLib 1.2.1 >> >> While trying to calibrate problematic smiles as: >> >> strike1.00%1.13%1.25%1.38%1.50%vol123.20%20.25%31.21%39.02%50.45%vol2 >> 16.67%20.20%27.85%32.79%37.27% >> >> 1.2.1 was able to offer these (non-optimal but decent) solutions: >> >> max errorrms errorend criteriaalphabetanurho1.79%0.94% StationaryPoint >> 0.58%25.00%346.03%34.19%0.65%0.43% StationaryPoint0.62%25.00%193.97% >> 63.66% >> >> >> the current trunk instead fails for the second smile with error >> "qlSABRInterpolationAlpha - nu must be non negative: -124.897 not allowed". >> >> If one tries to just use the four leftmost volatilities to simplify the >> problem, both calibrations fail with the same error. This leads me to >> believe the problem is about the solver looking for a solution in the >> negative nu region. If this is the case it could be solved having a >> positive constraint for nu. Do you agree? Could you please look into it? >> >> Please find attached a spreadsheet reproducing the error. We might even >> want to add a non regression test to the test suite. >> >> thank you for your help >> >> regards >> F >> > > |