Logo
Fully annotated reference manual - version 1.8.12
Loading...
Searching...
No Matches
Public Member Functions | List of all members
VolatilityStrikeSurfaceConfig Class Reference

#include <ored/configuration/volatilityconfig.hpp>

+ Inheritance diagram for VolatilityStrikeSurfaceConfig:
+ Collaboration diagram for VolatilityStrikeSurfaceConfig:

Public Member Functions

 VolatilityStrikeSurfaceConfig (MarketDatum::QuoteType quoteType=MarketDatum::QuoteType::RATE_LNVOL, QuantLib::Exercise::Type exerciseType=QuantLib::Exercise::Type::European, std::string calendarStr=std::string(), QuantLib::Natural priority=0)
 Default constructor. More...
 
 VolatilityStrikeSurfaceConfig (const std::vector< std::string > &strikes, const std::vector< std::string > &expiries, const std::string &timeInterpolation, const std::string &strikeInterpolation, bool extrapolation, const std::string &timeExtrapolation, const std::string &strikeExtrapolation, MarketDatum::QuoteType quoteType=MarketDatum::QuoteType::RATE_LNVOL, QuantLib::Exercise::Type exerciseType=QuantLib::Exercise::Type::European, std::string calendarStr=std::string(), QuantLib::Natural priority=0)
 Explicit constructor. More...
 
Inspectors
const std::vector< std::string > & strikes () const
 
const std::vector< std::string > & expiries () const
 
VolatilitySurfaceConfig
std::vector< std::pair< std::string, std::string > > quotes () const override
 
- Public Member Functions inherited from VolatilitySurfaceConfig
 VolatilitySurfaceConfig (MarketDatum::QuoteType quoteType=MarketDatum::QuoteType::RATE_LNVOL, QuantLib::Exercise::Type exerciseType=QuantLib::Exercise::Type::European, std::string calendarStr=std::string(), QuantLib::Natural priority=0)
 Default constructor. More...
 
 VolatilitySurfaceConfig (const std::string &timeInterpolation, const std::string &strikeInterpolation, bool extrapolation, const std::string &timeExtrapolation, const std::string &strikeExtrapolation, MarketDatum::QuoteType quoteType=MarketDatum::QuoteType::RATE_LNVOL, QuantLib::Exercise::Type exerciseType=QuantLib::Exercise::Type::European, std::string calendarStr=std::string(), QuantLib::Natural priority=0)
 Explicit constructor. More...
 
const std::string & timeInterpolation () const
 
const std::string & strikeInterpolation () const
 
bool extrapolation () const
 
const std::string & timeExtrapolation () const
 
const std::string & strikeExtrapolation () const
 
- Public Member Functions inherited from QuoteBasedVolatilityConfig
 QuoteBasedVolatilityConfig (MarketDatum::QuoteType quoteType=MarketDatum::QuoteType::RATE_LNVOL, QuantLib::Exercise::Type exerciseType=QuantLib::Exercise::Type::European, std::string calendarStr=std::string(), QuantLib::Natural priority=0)
 Default constructor. More...
 
const MarketDatum::QuoteTypequoteType () const
 
const QuantLib::Exercise::Type & exerciseType () const
 
void fromBaseNode (ore::data::XMLNode *node)
 
void toBaseNode (ore::data::XMLDocument &doc, ore::data::XMLNode *node) const
 
- Public Member Functions inherited from VolatilityConfig
 VolatilityConfig (std::string calendarStr=std::string(), QuantLib::Natural priority=0)
 
void fromXMLNode (ore::data::XMLNode *node)
 
void toXMLNode (XMLDocument &doc, XMLNode *node) const
 
QuantLib::Natural priority () const
 
Calendar calendar () const
 
- Public Member Functions inherited from XMLSerializable
virtual ~XMLSerializable ()
 
virtual void fromXML (XMLNode *node)=0
 
virtual XMLNodetoXML (XMLDocument &doc) const =0
 
void fromFile (const std::string &filename)
 
void toFile (const std::string &filename) const
 
void fromXMLString (const std::string &xml)
 Parse from XML string. More...
 
std::string toXMLString () const
 Parse from XML string. More...
 

Serialisation

std::vector< std::string > strikes_
 
std::vector< std::string > expiries_
 
void fromXML (ore::data::XMLNode *node) override
 
ore::data::XMLNodetoXML (ore::data::XMLDocument &doc) const override
 

Additional Inherited Members

- Protected Member Functions inherited from VolatilitySurfaceConfig
void fromNode (ore::data::XMLNode *node)
 
void addNodes (ore::data::XMLDocument &doc, ore::data::XMLNode *node) const
 

