Logo
Reference manual - version ored_version
Public Member Functions | List of all members
EquityDoubleBarrierOption Class Reference

Serializable Equity Double Barrier Option. More...

#include <ored/portfolio/equitydoublebarrieroption.hpp>

+ Inheritance diagram for EquityDoubleBarrierOption:

Public Member Functions

 EquityDoubleBarrierOption ()
 Default constructor.
 
 EquityDoubleBarrierOption (Envelope &env, OptionData option, BarrierData barrier, QuantLib::Date startDate, std::string calendar, EquityUnderlying equityUnderlying, QuantLib::Currency currency, QuantLib::Real quantity, TradeStrike strike)
 Constructor.
 
void checkBarriers () override
 check validity of barriers
 
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
 
QuantLib::ext::shared_ptr< QuantLib::PricingEngine > barrierPricingEngine (const QuantLib::ext::shared_ptr< EngineFactory > &ef, const QuantLib::Date &expiryDate, const QuantLib::Date &paymentDate=Date()) override
 
- Public Member Functions inherited from EquityOptionWithBarrier
 EquityOptionWithBarrier (const std::string &tradeType)
 Default constructor.
 
 EquityOptionWithBarrier (const std::string &tradeType, ore::data::Envelope &env, ore::data::OptionData option, BarrierData barrier, QuantLib::Date startDate, std::string calendar, const EquityUnderlying &equity, QuantLib::Currency currency, QuantLib::Real quantity, TradeStrike strike)
 Constructor.
 
QuantLib::Real quantity () 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::XMLNodetoXML (ore::data::XMLDocument &doc) const override
 
- Public Member Functions inherited from EquitySingleAssetDerivative
const string & equityName () const
 
- Public Member Functions inherited from Trade
 Trade ()
 Default constructor.
 
 Trade (const string &tradeType, const Envelope &env=Envelope(), const TradeActions &ta=TradeActions())
 Base class constructor.
 
virtual ~Trade ()
 Default destructor.
 
virtual void build (const QuantLib::ext::shared_ptr< EngineFactory > &)=0
 
virtual std::map< std::string, RequiredFixings::FixingDatesfixings (const QuantLib::Date &settlementDate=QuantLib::Date()) const
 
const RequiredFixingsrequiredFixings () 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.
 
void resetPricingStats (const std::size_t numberOfPricings=0, const boost::timer::nanosecond_type cumulativePricingTime=0)
 Reset accumulated timings to given values.
 
string & id ()
 Set the trade id.
 
void setEnvelope (const Envelope &envelope)
 Set the envelope with counterparty and portfolio info.
 
void setAdditionalData (const std::map< std::string, boost::any > &additionalData)
 
TradeActionstradeActions ()
 Set the trade actions.
 
const string & id () const
 
const string & tradeType () const
 
const Envelopeenvelope () const
 
const set< string > & portfolioIds () const
 
const TradeActionstradeActions () 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.
 
virtual string notionalCurrency () const
 
const Date & maturity () const
 
virtual bool isExpired (const Date &d)
 
const string & issuer () const
 
template<typename T >
additionalDatum (const std::string &tag) const
 returns any additional datum.
 
virtual const std::map< std::string, boost::any > & additionalData () const
 returns all additional data returned by the trade once built
 
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.
 
virtual bool hasCashflows () const
 
boost::timer::nanosecond_type getCumulativePricingTime () const
 Get cumulative timing spent on pricing.
 
std::size_t getNumberOfPricings () const
 Get number of pricings.
 
- 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.
 
- Public Member Functions inherited from BarrierOption
 BarrierOption ()
 Constructor.
 
 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.
 
const ore::data::OptionDataoption () const
 
const BarrierDatabarrier () const
 
const QuantLib::Date & startDate () const
 
const QuantLib::Calendar & calendar () const
 

Additional Inherited Members

- Protected Member Functions inherited from EquitySingleAssetDerivative
 EquitySingleAssetDerivative (const std::string &tradeType)
 
 EquitySingleAssetDerivative (const std::string &tradeType, ore::data::Envelope &env, const EquityUnderlying &equityUnderlying)
 
- Protected Member Functions inherited from EquityDerivative
 EquityDerivative (const std::string &tradeType)
 
 EquityDerivative (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 EquitySingleAssetDerivative
EquityUnderlying equityUnderlying_
 
- Protected Attributes inherited from Trade
string tradeType_
 
QuantLib::ext::shared_ptr< InstrumentWrapperinstrument_
 
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_
 

Detailed Description

Serializable Equity Double Barrier Option.