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 } |
| 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 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 std::string & | smileExtrapolation () const |
| const TimeInterpolation & | timeInterpolation () const |
| const string & | timeWeighting () 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 |
| double | butterflyErrorTolerance () 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 |
| set< string > | requiredCurveIds (const CurveSpec::CurveType &curveType) const |
| set< string > | requiredNames (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 |
| string & | curveID () |
| string & | curveDescription () |
| 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 | |
| Dimension & | dimension () |
| SmileInterpolation & | smileInterpolation () |
| string & | smileExtrapolation () |
| TimeInterpolation & | timeInterpolation () |
| string & | timeWeighting () |
| 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 () |
| 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< string > | quotes_ |
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.
|
overridevirtual |
Implements XMLSerializable.
|
overridevirtual |
Implements XMLSerializable.
|
overridevirtual |
Return all the market quotes required for this config.
Reimplemented from CurveConfig.