Detailed Description

Volatility configuration for a 2-D absolute strike volatility surface

Definition at line 253 of file volatilityconfig.hpp.

Constructor & Destructor Documentation

◆ VolatilityStrikeSurfaceConfig() [1/2]

VolatilityStrikeSurfaceConfig ( MarketDatum::QuoteType  quoteType = MarketDatum::QuoteType::RATE_LNVOL,
QuantLib::Exercise::Type  exerciseType = QuantLib::Exercise::Type::European,
std::string  calendarStr = std::string(),
QuantLib::Natural  priority = 0 
)

Default constructor.

◆ VolatilityStrikeSurfaceConfig() [2/2]

VolatilityStrikeSurfaceConfig ( const std::vector< std::string > &  strikes,
const std::vector< std::string > &  expiries,
const std::string &  timeInterpolation,
const std::string &  strikeInterpolation,
bool  extrapolation,
const std::string &  timeExtrapolation,
const std::string &  strikeExtrapolation,
MarketDatum::QuoteType  quoteType = MarketDatum::QuoteType::RATE_LNVOL,
QuantLib::Exercise::Type  exerciseType = QuantLib::Exercise::Type::European,
std::string  calendarStr = std::string(),
QuantLib::Natural  priority = 0 
)

Explicit constructor.

Member Function Documentation

◆ strikes()

const vector< string > & strikes ( ) const

Definition at line 262 of file volatilityconfig.cpp.

262{ return strikes_; }

◆ expiries()

const vector< string > & expiries ( ) const

Definition at line 264 of file volatilityconfig.cpp.

264{ return expiries_; }
+ Here is the caller graph for this function:

◆ quotes()

vector< pair< string, string > > quotes ( ) const
overridevirtual

Return a vector of pairs of expiry and strike. The first element in the pair is the expiry and the second element in the pair is the string representation of the strike. This will be useful for building the vector of quote strings in classes that have a VolatilitySurfaceConfig.

Implements VolatilitySurfaceConfig.

Definition at line 266 of file volatilityconfig.cpp.

266 {
267
268 vector<pair<string, string>> result;
269
270 for (const string& e : expiries()) {
271 for (const string& s : strikes_) {
272 result.push_back(make_pair(e, s));
273 }
274 }
275
276 return result;
277}
const std::vector< std::string > & expiries() const
+ Here is the call graph for this function:

◆ fromXML()

void fromXML ( ore::data::XMLNode node)
overridevirtual

Implements XMLSerializable.

Definition at line 279 of file volatilityconfig.cpp.

279 {
280 XMLUtils::checkNode(node, "StrikeSurface");
282 strikes_ = XMLUtils::getChildrenValuesAsStrings(node, "Strikes", true);
283 expiries_ = XMLUtils::getChildrenValuesAsStrings(node, "Expiries", true);
284 fromNode(node);
285}
void fromBaseNode(ore::data::XMLNode *node)
void fromNode(ore::data::XMLNode *node)
static void checkNode(XMLNode *n, const string &expectedName)
Definition: xmlutils.cpp:175
static vector< string > getChildrenValuesAsStrings(XMLNode *node, const string &name, bool mandatory=false)
Definition: xmlutils.cpp:342
+ Here is the call graph for this function:

◆ toXML()

XMLNode * toXML ( ore::data::XMLDocument doc) const
overridevirtual

Implements XMLSerializable.

Definition at line 287 of file volatilityconfig.cpp.

287 {
288 XMLNode* node = doc.allocNode("StrikeSurface");
290 XMLUtils::addGenericChildAsList(doc, node, "Strikes", strikes_);
291 XMLUtils::addGenericChildAsList(doc, node, "Expiries", expiries_);
292 addNodes(doc, node);
293 return node;
294}
void toBaseNode(ore::data::XMLDocument &doc, ore::data::XMLNode *node) const
void addNodes(ore::data::XMLDocument &doc, ore::data::XMLNode *node) const
XMLNode * allocNode(const string &nodeName)
util functions that wrap rapidxml
Definition: xmlutils.cpp:132
static void addGenericChildAsList(XMLDocument &doc, XMLNode *n, const string &name, const vector< T > &values, const string &attrName="", const string &attr="")
Definition: xmlutils.hpp:144
rapidxml::xml_node< char > XMLNode
Definition: xmlutils.hpp:60
+ Here is the call graph for this function:

Member Data Documentation

◆ strikes_

std::vector<std::string> strikes_
private

Definition at line 287 of file volatilityconfig.hpp.

◆ expiries_

std::vector<std::string> expiries_
private

Definition at line 288 of file volatilityconfig.hpp.