Skip to content

Commit 41daf68

Browse files
James Mac Halejenkins
authored andcommitted
Adding market calibration report to market data analytic.
1 parent 15f7767 commit 41daf68

2 files changed

Lines changed: 17 additions & 1 deletion

File tree

OREAnalytics/orea/app/analytic.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,17 @@ void MarketDataAnalyticImpl::runAnalytic(
221221
analytic()->buildMarket(loader);
222222
CONSOLE("OK");
223223

224+
if (inputs_->outputTodaysMarketCalibration()) {
225+
CONSOLEW("Market Calibration");
226+
LOG("Write todays market calibration report");
227+
auto t = boost::dynamic_pointer_cast<TodaysMarket>(analytic()->market());
228+
QL_REQUIRE(t != nullptr, "expected todays market instance");
229+
boost::shared_ptr<InMemoryReport> mktReport = boost::make_shared<InMemoryReport>();
230+
ore::analytics::ReportWriter(inputs_->reportNaString())
231+
.writeTodaysMarketCalibrationReport(*mktReport, t->calibrationInfo());
232+
analytic()->reports()["MARKET"]["todaysmarketcalibration"] = mktReport;
233+
CONSOLE("OK");
234+
}
224235
}
225236

226237
} // namespace analytics

OREAnalytics/orea/app/oreapp.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1099,8 +1099,13 @@ void OREApp::buildInputParameters(boost::shared_ptr<InputParameters> inputs,
10991099
if (tmp != "")
11001100
inputs->setPortfolioFilterDate(tmp);
11011101

1102-
if (inputs->analytics().size() == 0)
1102+
if (inputs->analytics().size() == 0) {
11031103
inputs->insertAnalytic("MARKETDATA");
1104+
inputs->setOutputTodaysMarketCalibration(true);
1105+
if (inputs->lazyMarketBuilding())
1106+
LOG("Lazy market build being overridden to \"false\" for MARKETDATA analytic.")
1107+
inputs->setLazyMarketBuilding(false);
1108+
}
11041109

11051110
LOG("buildInputParameters done");
11061111
}

0 commit comments

Comments
 (0)