Logo
Reference manual - version ored_version
CrossAssetModelData Class Reference

Cross Asset Model Parameters. More...

#include <ored/model/crossassetmodeldata.hpp>

Inheritance diagram for CrossAssetModelData:

Public Member Functions

Constructors
 CrossAssetModelData ()
 Default constructor.
 CrossAssetModelData (const vector< QuantLib::ext::shared_ptr< IrModelData > > &irConfigs, const vector< QuantLib::ext::shared_ptr< FxBsData > > &fxConfigs, const std::map< CorrelationKey, QuantLib::Handle< QuantLib::Quote > > &c, Real tolerance=1e-4, const std::string &measure="LGM", const CrossAssetModel::Discretization discretization=CrossAssetModel::Discretization::Exact, const QuantLib::SalvagingAlgorithm::Type &salvagingAlgorithm=SalvagingAlgorithm::None, const string &integrationPolicy=std::string(), const bool piecewiseIntegration=true)
 Detailed constructor (IR/FX only).
 CrossAssetModelData (const std::vector< QuantLib::ext::shared_ptr< IrModelData > > &irConfigs, const std::vector< QuantLib::ext::shared_ptr< FxBsData > > &fxConfigs, const std::vector< QuantLib::ext::shared_ptr< EqBsData > > &eqConfigs, const std::map< CorrelationKey, QuantLib::Handle< QuantLib::Quote > > &c, Real tolerance=1e-4, const std::string &measure="LGM", const CrossAssetModel::Discretization discretization=CrossAssetModel::Discretization::Exact, const QuantLib::SalvagingAlgorithm::Type &salvagingAlgorithm=SalvagingAlgorithm::None, const string &integrationPolicy=std::string(), const bool piecewiseIntegration=true)
 Detailed constructor (IR/FX/EQ only).
 CrossAssetModelData (const std::vector< QuantLib::ext::shared_ptr< IrModelData > > &irConfigs, const std::vector< QuantLib::ext::shared_ptr< FxBsData > > &fxConfigs, const std::vector< QuantLib::ext::shared_ptr< EqBsData > > &eqConfigs, const std::vector< QuantLib::ext::shared_ptr< InflationModelData > > &infConfigs, const std::vector< QuantLib::ext::shared_ptr< CrLgmData > > &crLgmConfigs, const std::vector< QuantLib::ext::shared_ptr< CrCirData > > &crCirConfigs, const std::vector< QuantLib::ext::shared_ptr< CommoditySchwartzData > > &comConfigs, const Size numberOfCreditStates, const std::map< CorrelationKey, QuantLib::Handle< QuantLib::Quote > > &c, Real tolerance=1e-4, const std::string &measure="LGM", const CrossAssetModel::Discretization discretization=CrossAssetModel::Discretization::Exact, const QuantLib::SalvagingAlgorithm::Type &salvagingAlgorithm=SalvagingAlgorithm::None, const string &integrationPolicy=std::string(), const bool piecewiseIntegration=true)
 Detailed constructor (all asset classes).
void clear ()
 Clear all vectors and maps.
void validate ()
 Check consistency of config vectors.
