FX volatility structure configuration. More...
#include <ored/configuration/fxvolcurveconfig.hpp>
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 |
XMLNode * | toXML (XMLDocument &doc) override |
Inspectors | |
const Dimension & | dimension () 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 ReportConfig & | reportConfig () const |
Public Member Functions inherited from CurveConfig | |
CurveConfig (const string &curveID, const string &curveDescription, const vector< string > "es=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 | |
Dimension & | dimension () |
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_ |
FX volatility structure configuration.
|
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.