31 const vector<CalibrationBasket>& calibrationBaskets,
32 const std::string& currency,
33 const std::string& index,
37 const bool ignoreDuplicateCalibrationExpiryTimes)
38 :
InflationModelData(calibrationType, calibrationBaskets, currency, index, ignoreDuplicateCalibrationExpiryTimes),
39 reversion_(reversion),
40 volatility_(volatility),
41 reversionTransformation_(reversionTransformation) {}
58 QL_REQUIRE(node,
"XML Node should not be null");
60 "node name to be either LGM or DodgsonKainth");
71 QL_REQUIRE(
calibrationBaskets_.empty(),
"Calibration baskets have already been populated.");
101 QL_REQUIRE(
strikes.size() == maturities.size(),
"Number of maturities and strikes for inflation index " <<
102 index() <<
" should match but got " <<
strikes.size() <<
" strikes and " << maturities.size() <<
112 strikes.resize(maturities.size(),
"ATM/AtmFwd");
116 vector<QuantLib::ext::shared_ptr<CalibrationInstrument>> instruments;
117 for (Size i = 0; i < maturities.size(); ++i) {
120 instruments.push_back(QuantLib::ext::make_shared<CpiCapFloor>(type, p, s));
LgmReversionTransformation reversionTransformation_
ReversionParameter reversion_
InfDkData()
Default constructor.
const VolatilityParameter & volatility() const
VolatilityParameter volatility_
void fromXML(XMLNode *node) override
XMLNode * toXML(XMLDocument &doc) const override
const ReversionParameter & reversion() const
const LgmReversionTransformation & reversionTransformation() const
void populateCalibrationBaskets(XMLNode *node)
Support legacy XML interface for reading calibration instruments.
void append(XMLDocument &doc, XMLNode *node) const override
Method used by toXML in derived classes to add the members here to a node.
const std::string & index() const
void fromXML(XMLNode *node) override
std::vector< CalibrationBasket > calibrationBaskets_
void fromXML(XMLNode *node) override
XMLNode * toXML(XMLDocument &doc) const override
void fromXML(XMLNode *node) override
XMLNode * toXML(XMLDocument &doc) const override
Small XML Document wrapper class.
XMLNode * allocNode(const string &nodeName)
util functions that wrap rapidxml
static string getNodeName(XMLNode *n)
Get and set a node's name.
static string getChildValue(XMLNode *node, const string &name, bool mandatory=false, const string &defaultValue=string())
static XMLNode * getChildNode(XMLNode *n, const string &name="")
static vector< string > getChildrenValuesAsStrings(XMLNode *node, const string &name, bool mandatory=false)
static void appendNode(XMLNode *parent, XMLNode *child)
boost::variant< QuantLib::Date, QuantLib::Period > parseDateOrPeriod(const string &s)
Convert text to QuantLib::Period or QuantLib::Date.
CapFloor::Type parseCapFloorType(const string &s)
Dodgson Kainth inflation model component data for the cross asset model.
class for holding details of a zero coupon CPI cap floor calibration instrument.
CalibrationType
Supported calibration types.
QuantLib::ext::shared_ptr< BaseStrike > parseBaseStrike(const string &strStrike)
Parse a Strike from its string representation, strStrike.
Serializable Credit Default Swap.
Map text representations to QuantLib/QuantExt types.