@@ -51,7 +51,7 @@ MultiThreadedValuationEngine::MultiThreadedValuationEngine(
5151 const boost::shared_ptr<ore::analytics::ScenarioFilter>& scenarioFilter,
5252 const boost::shared_ptr<ore::data::ReferenceDataManager>& referenceData,
5353 const ore::data::IborFallbackConfig& iborFallbackConfig, const bool handlePseudoCurrenciesTodaysMarket,
54- const bool handlePseudoCurrenciesSimMarket,
54+ const bool handlePseudoCurrenciesSimMarket, const bool recalibrateModels,
5555 const std::function<boost::shared_ptr<ore::analytics::NPVCube>(const QuantLib::Date&, const std::set<std::string>&,
5656 const std::vector<QuantLib::Date>&,
5757 const QuantLib::Size)>& cubeFactory,
@@ -67,8 +67,9 @@ MultiThreadedValuationEngine::MultiThreadedValuationEngine(
6767 useSpreadedTermStructures_(useSpreadedTermStructures), cacheSimData_(cacheSimData),
6868 scenarioFilter_(scenarioFilter), referenceData_(referenceData), iborFallbackConfig_(iborFallbackConfig),
6969 handlePseudoCurrenciesTodaysMarket_(handlePseudoCurrenciesTodaysMarket),
70- handlePseudoCurrenciesSimMarket_(handlePseudoCurrenciesSimMarket), cubeFactory_(cubeFactory),
71- nettingSetCubeFactory_(nettingSetCubeFactory), cptyCubeFactory_(cptyCubeFactory), context_(context) {
70+ handlePseudoCurrenciesSimMarket_(handlePseudoCurrenciesSimMarket), recalibrateModels_(recalibrateModels),
71+ cubeFactory_(cubeFactory), nettingSetCubeFactory_(nettingSetCubeFactory), cptyCubeFactory_(cptyCubeFactory),
72+ context_(context) {
7273
7374 QL_REQUIRE (nThreads_ != 0 , " MultiThreadedValuationEngine: nThreads must be > 0" );
7475
@@ -313,8 +314,10 @@ void MultiThreadedValuationEngine::buildCube(
313314
314315 // build valuation engine
315316
316- auto valEngine = boost::make_shared<ore::analytics::ValuationEngine>(today_, dateGrid_, simMarket,
317- engineFactory->modelBuilders ());
317+ auto valEngine = boost::make_shared<ore::analytics::ValuationEngine>(
318+ today_, dateGrid_, simMarket,
319+ recalibrateModels_ ? engineFactory->modelBuilders ()
320+ : std::set<std::pair<std::string, boost::shared_ptr<QuantExt::ModelBuilder>>>());
318321 valEngine->registerProgressIndicator (progressIndicator);
319322
320323 // build mini-cube
0 commit comments