Parallelising RatesCurveCalibrator#calibrate

I am looking to expand the market coverage of our application from G3 to G10 and have reached the point where calls to RatesCurveCalibrator#calibrate are now taking between 6-9 seconds to complete. That’s with 32 curves covering 6 currencies with 4 more to go.

Do you have any suggestions on how to improve this performance, and whether this is typical? For example is it common to fit currencies independent of each other and then combine into a consolidated ImmutableRatesProvider?

RatesCurveCalibrator has two calibrate methods, one that takes one definition and one that takes a list. The latter is suitable for passing in separate groups of curves yet still outputting one combined rates provider.

I recall that the quants originally intended the code in the single method to intelligently split the definition before calling the list-based method, but that code was never written. Nevertheless, the principle of separating the definitions is supported by the API.

Hope that helps.

Thanks, I have something un-intelligent working which should suffice for now, is there a github issue for this enhancement that I could watch?

1 Like

That’s great, thanks