In ExampleMarketDataBuilder -> loadRatesCurves function, a CurveGroup and the discount and forward curves present in that curve group are added to the MarketEnvironmentBuilder. Because of this, the built MarketEnvironment contains a single curve twice( Once as part of CurveGroup and once outside). Which of these are used in internal calculations? This is required because if I am shifting the Curve, there could be a situation where the Curve in CurveGroup and the one outside may vary while both of these are present in the same environment for the same scenario index.


In the latest code on master branch, there is no longer any need for the curve group to be added to the snapshot. I’m going to remove that bit of code today.

However, your class names indicate that you are running a slightly older version of the code, and I cannot say for certain whether the group, individual IDs or both are needed. The easiest way to find out is to remove the group and see if everything carries on working. If so, then the group is not needed.

Hope that helps.