Logo
Reference manual - version ored_version
CommodityCurveConfig Class Reference

Commodity curve configuration. More...

#include <ored/configuration/commoditycurveconfig.hpp>

Inheritance diagram for CommodityCurveConfig:

Public Types

enum class  Type { Direct , CrossCurrency , Basis , Piecewise }

Public Member Functions

Constructors
 CommodityCurveConfig ()
 Default constructor.
 CommodityCurveConfig (const std::string &curveId, const std::string &curveDescription, const std::string &currency, const std::vector< std::string > &quotes, const std::string &commoditySpotQuote="", const std::string &dayCountId="A365", const std::string &interpolationMethod="Linear", bool extrapolation=true, const std::string &conventionsId="")
 Detailed constructor for Direct commodity curve configuration.
 CommodityCurveConfig (const std::string &curveId, const std::string &curveDescription, const std::string &currency, const std::string &basePriceCurveId, const std::string &baseYieldCurveId, const std::string &yieldCurveId, bool extrapolation=true)
 Detailed constructor for CrossCurrency commodity curve configuration.
 CommodityCurveConfig (const std::string &curveId, const std::string &curveDescription, const std::string &currency, const std::string &basePriceCurveId, const std::string &baseConventionsId, const std::vector< std::string > &basisQuotes, const std::string &basisConventionsId, const std::string &dayCountId="A365", const std::string &interpolationMethod="Linear", bool extrapolation=true, bool addBasis=true, QuantLib::Natural monthOffset=0, bool averageBase=true)
 Detailed constructor for Basis commodity curve configuration.
 CommodityCurveConfig (const std::string &curveId, const std::string &curveDescription, const std::string &currency, const std::vector< PriceSegment > &priceSegments, const std::string &dayCountId="A365", const std::string &interpolationMethod="Linear", bool extrapolation=true, const QuantLib::ext::optional< BootstrapConfig > &bootstrapConfig=QuantLib::ext::nullopt)
 Detailed constructor for Piecewise commodity curve configuration.
Serialisation
void fromXML (XMLNode *node) override
XMLNode * toXML (XMLDocument &doc) const override
Inspectors
const Typetype () const
const std::string & currency () const
const std::string & commoditySpotQuoteId () const
const std::string & dayCountId () const
const std::string & interpolationMethod () const
const std::string & basePriceCurveId () const
const std::string & baseYieldCurveId () const
const std::string & yieldCurveId () const
bool extrapolation () const
const vector< string > & fwdQuotes () const
const std::string & conventionsId () const
const std::string & baseConventionsId () const
bool addBasis () const
QuantLib::Natural monthOffset () const
bool averageBase () const
bool priceAsHistFixing () const
const std::map< unsigned short, PriceSegment > & priceSegments () const
const QuantLib::ext::optional< BootstrapConfig > & bootstrapConfig () const
Public Member Functions inherited from CurveConfig
 CurveConfig (const string &curveID, const string &curveDescription, const vector< string > &quotes=vector< string >())
 Detailed constructor.
 CurveConfig ()
 Default constructor.
const stringcurveID () const
const stringcurveDescription () const
set< stringrequiredCurveIds (const CurveSpec::CurveType &curveType) const
set< stringrequiredNames (const MarketObject o, const std::string &configuration) const
map< CurveSpec::CurveType, set< string > > requiredCurveIds () const
map< MarketObject, set< string > > requiredNames (const std::string &configuration) const
map< pair< MarketObject, string >, set< string > > requiredNames () const
stringcurveID ()
stringcurveDescription ()
void setRequiredCurveIds (const CurveSpec::CurveType &curveType, const set< string > &ids)
void setRequiredCurveIds (const map< CurveSpec::CurveType, set< string > > &ids)
void setRequiredNames (const MarketObject o, const std::string &configuration, const set< string > &ids)
void setRequiredNames (const map< std::pair< MarketObject, std::string >, set< string > > &ids)
virtual const vector< string > & quotes ()
 Return all the market quotes required for this config.
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

Setters

Typetype ()
std::string & currency ()
std::string & commoditySpotQuoteId ()
std::string & dayCountId ()
std::string & interpolationMethod ()
std::string & basePriceCurveId ()
std::string & baseYieldCurveId ()
std::string & yieldCurveId ()
bool & extrapolation ()
std::string & conventionsId ()
std::string & baseConventionsId ()
bool & addBasis ()
QuantLib::Natural & monthOffset ()
bool & averageBase ()
bool & priceAsHistFixing ()
void setPriceSegments (const std::map< unsigned short, PriceSegment > &priceSegments)
void setBootstrapConfig (const BootstrapConfig &bootstrapConfig)

Additional Inherited Members

bool requiredIdsInitialized_ = false
map< CurveSpec::CurveType, set< string > > requiredCurveIds_
map< std::pair< MarketObject, std::string >, set< string > > requiredNames_
string curveID_
string curveDescription_
vector< stringquotes_

Detailed Description

Commodity curve configuration.

Member Enumeration Documentation

◆ Type

enum class Type
strong

The type of commodity curve that has been configured:

  • Direct: if the commodity price curve is built from commodity forward quotes
  • CrossCurrency: if the commodity price curve is implied from a price curve in a different currency
  • Basis: if the commodity price curve is built from basis quotes
  • Piecewise: if the commodity price curve is bootstrapped from sets of instruments

Member Function Documentation

◆ fromXML()

void fromXML ( XMLNode * node)
overridevirtual

Implements XMLSerializable.

◆ toXML()

XMLNode * toXML ( XMLDocument & doc) const
overridevirtual

Implements XMLSerializable.