New faster data fitting solver strengthens NAG Library Optimization Suite
New nonlinear least squares solver for calibration

4 November 2020 - Oxford, UK: NAG announces key numerical updates to the NAG Library. New at Mark 27.1 is a novel nonlinear least squares solver for unconstrained and bound-constrained data fitting (calibration) problems. The new solver embeds various algorithms and regularization techniques to overcome potential convergence difficulties present in simpler methods and to increase overall robustness. In benchmark studies, the new solver was able to solve 25% more problems and a further 60% of problems faster than the solver it replaces.

New solving convex and non-convex QCQP problems

Further additions to the Optimization Suite significantly simplify building and solving quadratically constrained quadratic programming (QCQP) problems. Quadratic functions can be set either in factored or assembled form, convex or nonconvex and seamlessly solved by compatible solvers in the Suite.

Increased adjoint solvers availability

Joining the major Optimization updates are more Adjoint solvers – available in the NAG AD Library which ships with the NAG Library. When used with NAG’s AD tool dco/c++, the NAG AD Library offers a smooth workflow which makes it easy to incorporate NAG solvers into a user's AD codes.

New fast implied volatilities

Of specific interest to finance industry professionals is a new solver for computing the implied volatility of a European option contract. This solver gives a choice of two algorithms. The first is designed for short vectors of input data and achieves close to machine accuracy for all but the most extreme inputs. The second is Chebychev based, designed for long vectors of input data, where vector instructions can be exploited to give very fast performance. For applications in which accuracy to machine precision is not required, the solver can also be instructed to aim for accuracy to roughly single precision (approximately seven decimal places), giving even further performance improvements.

The figure shows an example of a volatility surface: a plot of how the volatility varies according to the price and time to maturity. Volatility surfaces can be highly curved, which makes accurately computing the volatility a difficult problem. The new NAG Library solver achieves very high accuracy even for the most difficult of volatility surfaces.

Speaking of the new NAG Library, Ely Klepfish, Consulting Quantitative Analyst said

“During my 20+ year Quantitative Finance career I have used NAG Library Optimization solvers for research and building portfolio analysis tools. The addition of this highly competitive QCQP solver is very welcome. I will be using it during construction for risk budgeting, for implementation of maximum entropy diversification constraint, and in particular, for equal risk contribution portfolios.”

NAG Library availability

The NAG Library is a comprehensive collection of solvers for the solution of numerical and statistical problems. It offers a positive user-experience due to its extensive documentation and technical support by the team that develop and maintain it. The Library consists of several generic interfaces providing solvers for C, C++, Python, Fortran, VBA, Java, and .NET.