37 if (!calibrationFilter.empty()) {
38 std::string tmp = calibrationFilter;
39 boost::algorithm::to_upper(tmp);
40 std::vector<std::string> tokens;
41 boost::split(tokens, tmp, boost::is_any_of(
","), boost::token_compress_on);
42 mdFilterFixings = std::find(tokens.begin(), tokens.end(),
"FIXINGS") != tokens.end();
43 mdFilterMarketData = std::find(tokens.begin(), tokens.end(),
"MARKETDATA") != tokens.end();
44 mdFilterCurves = std::find(tokens.begin(), tokens.end(),
"CURVES") != tokens.end();
45 mdFilterInfCurves = std::find(tokens.begin(), tokens.end(),
"INFLATIONCURVES") != tokens.end();
46 mdFilterCommCurves = std::find(tokens.begin(), tokens.end(),
"COMMODITYCURVES") != tokens.end();
47 mdFilterFxVols = std::find(tokens.begin(), tokens.end(),
"FXVOLS") != tokens.end();
48 mdFilterEqVols = std::find(tokens.begin(), tokens.end(),
"EQVOLS") != tokens.end();
49 mdFilterIrVols = std::find(tokens.begin(), tokens.end(),
"IRVOLS") != tokens.end();
50 mdFilterCommVols = std::find(tokens.begin(), tokens.end(),
"COMMVOLS") != tokens.end();
72 QuantLib::ext::shared_ptr<ore::data::YieldCurveCalibrationInfo> yts,
const std::string& name,
73 bool isDiscount,
const std::string& label) = 0;
77 QuantLib::ext::shared_ptr<ore::data::InflationCurveCalibrationInfo> yts,
78 const std::string& name,
const std::string& label) = 0;
81 QuantLib::ext::shared_ptr<ore::data::CommodityCurveCalibrationInfo> yts,
82 std::string
const& name, std::string
const& label) = 0;
85 virtual void addFxVol(
const QuantLib::Date& refdate, QuantLib::ext::shared_ptr<ore::data::FxEqCommVolCalibrationInfo> vol,
86 const std::string& name,
const std::string& label) = 0;
87 virtual void addEqVol(
const QuantLib::Date& refdate, QuantLib::ext::shared_ptr<ore::data::FxEqCommVolCalibrationInfo> vol,
88 const std::string& name,
const std::string& label) = 0;
89 virtual void addCommVol(
const QuantLib::Date& refdate, QuantLib::ext::shared_ptr<ore::data::FxEqCommVolCalibrationInfo> vol,
90 const std::string& name,
const std::string& label) = 0;
93 virtual void addIrVol(
const QuantLib::Date& refdate, QuantLib::ext::shared_ptr<ore::data::IrVolCalibrationInfo> vol,
94 const std::string& name,
const std::string& label) = 0;
97 virtual void populateReport(
const QuantLib::ext::shared_ptr<ore::data::Market>& market,
98 const QuantLib::ext::shared_ptr<ore::data::TodaysMarketParameters>& todaysMarketParams,
99 const std::string& label = std::string());
111 const QuantLib::ext::shared_ptr<ore::data::Report>& report);
115 void addYieldCurve(
const QuantLib::Date& refdate, QuantLib::ext::shared_ptr<ore::data::YieldCurveCalibrationInfo> yts,
116 const std::string&
name,
bool isDiscount,
const std::string& label)
override;
120 QuantLib::ext::shared_ptr<ore::data::InflationCurveCalibrationInfo> yts,
const std::string&
name,
121 const std::string& label)
override;
125 QuantLib::ext::shared_ptr<ore::data::CommodityCurveCalibrationInfo> yts,
const std::string&
name,
126 const std::string& label)
override;
129 void addFxVol(
const QuantLib::Date& refdate, QuantLib::ext::shared_ptr<ore::data::FxEqCommVolCalibrationInfo> vol,
130 const std::string&
name,
const std::string& label)
override;
131 void addEqVol(
const QuantLib::Date& refdate, QuantLib::ext::shared_ptr<ore::data::FxEqCommVolCalibrationInfo> vol,
132 const std::string&
name,
const std::string& label)
override;
133 void addCommVol(
const QuantLib::Date& refdate, QuantLib::ext::shared_ptr<ore::data::FxEqCommVolCalibrationInfo> vol,
134 const std::string&
name,
const std::string& label)
override;
137 void addIrVol(
const QuantLib::Date& refdate, QuantLib::ext::shared_ptr<ore::data::IrVolCalibrationInfo> vol,
138 const std::string&
name,
const std::string& label)
override;
141 QuantLib::ext::shared_ptr<ore::data::Report>
report_;
144 std::map<std::string, std::map<std::string, std::set<std::string>>>
calibrations_;
146 void addRowReport(
const std::string& moType,
const std::string& moId,
const std::string& resId,
147 const std::string& key1,
const std::string& key2,
const std::string& key3,
148 const boost::any& value);
149 void addEqFxVol(
const std::string& type, QuantLib::ext::shared_ptr<ore::data::FxEqCommVolCalibrationInfo> vol,
150 const std::string&
id,
const std::string& label);
151 const bool checkCalibrations(std::string label, std::string type, std::string
id)
const;
virtual void addInflationCurve(const QuantLib::Date &refdate, QuantLib::ext::shared_ptr< ore::data::InflationCurveCalibrationInfo > yts, const std::string &name, const std::string &label)=0
virtual void addFxVol(const QuantLib::Date &refdate, QuantLib::ext::shared_ptr< ore::data::FxEqCommVolCalibrationInfo > vol, const std::string &name, const std::string &label)=0
virtual void populateReport(const QuantLib::ext::shared_ptr< ore::data::Market > &market, const QuantLib::ext::shared_ptr< ore::data::TodaysMarketParameters > &todaysMarketParams, const std::string &label=std::string())
virtual ~MarketCalibrationReportBase()=default
virtual void addCommVol(const QuantLib::Date &refdate, QuantLib::ext::shared_ptr< ore::data::FxEqCommVolCalibrationInfo > vol, const std::string &name, const std::string &label)=0
virtual void addCommodityCurve(const QuantLib::Date &refdate, QuantLib::ext::shared_ptr< ore::data::CommodityCurveCalibrationInfo > yts, std::string const &name, std::string const &label)=0
virtual QuantLib::ext::shared_ptr< ore::data::Report > outputCalibrationReport()=0
CalibrationFilters calibrationFilters_
virtual void addYieldCurve(const QuantLib::Date &refdate, QuantLib::ext::shared_ptr< ore::data::YieldCurveCalibrationInfo > yts, const std::string &name, bool isDiscount, const std::string &label)=0
virtual void addIrVol(const QuantLib::Date &refdate, QuantLib::ext::shared_ptr< ore::data::IrVolCalibrationInfo > vol, const std::string &name, const std::string &label)=0
virtual void addEqVol(const QuantLib::Date &refdate, QuantLib::ext::shared_ptr< ore::data::FxEqCommVolCalibrationInfo > vol, const std::string &name, const std::string &label)=0
virtual void initialise(const std::string &label)
void addYieldCurve(const QuantLib::Date &refdate, QuantLib::ext::shared_ptr< ore::data::YieldCurveCalibrationInfo > yts, const std::string &name, bool isDiscount, const std::string &label) override
void addEqFxVol(const std::string &type, QuantLib::ext::shared_ptr< ore::data::FxEqCommVolCalibrationInfo > vol, const std::string &id, const std::string &label)
void addCommVol(const QuantLib::Date &refdate, QuantLib::ext::shared_ptr< ore::data::FxEqCommVolCalibrationInfo > vol, const std::string &name, const std::string &label) override
void addCommodityCurve(const QuantLib::Date &refdate, QuantLib::ext::shared_ptr< ore::data::CommodityCurveCalibrationInfo > yts, const std::string &name, const std::string &label) override
const bool checkCalibrations(std::string label, std::string type, std::string id) const
std::map< std::string, std::map< std::string, std::set< std::string > > > calibrations_
QuantLib::ext::shared_ptr< ore::data::Report > outputCalibrationReport() override
void addInflationCurve(const QuantLib::Date &refdate, QuantLib::ext::shared_ptr< ore::data::InflationCurveCalibrationInfo > yts, const std::string &name, const std::string &label) override
void addEqVol(const QuantLib::Date &refdate, QuantLib::ext::shared_ptr< ore::data::FxEqCommVolCalibrationInfo > vol, const std::string &name, const std::string &label) override
void addIrVol(const QuantLib::Date &refdate, QuantLib::ext::shared_ptr< ore::data::IrVolCalibrationInfo > vol, const std::string &name, const std::string &label) override
void addFxVol(const QuantLib::Date &refdate, QuantLib::ext::shared_ptr< ore::data::FxEqCommVolCalibrationInfo > vol, const std::string &name, const std::string &label) override
QuantLib::ext::shared_ptr< ore::data::Report > report_
void addRowReport(const std::string &moType, const std::string &moId, const std::string &resId, const std::string &key1, const std::string &key2, const std::string &key3, const boost::any &value)
CalibrationFilters(const std::string &calibrationFilter)