@@ -854,6 +854,9 @@ void CrossAssetModelBuilder::calibrateInflation(const InfJyData& data, Size mode
854854 toCalibrate[2 ] = idxVol.calibrate ();
855855
856856 // Calibrate the model.
857+ resetModelParams (CrossAssetModel::AssetType::INF, 0 , modelIdx, Null<Size>());
858+ resetModelParams (CrossAssetModel::AssetType::INF, 1 , modelIdx, Null<Size>());
859+ resetModelParams (CrossAssetModel::AssetType::INF, 2 , modelIdx, Null<Size>());
857860 model_->calibrateInfJyGlobal (modelIdx, allHelpers, *optimizationMethod_, endCriteria_, toCalibrate);
858861
859862 } else {
@@ -913,7 +916,7 @@ void CrossAssetModelBuilder::calibrateInflation(const InfJyData& data, Size mode
913916
914917 // reset to initial params to ensure identical calibration outcomes for identical baskets
915918 resetModelParams (CrossAssetModel::AssetType::INF, 2 , modelIdx, Null<Size>());
916- resetModelParams (CrossAssetModel::AssetType::INF, 2 , rrIdx , Null<Size>());
919+ resetModelParams (CrossAssetModel::AssetType::INF, rrIdx, modelIdx , Null<Size>());
917920
918921 while (inflationCalibrationErrors_[modelIdx] > cc.rmseTolerance () && numIts < cc.maxIterations ()) {
919922 model_->calibrateInfJyIterative (modelIdx, 2 , idxBasket, *optimizationMethod_, endCriteria_);
0 commit comments