# Implementation of solvers for curve construction

I'd be really interested to hear people's experiences of implementing global solvers for curve construction, especially with regard to how robust the approach is in practice, numerical performance, stability of the resulting Greeks and Jacobian. The topic is well laid out here, with some good examples. I'm interested in other practitioner's views on the approach, any pitfalls of this method and things to be careful of.

By way of background, as the book explains very clearly, the need for global curve construction arises when we build a series of curves that depend on each other and therefore cannot be constructed using a sequential bootstrap. A good example given in the above book is the AUD curve, whereby IR swaps are quarterly upto 3y and semiannual thereafter, with quarterly vs semi-annual basis swaps available across the entire maturity spectrum, thereby requiring 3M and 6M forward curves to be build simultaneously. Another example is in the upcoming demise of LIBOR, where for the case of USD market participants, some combination of LIBOR/SOFR, LIBOR/FF or FF/SOFR could be used to build the relevant curves.

For the global curve construction, the numerical algorithm that appears to be used is a multi-dimensional Newton solver. One query I had was whether people frequently encounter the case that as the number of instruments increases, it may not be possible to find a multi-dimensional root, i.e. to solve for the discount factors that exactly reprice the market quotes. If this occurs, what are the typical work-arounds? Any difference in performance depending on which interpolation scheme is used?

Also, for a bank which may have say 100 currency curves to build, what would be a sensible way of setting up the solver? I'm guessing that a global solver with 1000s of instruments to price across all currencies is not the way forward. Is it common to say calibrate individual currencies curves at a time, combining them with the cross-currency basis swaps if basis adjusted curves are required?

Thanks!

• Marc Henrard is a brilliant guy and his multicurve book is excellent. OpenGamma Strata is a terrific open-source library. As with any topic, it's a good practice to read more than one paper, so that you can become better aware of other people's opinions and viewpoints. Also I doubt that many people build curves for >1 currencies at a time in practice. But even for a single currency like USD or EUR a multi-curve can indeed have hundreds of instruments with circular dependencies. Commented Feb 7, 2021 at 15:26
• In practice, The problem is commonly quite well delineated via the underlying instruments. You simply do not need a zillion of currencies/curves to bootstrap all curves in a given currency; i.e. you commonly have a quite clear (and intuitive) chain of dependencies, and this is due to the segmentation of the underlying markets per se. It is most often possible to „stack“ curves on top of each other, thereby seldomly requiring the calibration of more than one curve at a time. Commented Feb 7, 2021 at 18:28