Logo
Reference manual - version ored_version
Public Types | List of all members
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 boost::optional< BootstrapConfig > &bootstrapConfig=boost::none)
 Detailed constructor for Piecewise commodity curve configuration.
 
Serialisation
void fromXML (XMLNode *node) override
 
XMLNodetoXML (XMLDocument &doc) 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 boost::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 string & curveID () const
 
const string & curveDescription () const
 
const set< string > & requiredCurveIds (const CurveSpec::CurveType &curveType) const
 
const map< CurveSpec::CurveType, set< string > > & requiredCurveIds () const
 
string & curveID ()
 
string & curveDescription ()
 
set< string > & requiredCurveIds (const CurveSpec::CurveType &curveType)
 
map< CurveSpec::CurveType, set< string > > & requiredCurveIds ()
 
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)
 
void fromXMLString (const std::string &xml)
 Parse from XML string.
 
std::string toXMLString ()
 Parse from XML string.
 

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

- Protected Attributes inherited from CurveConfig
string curveID_
 
string curveDescription_
 
vector< string > quotes_
 
map< CurveSpec::CurveType, set< string > > requiredCurveIds_
 

Detailed Description

Commodity curve configuration.

Member Enumeration Documentation

◆ Type

enum 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