Logo
Reference manual - version ored_version
Classes | List of all members
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< boost::shared_ptr< IrModelData >> &irConfigs, const vector< boost::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)
 Detailed constructor (IR/FX only) More...
 
 CrossAssetModelData (const std::vector< boost::shared_ptr< IrModelData >> &irConfigs, const std::vector< boost::shared_ptr< FxBsData >> &fxConfigs, const std::vector< boost::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)
 Detailed constructor (IR/FX/EQ only) More...
 
 CrossAssetModelData (const std::vector< boost::shared_ptr< IrModelData >> &irConfigs, const std::vector< boost::shared_ptr< FxBsData >> &fxConfigs, const std::vector< boost::shared_ptr< EqBsData >> &eqConfigs, const std::vector< boost::shared_ptr< InflationModelData >> &infConfigs, const std::vector< boost::shared_ptr< CrLgmData >> &crLgmConfigs, const std::vector< boost::shared_ptr< CrCirData >> &crCirConfigs, const std::vector< boost::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)
 Detailed constructor (all asset classes) More...
 
void clear ()
 Clear all vectors and maps.
 
void validate ()
 Check consistency of config vectors.
 
Inspectors
const string & domesticCurrency () 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< boost::shared_ptr< IrModelData > > & irConfigs () const
 
const vector< boost::shared_ptr< FxBsData > > & fxConfigs () const
 
const vector< boost::shared_ptr< EqBsData > > & eqConfigs () const
 
const vector< boost::shared_ptr< InflationModelData > > & infConfigs () const
 
const vector< boost::shared_ptr< CrLgmData > > & crLgmConfigs () const
 
const vector< boost::shared_ptr< CrCirData > > & crCirConfigs () const
 
const vector< boost::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
 
Setters
string & domesticCurrency ()
 
vector< string > & currencies ()
 
vector< string > & equities ()
 
vector< string > & infIndices ()
 
vector< string > & creditNames ()
 
vector< string > & commodities ()
 
vector< boost::shared_ptr< IrModelData > > & irConfigs ()
 
vector< boost::shared_ptr< FxBsData > > & fxConfigs ()
 
vector< boost::shared_ptr< EqBsData > > & eqConfigs ()
 
vector< boost::shared_ptr< InflationModelData > > & infConfigs ()
 
vector< boost::shared_ptr< CrLgmData > > & crLgmConfigs ()
 
vector< boost::shared_ptr< CrCirData > > & crCirConfigs ()
 
vector< boost::shared_ptr< CommoditySchwartzData > > & comConfigs ()
 
void setCorrelations (const std::map< CorrelationKey, QuantLib::Handle< QuantLib::Quote >> &corrs)
 
void setCorrelations (const boost::shared_ptr< InstantaneousCorrelations > &corrs)
 
Real & bootstrapTolerance ()
 
std::string & measure ()
 
CrossAssetModel::Discretization & discretization ()
 
Serialisation
virtual void fromXML (XMLNode *node) override
 
virtual XMLNodetoXML (XMLDocument &doc) override
 
- Public Member Functions inherited from XMLSerializable
void fromFile (const std::string &filename)
 
void toFile (const std::string &filename)
 
void fromXMLString (const std::string &xml)
 Parse from XML string.
 
std::string toXMLString ()
 Parse from XML string.
 

Operators

bool operator== (const CrossAssetModelData &rhs)
 
bool operator!= (const CrossAssetModelData &rhs)
 
void buildIrConfigs (map< string, boost::shared_ptr< IrModelData >> &irMap)
 helper to convert LGM data, possibly including defaults, into an IR config vector
 
void buildFxConfigs (std::map< std::string, boost::shared_ptr< FxBsData >> &fxMap)
 helper to convert FX data, possibly including defaults, into an FX config vector
 
void buildEqConfigs (std::map< std::string, boost::shared_ptr< EqBsData >> &eqMap)
 helper to convert EQ data, possibly including defaults, into an EQ config vector
 
void buildInfConfigs (const std::map< std::string, boost::shared_ptr< InflationModelData >> &mp)
 helper to convert INF data, possibly including defaults, into an INF config vector
 
void buildCrConfigs (std::map< std::string, boost::shared_ptr< CrLgmData >> &crLgmMap, std::map< std::string, boost::shared_ptr< CrCirData >> &crCirMap)
 helper to convert CR LGM data, possibly including defaults, into CR config vectors
 
void buildComConfigs (std::map< std::string, boost::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

Constructor & Destructor Documentation

◆ CrossAssetModelData() [1/3]

CrossAssetModelData ( const vector< boost::shared_ptr< IrModelData >> &  irConfigs,
const vector< boost::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 
)

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

◆ CrossAssetModelData() [2/3]

CrossAssetModelData ( const std::vector< boost::shared_ptr< IrModelData >> &  irConfigs,
const std::vector< boost::shared_ptr< FxBsData >> &  fxConfigs,
const std::vector< boost::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 
)

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

◆ CrossAssetModelData() [3/3]

CrossAssetModelData ( const std::vector< boost::shared_ptr< IrModelData >> &  irConfigs,
const std::vector< boost::shared_ptr< FxBsData >> &  fxConfigs,
const std::vector< boost::shared_ptr< EqBsData >> &  eqConfigs,
const std::vector< boost::shared_ptr< InflationModelData >> &  infConfigs,
const std::vector< boost::shared_ptr< CrLgmData >> &  crLgmConfigs,
const std::vector< boost::shared_ptr< CrCirData >> &  crCirConfigs,
const std::vector< boost::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 
)

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