Logo
Reference manual - version ored_version
Public Types | List of all members
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 }
 

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})
 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
 
XMLNodetoXML (XMLDocument &doc) override
 
Inspectors
const Dimensiondimension () const
 
const vector< string > & expiries () const
 
const vector< string > & deltas () const
 
const DayCounter & dayCounter () const
 
const Calendar & calendar () const
 
const string & fxSpotID () const
 
const string & fxForeignYieldCurveID () const
 
const string & fxDomesticYieldCurveID () const
 
const SmileInterpolation & smileInterpolation () const
 
const string & conventionsID () const
 
const std::vector< Size > & smileDelta () const
 
const vector< string > & quotes () override
 Return all the market quotes required for this config.
 
const string & baseVolatility1 () const
 
const string & baseVolatility2 () const
 
const string & fxIndexTag () const
 
const ReportConfigreportConfig () 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 ()
 
- 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

Dimensiondimension ()
 
SmileInterpolation & smileInterpolation ()
 
vector< string > & deltas ()
 
DayCounter & dayCounter ()
 
Calendar & calendar ()
 
string & fxSpotID ()
 
string & fxForeignYieldCurveID ()
 
string & fxDomesticYieldCurveID ()
 
string conventionsID ()
 
std::vector< Size > & smileDelta ()
 
const std::set< string > & requiredYieldCurveIDs () const
 
string & baseVolatility1 ()
 
string & baseVolatility2 ()
 
string & fxIndexTag ()
 

Additional Inherited Members

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

Detailed Description

FX volatility structure configuration.

Member Enumeration Documentation

◆ Dimension

enum 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.