Logo
Reference manual - version ored_version
FXVolatilityCurveConfig Class Reference

FX volatility structure configuration. More...

#include <ored/configuration/fxvolcurveconfig.hpp>

Inheritance diagram for FXVolatilityCurveConfig:

Public Types

enum class  Dimension {
  ATM , SmileVannaVolga , SmileDelta , SmileBFRR ,
  SmileAbsolute , ATMTriangulated
}
 supported volatility structure types More...
enum class  SmileInterpolation { VannaVolga1 , VannaVolga2 , Linear , Cubic }
enum class  TimeInterpolation { V , V2T }

Public Member Functions

Constructors/Destructors
 FXVolatilityCurveConfig ()
 Default constructor.
 FXVolatilityCurveConfig (const string &curveID, const string &curveDescription, const Dimension &dimension, const vector< string > &expiries, const vector< string > &deltas=vector< string >(), const string &fxSpotID="", const string &fxForeignCurveID="", const string &fxDomesticCurveID="", const DayCounter &dayCounter=QuantLib::Actual365Fixed(), const Calendar &calendar=QuantLib::TARGET(), const SmileInterpolation &interp=SmileInterpolation::VannaVolga2, const string &conventionsID="", const std::vector< Size > &smileDelta={25}, const string &smileExtrapolation="Flat")
 Detailed constructor.
 FXVolatilityCurveConfig (const string &curveID, const string &curveDescription, const Dimension &dimension, const string &baseVolatility1, const string &baseVolatility2, const string &fxIndexTag="GENERIC")
Serialisation
void fromXML (XMLNode *node) override
XMLNode * toXML (XMLDocument &doc) const override
Inspectors
const Dimensiondimension () const
const vector< string > & expiries () const
const vector< string > & deltas () const
const DayCounter & dayCounter () const
const Calendar & calendar () const
const stringfxSpotID () const
const stringfxForeignYieldCurveID () const
const stringfxDomesticYieldCurveID () const
const SmileInterpolation & smileInterpolation () const
const std::string & smileExtrapolation () const
const TimeInterpolation & timeInterpolation () const
const stringtimeWeighting () const
const stringconventionsID () const
const std::vector< Size > & smileDelta () const
const vector< string > & quotes () override
 Return all the market quotes required for this config.
const stringbaseVolatility1 () const
const stringbaseVolatility2 () const
const stringfxIndexTag () const
const ReportConfigreportConfig () const
double butterflyErrorTolerance () 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)
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

Dimensiondimension ()
SmileInterpolation & smileInterpolation ()
stringsmileExtrapolation ()
TimeInterpolation & timeInterpolation ()
stringtimeWeighting ()
vector< string > & deltas ()
DayCounter & dayCounter ()
Calendar & calendar ()
stringfxSpotID ()
stringfxForeignYieldCurveID ()
stringfxDomesticYieldCurveID ()
string conventionsID ()
std::vector< Size > & smileDelta ()
const std::set< string > & requiredYieldCurveIDs () const
stringbaseVolatility1 ()
stringbaseVolatility2 ()
stringfxIndexTag ()
double & butterflyErrorTolerance ()

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

FX volatility structure configuration.

Member Enumeration Documentation

◆ Dimension

enum class Dimension
strong

supported volatility structure types

For ATM we will only load ATM quotes, for Smile we load ATM, RR, BF or Deltas SmileInterpolation - currently supports which of the 2 Vanna Volga approximations, as per Castagna& Mercurio(2006), to use. The second approximation is more accurate but can ask for the square root of a negative number under unusual circumstances.

Member Function Documentation

◆ fromXML()

void fromXML ( XMLNode * node)
overridevirtual

Implements XMLSerializable.

◆ toXML()

XMLNode * toXML ( XMLDocument & doc) const
overridevirtual

Implements XMLSerializable.

◆ quotes()

const vector< string > & quotes ( )
overridevirtual

Return all the market quotes required for this config.

Reimplemented from CurveConfig.