Inspectors
const stringdomesticCurrency () const
const vector< string > & currencies () const
const vector< string > & equities () const
const vector< string > & infIndices () const
const vector< string > & creditNames () const
const vector< string > & commodities () const
const vector< QuantLib::ext::shared_ptr< IrModelData > > & irConfigs () const
const vector< QuantLib::ext::shared_ptr< FxBsData > > & fxConfigs () const
const vector< QuantLib::ext::shared_ptr< EqBsData > > & eqConfigs () const
const vector< QuantLib::ext::shared_ptr< InflationModelData > > & infConfigs () const
const vector< QuantLib::ext::shared_ptr< CrLgmData > > & crLgmConfigs () const
const vector< QuantLib::ext::shared_ptr< CrCirData > > & crCirConfigs () const
const vector< QuantLib::ext::shared_ptr< CommoditySchwartzData > > & comConfigs () const
Size numberOfCreditStates () const
const std::map< CorrelationKey, QuantLib::Handle< QuantLib::Quote > > & correlations () const
Real bootstrapTolerance () const
const std::string & measure () const
CrossAssetModel::Discretization discretization () const
QuantLib::SalvagingAlgorithm::Type getSalvagingAlgorithm () const
const stringintegrationPolicy () const
bool piecewiseIntegration () const
Setters
stringdomesticCurrency ()
vector< string > & currencies ()
vector< string > & equities ()
vector< string > & infIndices ()
vector< string > & creditNames ()
vector< string > & commodities ()
vector< QuantLib::ext::shared_ptr< IrModelData > > & irConfigs ()
vector< QuantLib::ext::shared_ptr< FxBsData > > & fxConfigs ()
vector< QuantLib::ext::shared_ptr< EqBsData > > & eqConfigs ()
vector< QuantLib::ext::shared_ptr< InflationModelData > > & infConfigs ()
vector< QuantLib::ext::shared_ptr< CrLgmData > > & crLgmConfigs ()
vector< QuantLib::ext::shared_ptr< CrCirData > > & crCirConfigs ()
vector< QuantLib::ext::shared_ptr< CommoditySchwartzData > > & comConfigs ()
void setCorrelations (const std::map< CorrelationKey, QuantLib::Handle< QuantLib::Quote > > &corrs)
void setCorrelations (const QuantLib::ext::shared_ptr< InstantaneousCorrelations > &corrs)
Real & bootstrapTolerance ()
std::string & measure ()
CrossAssetModel::Discretization & discretization ()
QuantLib::SalvagingAlgorithm::Type & getSalvagingAlgorithm ()
void setNumberOfCreditStates (QuantLib::Size n)
Serialisation
virtual void fromXML (XMLNode *node) override
virtual XMLNode * toXML (XMLDocument &doc) const override
Public Member Functions inherited from XMLSerializable
void fromFile (const std::string &filename)
void toFile (const std::string &filename) const
void fromXMLString (const std::string &xml)
 Parse from XML string.
std::string toXMLString () const
 Parse from XML string.
std::string toXMLStringUnformatted () const

Operators

bool operator== (const CrossAssetModelData &rhs)
bool operator!= (const CrossAssetModelData &rhs)
void buildIrConfigs (map< string, QuantLib::ext::shared_ptr< IrModelData > > &irMap)
 helper to convert LGM data, possibly including defaults, into an IR config vector
void buildFxConfigs (std::map< std::string, QuantLib::ext::shared_ptr< FxBsData > > &fxMap)
 helper to convert FX data, possibly including defaults, into an FX config vector
void buildEqConfigs (std::map< std::string, QuantLib::ext::shared_ptr< EqBsData > > &eqMap)
 helper to convert EQ data, possibly including defaults, into an EQ config vector
void buildInfConfigs (const std::map< std::string, QuantLib::ext::shared_ptr< InflationModelData > > &mp)
 helper to convert INF data, possibly including defaults, into an INF config vector
void buildCrConfigs (std::map< std::string, QuantLib::ext::shared_ptr< CrLgmData > > &crLgmMap, std::map< std::string, QuantLib::ext::shared_ptr< CrCirData > > &crCirMap)
 helper to convert CR LGM data, possibly including defaults, into CR config vectors
void buildComConfigs (std::map< std::string, QuantLib::ext::shared_ptr< CommoditySchwartzData > > &comMap)
 helper to convert COM data, possibly including defaulta, into a COM config vector

Detailed Description

Cross Asset Model Parameters.

CrossAssetModelData comprises the specification of how to build and calibrate the CrossAssetModel. It contains

  • specifications for each currency IR component (IrLgmData)
  • specifications for each FX component (FxBsData)
  • the correlation specification between all factors of the model
  • a tolerance for bootstrap type calibration methods

Constructor & Destructor Documentation

◆ CrossAssetModelData() [1/3]

CrossAssetModelData ( const vector< QuantLib::ext::shared_ptr< IrModelData > > & irConfigs,
const vector< QuantLib::ext::shared_ptr< FxBsData > > & fxConfigs,
const std::map< CorrelationKey, QuantLib::Handle< QuantLib::Quote > > & c,
Real tolerance = 1e-4,
const std::string & measure = "LGM",
const CrossAssetModel::Discretization discretization = CrossAssetModel::Discretization::Exact,
const QuantLib::SalvagingAlgorithm::Type & salvagingAlgorithm = SalvagingAlgorithm::None,
const string & integrationPolicy = std::string(),
const bool piecewiseIntegration = true )

