#include <ored/portfolio/commodityoptionstrip.hpp>
Inheritance diagram for CommodityOptionStrip:
Collaboration diagram for CommodityOptionStrip:Public Member Functions | |
| CommodityOptionStrip () | |
| CommodityOptionStrip (const ore::data::Envelope &envelope, const ore::data::LegData &legData, const std::vector< QuantLib::Position::Type > &callPositions, const std::vector< QuantLib::Real > &callStrikes, const std::vector< QuantLib::Position::Type > &putPositions, const std::vector< QuantLib::Real > &putStrikes, QuantLib::Real premium=0.0, const std::string &premiumCurrency="", const QuantLib::Date &premiumPayDate=QuantLib::Date(), const std::string &style="", const std::string &settlement="", const BarrierData &callBarrierData={}, const BarrierData &putBarrierData={}, const std::string &fxIndex="", const bool isDigital=false, Real payoffPerUnit=0.0) | |
| void | build (const QuantLib::ext::shared_ptr< ore::data::EngineFactory > &engineFactory) override |
| Implement the build method. More... | |
| std::map< ore::data::AssetClass, std::set< std::string > > | underlyingIndices (const QuantLib::ext::shared_ptr< ReferenceDataManager > &referenceDataManager=nullptr) const override |
| Add underlying Commodity names. More... | |
Inspectors | |
| const ore::data::LegData & | legData () const |
| const std::vector< QuantLib::Position::Type > & | callPositions () const |
| const std::vector< QuantLib::Real > & | callStrikes () const |
| const std::vector< QuantLib::Position::Type > & | putPositions () const |
| const std::vector< QuantLib::Real > & | putStrikes () const |
| const PremiumData & | premiumDate () const |
| const std::string & | style () const |
| const std::string & | settlement () const |
| const std::string & | fxIndex () const |
| const BarrierData & | callBarrierData () const |
| const BarrierData & | putBarrierData () const |
| const bool | isDigital () const |
| const Real | payoffPerUnit () const |
Serialisation | |
| virtual void | fromXML (ore::data::XMLNode *node) override |
| virtual ore::data::XMLNode * | toXML (ore::data::XMLDocument &doc) const override |
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... | |
| 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... | |
Trade | |
| ore::data::LegData | legData_ |
| std::vector< QuantLib::Position::Type > | callPositions_ |
| std::vector< QuantLib::Real > | callStrikes_ |
| std::vector< QuantLib::Position::Type > | putPositions_ |
| std::vector< QuantLib::Real > | putStrikes_ |
| PremiumData | premiumData_ |
| std::string | style_ |
| std::string | settlement_ |
| BarrierData | callBarrierData_ |
| BarrierData | putBarrierData_ |
| std::string | fxIndex_ |
| bool | isDigital_ |
| Real | unaryPayoff_ |
| QuantLib::ext::shared_ptr< CommodityFloatingLegData > | commLegData_ |
| bool | hasCashflows () const override |
| void | buildAPOs (const QuantLib::Leg &leg, const QuantLib::ext::shared_ptr< ore::data::EngineFactory > &engineFactory) |
| Build an average price option strip. More... | |
| void | buildStandardOptions (const QuantLib::Leg &leg, const QuantLib::ext::shared_ptr< ore::data::EngineFactory > &engineFactory) |
| Build a standard option strip. More... | |
| void | check (QuantLib::Size numberPeriods) const |
| Perform checks before building. More... | |
Additional Inherited Members | |
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 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_ |
Serializable Commodity option strip
Definition at line 38 of file commodityoptionstrip.hpp.
Definition at line 40 of file commodityoptionstrip.hpp.
| CommodityOptionStrip | ( | const ore::data::Envelope & | envelope, |
| const ore::data::LegData & | legData, | ||
| const std::vector< QuantLib::Position::Type > & | callPositions, | ||
| const std::vector< QuantLib::Real > & | callStrikes, | ||
| const std::vector< QuantLib::Position::Type > & | putPositions, | ||
| const std::vector< QuantLib::Real > & | putStrikes, | ||
| QuantLib::Real | premium = 0.0, |
||
| const std::string & | premiumCurrency = "", |
||
| const QuantLib::Date & | premiumPayDate = QuantLib::Date(), |
||
| const std::string & | style = "", |
||
| const std::string & | settlement = "", |
||
| const BarrierData & | callBarrierData = {}, |
||
| const BarrierData & | putBarrierData = {}, |
||
| const std::string & | fxIndex = "", |
||
| const bool | isDigital = false, |
||
| Real | payoffPerUnit = 0.0 |
||
| ) |
|
override |
Implement the build method.
Definition at line 84 of file commodityoptionstrip.cpp.
Here is the call graph for this function:
|
overridevirtual |
Add underlying Commodity names.
Reimplemented from Trade.
Definition at line 134 of file commodityoptionstrip.cpp.
Here is the call graph for this function:| const ore::data::LegData & legData | ( | ) | const |
Definition at line 64 of file commodityoptionstrip.hpp.
| const std::vector< QuantLib::Position::Type > & callPositions | ( | ) | const |
Definition at line 65 of file commodityoptionstrip.hpp.
| const std::vector< QuantLib::Real > & callStrikes | ( | ) | const |
Definition at line 66 of file commodityoptionstrip.hpp.
| const std::vector< QuantLib::Position::Type > & putPositions | ( | ) | const |
Definition at line 67 of file commodityoptionstrip.hpp.
| const std::vector< QuantLib::Real > & putStrikes | ( | ) | const |
Definition at line 68 of file commodityoptionstrip.hpp.
| const PremiumData & premiumDate | ( | ) | const |
Definition at line 69 of file commodityoptionstrip.hpp.
| const std::string & style | ( | ) | const |
| const std::string & settlement | ( | ) | const |
Definition at line 71 of file commodityoptionstrip.hpp.
Here is the caller graph for this function:| const std::string & fxIndex | ( | ) | const |
Definition at line 72 of file commodityoptionstrip.hpp.
| const BarrierData & callBarrierData | ( | ) | const |
Definition at line 73 of file commodityoptionstrip.hpp.
| const BarrierData & putBarrierData | ( | ) | const |
Definition at line 74 of file commodityoptionstrip.hpp.
| const bool isDigital | ( | ) | const |
| const Real payoffPerUnit | ( | ) | const |
Definition at line 76 of file commodityoptionstrip.hpp.
Here is the caller graph for this function:
|
overridevirtual |
Reimplemented from Trade.
Definition at line 148 of file commodityoptionstrip.cpp.
Here is the call graph for this function:
|
overridevirtual |
Reimplemented from Trade.
Definition at line 193 of file commodityoptionstrip.cpp.
Here is the call graph for this function:
|
overridevirtual |
Utility method indicating if the trade has cashflows for the cashflow report. The default implementation returns true so that a trade is automatically considered when cashflows are being written. To prevent a trade from being asked for its cashflows, the method can be overridden to return false.
Reimplemented from Trade.
Definition at line 87 of file commodityoptionstrip.hpp.
|
private |
Build an average price option strip.
Definition at line 239 of file commodityoptionstrip.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Build a standard option strip.
Definition at line 351 of file commodityoptionstrip.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Perform checks before building.
Definition at line 469 of file commodityoptionstrip.cpp.
|
private |
Definition at line 91 of file commodityoptionstrip.hpp.
|
private |
Definition at line 92 of file commodityoptionstrip.hpp.
|
private |
Definition at line 93 of file commodityoptionstrip.hpp.
|
private |
Definition at line 94 of file commodityoptionstrip.hpp.
|
private |
Definition at line 95 of file commodityoptionstrip.hpp.
|
private |
Definition at line 96 of file commodityoptionstrip.hpp.
|
private |
Definition at line 97 of file commodityoptionstrip.hpp.
|
private |
Definition at line 98 of file commodityoptionstrip.hpp.
|
private |
Definition at line 99 of file commodityoptionstrip.hpp.
|
private |
Definition at line 100 of file commodityoptionstrip.hpp.
|
private |
Definition at line 101 of file commodityoptionstrip.hpp.
|
private |
Definition at line 102 of file commodityoptionstrip.hpp.
|
private |
Definition at line 103 of file commodityoptionstrip.hpp.
|
private |
Definition at line 105 of file commodityoptionstrip.hpp.