Skip to content

Commit f8cc24a

Browse files
pcaspersjenkins
authored andcommitted
QPR-11659 add sensi config report
1 parent 208869a commit f8cc24a

4 files changed

Lines changed: 120 additions & 25 deletions

File tree

OREAnalytics/orea/app/reportwriter.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1141,6 +1141,22 @@ void ReportWriter::writeSensitivityReport(Report& report, const boost::shared_pt
11411141
LOG("Sensitivity report finished");
11421142
}
11431143

1144+
void ReportWriter::writeSensitivityConfigReport(ore::data::Report& report,
1145+
const std::map<RiskFactorKey, QuantLib::Real>& shiftSizes,
1146+
const std::map<RiskFactorKey, QuantLib::Real>& baseValues) {
1147+
LOG("Writing Sensitivity Config report");
1148+
1149+
report.addColumn("Key", string()).addColumn("BaseValue", double(), 8).addColumn("ShiftSize", double(), 8);
1150+
1151+
for (auto const& [key, shift] : shiftSizes) {
1152+
report.next();
1153+
report.add(ore::data::to_string(key)).add(baseValues.at(key)).add(shift);
1154+
}
1155+
1156+
report.end();
1157+
LOG("Sensitivity Config report finished.");
1158+
}
1159+
11441160
template <class T>
11451161
void addMapResults(boost::any resultMap, const std::string& tradeId, const std::string& resultName, Report& report) {
11461162
T map = boost::any_cast<T>(resultMap);

OREAnalytics/orea/app/reportwriter.hpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,10 @@ class ReportWriter {
104104
virtual void writeSensitivityReport(ore::data::Report& report, const boost::shared_ptr<SensitivityStream>& ss,
105105
QuantLib::Real outputThreshold = 0.0, QuantLib::Size outputPrecision = 2);
106106

107+
virtual void writeSensitivityConfigReport(ore::data::Report& report,
108+
const std::map<RiskFactorKey, QuantLib::Real>& shiftSizes,
109+
const std::map<RiskFactorKey, QuantLib::Real>& baseValues);
110+
107111
virtual void writeAdditionalResultsReport(ore::data::Report& report, boost::shared_ptr<ore::data::Portfolio> portfolio,
108112
boost::shared_ptr<Market> market, const std::string& baseCurrency);
109113

0 commit comments

Comments
 (0)