Detailed constructor (IR/FX only).

Parameters
irConfigsVector of IR model specifications
fxConfigsVector of FX model specifications
cCorrelation map
toleranceBootstrap tolerance used in model calibration
measureChoice of probability measure
discretizationChoice of discretization
salvagingAlgorithmChoice of salvaging algorithm
integrationPolicyintegration scheme
piecewiseIntegrationpiecewise integration

◆ CrossAssetModelData() [2/3]

CrossAssetModelData ( const std::vector< QuantLib::ext::shared_ptr< IrModelData > > & irConfigs,
const std::vector< QuantLib::ext::shared_ptr< FxBsData > > & fxConfigs,
const std::vector< QuantLib::ext::shared_ptr< EqBsData > > & eqConfigs,
const std::map< CorrelationKey, QuantLib::Handle< QuantLib::Quote > > & c,
Real tolerance = 1e-4,
const std::string & measure = "LGM",
const CrossAssetModel::Discretization discretization = CrossAssetModel::Discretization::Exact,
const QuantLib::SalvagingAlgorithm::Type & salvagingAlgorithm = SalvagingAlgorithm::None,
const string & integrationPolicy = std::string(),
const bool piecewiseIntegration = true )

Detailed constructor (IR/FX/EQ only).

Parameters
irConfigsVector of IR model specifications
fxConfigsVector of FX model specifications
eqConfigsVector of EQ model specifications
cCorrelation map
toleranceBootstrap tolerance used in model calibration
measureChoice of probability measure
discretizationChoice of discretization
salvagingAlgorithmChoice of salvaging algorithm
integrationPolicyintegration scheme
piecewiseIntegrationpiecewise integration

◆ CrossAssetModelData() [3/3]

CrossAssetModelData ( const std::vector< QuantLib::ext::shared_ptr< IrModelData > > & irConfigs,
const std::vector< QuantLib::ext::shared_ptr< FxBsData > > & fxConfigs,
const std::vector< QuantLib::ext::shared_ptr< EqBsData > > & eqConfigs,
const std::vector< QuantLib::ext::shared_ptr< InflationModelData > > & infConfigs,
const std::vector< QuantLib::ext::shared_ptr< CrLgmData > > & crLgmConfigs,
const std::vector< QuantLib::ext::shared_ptr< CrCirData > > & crCirConfigs,
const std::vector< QuantLib::ext::shared_ptr< CommoditySchwartzData > > & comConfigs,
const Size numberOfCreditStates,
const std::map< CorrelationKey, QuantLib::Handle< QuantLib::Quote > > & c,
Real tolerance = 1e-4,
const std::string & measure = "LGM",
const CrossAssetModel::Discretization discretization = CrossAssetModel::Discretization::Exact,
const QuantLib::SalvagingAlgorithm::Type & salvagingAlgorithm = SalvagingAlgorithm::None,
const string & integrationPolicy = std::string(),
const bool piecewiseIntegration = true )

Detailed constructor (all asset classes).

Parameters
irConfigsVector of IR model specifications
fxConfigsVector of FX model specifications
eqConfigsVector of EQ model specifications
infConfigsVector of INF model specifications
crLgmConfigsVector of CR LGM model specifications
crCirConfigsVector of CR CIR model specifications
comConfigsVector of COM Schwartz model specifications
numberOfCreditStatesNumber of credit states
cCorrelation map
toleranceBootstrap tolerance used in model calibration
measureChoice of probability measure
discretizationChoice of discretization
salvagingAlgorithmChoice of salvaging algorithm
integrationPolicyintegration scheme
piecewiseIntegrationpiecewise integration

Member Function Documentation

◆ fromXML()

virtual void fromXML ( XMLNode * node)
overridevirtual

Implements XMLSerializable.

◆ toXML()

virtual XMLNode * toXML ( XMLDocument & doc) const
overridevirtual

Implements XMLSerializable.