Skip to content

Commit 0e835ef

Browse files
pcaspersjenkins
authored andcommitted
add back ql submodule, for some reason git subrepo removed that
1 parent 1dedb54 commit 0e835ef

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

OREData/ored/model/crossassetmodelbuilder.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -979,7 +979,9 @@ void CrossAssetModelBuilder::calibrateInflation(const InfJyData& data, Size mode
979979
resetModelParams(CrossAssetModel::AssetType::INF, 2, modelIdx, Null<Size>());
980980
resetModelParams(CrossAssetModel::AssetType::INF, rrIdx, modelIdx, Null<Size>());
981981

982-
while (inflationCalibrationErrors_[modelIdx] > cc.rmseTolerance() && numIts < cc.maxIterations()) {
982+
while (inflationCalibrationErrors_[modelIdx] >
983+
std::min(cc.rmseTolerance(), config_->bootstrapTolerance()) &&
984+
numIts < cc.maxIterations()) {
983985
model_->calibrateInfJyIterative(modelIdx, 2, idxBasket, *optimizationMethod_, endCriteria_);
984986
model_->calibrateInfJyIterative(modelIdx, rrIdx, rrBasket, *optimizationMethod_, endCriteria_);
985987
numIts++;
@@ -1008,14 +1010,14 @@ void CrossAssetModelBuilder::calibrateInflation(const InfJyData& data, Size mode
10081010
DLOG("INF (JY) " << data.index() << " calibration errors:");
10091011
inflationCalibrationErrors_[modelIdx] = getCalibrationError(allHelpers);
10101012
if (data.calibrationType() == CalibrationType::Bootstrap) {
1011-
if (fabs(inflationCalibrationErrors_[modelIdx]) < cc.rmseTolerance()) {
1013+
if (fabs(inflationCalibrationErrors_[modelIdx]) < config_->bootstrapTolerance()) {
10121014
TLOGGERSTREAM("Calibration details:");
10131015
TLOGGERSTREAM(getCalibrationDetails(rrBasket, idxBasket, inflationParam, rrVol.calibrate()));
10141016
TLOGGERSTREAM("rmse = " << inflationCalibrationErrors_[modelIdx]);
10151017
} else {
10161018
std::stringstream ss;
10171019
ss << "INF (JY) " << modelIdx << " calibration error " << std::scientific
1018-
<< inflationCalibrationErrors_[modelIdx] << " exceeds tolerance " << cc.rmseTolerance();
1020+
<< inflationCalibrationErrors_[modelIdx] << " exceeds tolerance " << config_->bootstrapTolerance();
10191021
string exceptionMessage = ss.str();
10201022
StructuredModelErrorMessage("Failed to calibrate INF JY Model", exceptionMessage, id_).log();
10211023
WLOGGERSTREAM("Calibration details:");

0 commit comments

Comments
 (0)