Serializable FX Double Barrier Option. More...
#include <ored/portfolio/fxdoublebarrieroption.hpp>
Inheritance diagram for FxDoubleBarrierOption:
Collaboration diagram for FxDoubleBarrierOption:Public Member Functions | |
| FxDoubleBarrierOption () | |
| Default constructor. More... | |
| FxDoubleBarrierOption (Envelope &env, OptionData option, BarrierData barrier, QuantLib::Date startDate, string calendar, string boughtCurrency, QuantLib::Real boughtAmount, string soldCurrency, QuantLib::Real soldAmount, string fxIndex="") | |
| Constructor. More... | |
| void | checkBarriers () override |
| check validity of barriers More... | |
| QuantLib::ext::shared_ptr< QuantLib::PricingEngine > | vanillaPricingEngine (const QuantLib::ext::shared_ptr< EngineFactory > &ef, const QuantLib::Date &expiryDate, const QuantLib::Date &paymentDate=QuantLib::Date()) override |
| create the pricing engines More... | |
| QuantLib::ext::shared_ptr< QuantLib::PricingEngine > | barrierPricingEngine (const QuantLib::ext::shared_ptr< EngineFactory > &ef, const QuantLib::Date &expiryDate, const QuantLib::Date &paymentDate=QuantLib::Date()) override |
Public Member Functions inherited from FxOptionWithBarrier | |
| FxOptionWithBarrier (const std::string &tradeType) | |
| Default constructor. More... | |
| FxOptionWithBarrier (const std::string &tradeType, ore::data::Envelope &env, ore::data::OptionData option, BarrierData barrier, QuantLib::Date startDate, std::string calendar, std::string boughtCurrency, QuantLib::Real boughtAmount, std::string soldCurrency, QuantLib::Real soldAmount, std::string fxIndex=std::string()) | |
| Constructor. More... | |
| QuantLib::Real | boughtAmount () const |
| QuantLib::Real | soldAmount () const |
| void | build (const QuantLib::ext::shared_ptr< ore::data::EngineFactory > &ef) override |
| void | additionalFromXml (ore::data::XMLNode *node) override |
| void | additionalToXml (ore::data::XMLDocument &doc, ore::data::XMLNode *node) const override |
| QuantLib::ext::shared_ptr< QuantLib::Index > | getIndex () override |
| const QuantLib::Real | strike () override |
| QuantLib::Real | tradeMultiplier () override |
| Currency | tradeCurrency () override |
| const QuantLib::Handle< QuantLib::Quote > & | spotQuote () override |
| std::string | indexFixingName () override |
| void | fromXML (ore::data::XMLNode *node) override |
| ore::data::XMLNode * | toXML (ore::data::XMLDocument &doc) const override |
Public Member Functions inherited from FxSingleAssetDerivative | |
| const std::string & | boughtCurrency () const |
| const std::string & | soldCurrency () const |
| const std::string & | foreignCurrency () const |
| const std::string & | domesticCurrency () const |
Public Member Functions inherited from Trade | |
| Trade () | |
| Default constructor. More... | |
| Trade (const string &tradeType, const Envelope &env=Envelope(), const TradeActions &ta=TradeActions()) | |
| Base class constructor. More... | |
| virtual | ~Trade () |
| Default destructor. More... | |
| virtual void | build (const QuantLib::ext::shared_ptr< EngineFactory > &)=0 |
| virtual std::map< std::string, RequiredFixings::FixingDates > | fixings (const QuantLib::Date &settlementDate=QuantLib::Date()) const |
| const RequiredFixings & | requiredFixings () const |
| virtual std::map< AssetClass, std::set< std::string > > | underlyingIndices (const QuantLib::ext::shared_ptr< ReferenceDataManager > &referenceDataManager=nullptr) const |
| void | reset () |
| Reset trade, clear all base class data. This does not reset accumulated timings for this trade. More... | |
| void | resetPricingStats (const std::size_t numberOfPricings=0, const boost::timer::nanosecond_type cumulativePricingTime=0) |
| Reset accumulated timings to given values. More... | |
| string & | id () |
| Set the trade id. More... | |
| void | setEnvelope (const Envelope &envelope) |
| Set the envelope with counterparty and portfolio info. More... | |
| void | setAdditionalData (const std::map< std::string, boost::any > &additionalData) |
| TradeActions & | tradeActions () |
| Set the trade actions. More... | |
| const string & | id () const |
| const string & | tradeType () const |
| const Envelope & | envelope () const |
| const set< string > & | portfolioIds () const |
| const TradeActions & | tradeActions () const |
| const QuantLib::ext::shared_ptr< InstrumentWrapper > & | instrument () const |
| const std::vector< QuantLib::Leg > & | legs () const |
| const std::vector< string > & | legCurrencies () const |
| const std::vector< bool > & | legPayers () const |
| const string & | npvCurrency () const |
| virtual QuantLib::Real | notional () const |
| Return the current notional in npvCurrency. See individual sub-classes for the precise definition. More... | |
| virtual string | notionalCurrency () const |
| const Date & | maturity () const |
| virtual bool | isExpired (const Date &d) |
| const string & | issuer () const |
| template<typename T > | |
| T | additionalDatum (const std::string &tag) const |
| returns any additional datum. More... | |
| virtual const std::map< std::string, boost::any > & | additionalData () const |
| returns all additional data returned by the trade once built More... | |
| const std::string & | sensitivityTemplate () const |
| void | validate () const |
| Utility to validate that everything that needs to be set in this base class is actually set. More... | |
| virtual bool | hasCashflows () const |
| boost::timer::nanosecond_type | getCumulativePricingTime () const |
| Get cumulative timing spent on pricing. More... | |
| std::size_t | getNumberOfPricings () const |
| Get number of pricings. More... | |
Public Member Functions inherited from XMLSerializable | |
| virtual | ~XMLSerializable () |
| virtual void | fromXML (XMLNode *node)=0 |
| virtual XMLNode * | toXML (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... | |
Public Member Functions inherited from BarrierOption | |
| BarrierOption () | |
| Constructor. More... | |
| BarrierOption (ore::data::OptionData option, BarrierData barrier, QuantLib::Date startDate=QuantLib::Date(), const std::string &calendar=std::string()) | |
| void | build (const QuantLib::ext::shared_ptr< ore::data::EngineFactory > &) override |
| Build QuantLib/QuantExt instrument, link pricing engine. More... | |
| virtual void | checkBarriers ()=0 |
| check validity of barriers More... | |
| virtual QuantLib::ext::shared_ptr< QuantLib::Index > | getIndex ()=0 |
| virtual const QuantLib::Real | strike ()=0 |
| virtual QuantLib::Real | tradeMultiplier ()=0 |
| virtual Currency | tradeCurrency ()=0 |
| virtual QuantLib::ext::shared_ptr< QuantLib::PricingEngine > | vanillaPricingEngine (const QuantLib::ext::shared_ptr< EngineFactory > &ef, const QuantLib::Date &expiryDate, const QuantLib::Date &paymentDate)=0 |
| virtual QuantLib::ext::shared_ptr< QuantLib::PricingEngine > | barrierPricingEngine (const QuantLib::ext::shared_ptr< EngineFactory > &ef, const QuantLib::Date &expiryDate, const QuantLib::Date &paymentDate)=0 |
| virtual const QuantLib::Handle< QuantLib::Quote > & | spotQuote ()=0 |
| virtual void | additionalFromXml (ore::data::XMLNode *node)=0 |
| virtual void | additionalToXml (ore::data::XMLDocument &doc, ore::data::XMLNode *node) const =0 |
| virtual std::string | indexFixingName ()=0 |
| const ore::data::OptionData & | option () const |
| const BarrierData & | barrier () const |
| const QuantLib::Date & | startDate () const |
| const QuantLib::Calendar & | calendar () const |
Additional Inherited Members | |
Protected Member Functions inherited from FxSingleAssetDerivative | |
| FxSingleAssetDerivative (const std::string &tradeType) | |
| FxSingleAssetDerivative (const std::string &tradeType, ore::data::Envelope &env, const std::string &boughtCurrency, const std::string &soldCurrency) | |
Protected Member Functions inherited from FxDerivative | |
| FxDerivative (const std::string &tradeType) | |
| FxDerivative (const std::string &tradeType, ore::data::Envelope &env) | |
Protected Member Functions inherited from Trade | |
| Date | addPremiums (std::vector< QuantLib::ext::shared_ptr< Instrument > > &instruments, std::vector< Real > &multipliers, const Real tradeMultiplier, const PremiumData &premiumData, const Real premiumMultiplier, const Currency &tradeCurrency, const QuantLib::ext::shared_ptr< EngineFactory > &factory, const string &configuration) |
| void | setLegBasedAdditionalData (const Size legNo, Size resultLegId=Null< Size >()) const |
| void | setSensitivityTemplate (const EngineBuilder &builder) |
| void | setSensitivityTemplate (const std::string &id) |
Protected Attributes inherited from FxSingleAssetDerivative | |
| std::string | boughtCurrency_ |
| std::string | soldCurrency_ |
| std::string & | foreignCurrency_ = boughtCurrency_ |
| std::string & | domesticCurrency_ = soldCurrency_ |
Protected Attributes inherited from Trade | |
| string | tradeType_ |
| QuantLib::ext::shared_ptr< InstrumentWrapper > | instrument_ |
| std::vector< QuantLib::Leg > | legs_ |
| std::vector< string > | legCurrencies_ |
| std::vector< bool > | legPayers_ |
| string | npvCurrency_ |
| QuantLib::Real | notional_ |
| string | notionalCurrency_ |
| Date | maturity_ |
| string | issuer_ |
| string | sensitivityTemplate_ |
| bool | sensitivityTemplateSet_ = false |
| std::size_t | savedNumberOfPricings_ = 0 |
| boost::timer::nanosecond_type | savedCumulativePricingTime_ = 0 |
| RequiredFixings | requiredFixings_ |
| std::map< std::string, boost::any > | additionalData_ |
Protected Attributes inherited from BarrierOption | |
| std::string | calendarStr_ |
Serializable FX Double Barrier Option.
Definition at line 34 of file fxdoublebarrieroption.hpp.
Default constructor.
Definition at line 37 of file fxdoublebarrieroption.hpp.
| FxDoubleBarrierOption | ( | Envelope & | env, |
| OptionData | option, | ||
| BarrierData | barrier, | ||
| QuantLib::Date | startDate, | ||
| string | calendar, | ||
| string | boughtCurrency, | ||
| QuantLib::Real | boughtAmount, | ||
| string | soldCurrency, | ||
| QuantLib::Real | soldAmount, | ||
| string | fxIndex = "" |
||
| ) |
Constructor.
Definition at line 40 of file fxdoublebarrieroption.hpp.
|
overridevirtual |
check validity of barriers
Implements BarrierOption.
Definition at line 41 of file fxdoublebarrieroption.cpp.
Here is the call graph for this function:
|
overridevirtual |
create the pricing engines
Implements BarrierOption.
Definition at line 47 of file fxdoublebarrieroption.cpp.
Here is the call graph for this function:
|
overridevirtual |
Implements BarrierOption.
Definition at line 74 of file fxdoublebarrieroption.cpp.
Here is the call graph for this function: