|
From: Peter C. <pca...@gm...> - 2014-11-17 12:25:22
|
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 > |