#include <ored/portfolio/commodityforward.hpp>
Inheritance diagram for CommodityForward:
Collaboration diagram for CommodityForward:Public Member Functions | |
Constructors | |
| CommodityForward () | |
| Default constructor. More... | |
| CommodityForward (const Envelope &envelope, const std::string &position, const std::string &commodityName, const std::string ¤cy, QuantLib::Real quantity, const std::string &maturityDate, QuantLib::Real strike) | |
| Detailed constructor with explicit future expiry date. More... | |
| CommodityForward (const Envelope &envelope, const std::string &position, const std::string &commodityName, const std::string ¤cy, QuantLib::Real quantity, const std::string &maturityDate, QuantLib::Real strike, const QuantLib::Date &futureExpiryDate, const boost::optional< bool > &physicallySettled=true, const Date &paymentDate=Date()) | |
| Detailed constructor with explicit future expiry date. More... | |
| CommodityForward (const Envelope &envelope, const std::string &position, const std::string &commodityName, const std::string ¤cy, QuantLib::Real quantity, const std::string &maturityDate, QuantLib::Real strike, const QuantLib::Period &futureExpiryOffset, const QuantLib::Calendar &offsetCalendar, const boost::optional< bool > &physicallySettled=true, const Date &paymentDate=Date()) | |
| Detailed constructor with explicit future expiry offset and calendar. More... | |
Inspectors | |
| std::string | position () |
| std::string | commodityName () |
| std::string | currency () |
| QuantLib::Real | quantity () |
| std::string | maturityDate () |
| QuantLib::Real | strike () |
| const boost::optional< bool > & | isFuturePrice () const |
| const QuantLib::Date & | futureExpiryDate () const |
| const QuantLib::Period & | futureExpiryOffset () const |
| const QuantLib::Calendar & | offsetCalendar () const |
| const boost::optional< bool > & | physicallySettled () const |
| const QuantLib::Date & | paymentDate () const |
Trade interface | |
| void | build (const QuantLib::ext::shared_ptr< EngineFactory > &) override |
| QuantLib::Real | notional () const override |
| Return the current notional in npvCurrency. See individual sub-classes for the precise definition. More... | |
| std::map< AssetClass, std::set< std::string > > | underlyingIndices (const QuantLib::ext::shared_ptr< ReferenceDataManager > &referenceDataManager=nullptr) const override |
| Add underlying Commodity names. More... | |
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 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... | |
Serialisation | |
| std::string | position_ |
| std::string | commodityName_ |
| std::string | currency_ |
| QuantLib::Real | quantity_ |
| std::string | maturityDate_ |
| QuantLib::Real | strike_ |
| boost::optional< bool > | isFuturePrice_ |
| QuantLib::Date | futureExpiryDate_ |
| QuantLib::Period | futureExpiryOffset_ |
| Future expiry offset and calendar. More... | |
| QuantLib::Calendar | offsetCalendar_ |
| boost::optional< bool > | physicallySettled_ |
| QuantLib::Date | paymentDate_ |
| QuantLib::Date | fixingDate_ |
| NDF currency, index and fixing date. More... | |
| std::string | fxIndex_ |
| std::string | payCcy_ |
| virtual void | fromXML (XMLNode *node) override |
| virtual XMLNode * | toXML (XMLDocument &doc) const override |
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 forward contract
Definition at line 34 of file commodityforward.hpp.
| CommodityForward | ( | ) |
Default constructor.
Definition at line 39 of file commodityforward.cpp.
| CommodityForward | ( | const Envelope & | envelope, |
| const std::string & | position, | ||
| const std::string & | commodityName, | ||
| const std::string & | currency, | ||
| QuantLib::Real | quantity, | ||
| const std::string & | maturityDate, | ||
| QuantLib::Real | strike | ||
| ) |
Detailed constructor with explicit future expiry date.
| CommodityForward | ( | const Envelope & | envelope, |
| const std::string & | position, | ||
| const std::string & | commodityName, | ||
| const std::string & | currency, | ||
| QuantLib::Real | quantity, | ||
| const std::string & | maturityDate, | ||
| QuantLib::Real | strike, | ||
| const QuantLib::Date & | futureExpiryDate, | ||
| const boost::optional< bool > & | physicallySettled = true, |
||
| const Date & | paymentDate = Date() |
||
| ) |
Detailed constructor with explicit future expiry date.
| CommodityForward | ( | const Envelope & | envelope, |
| const std::string & | position, | ||
| const std::string & | commodityName, | ||
| const std::string & | currency, | ||
| QuantLib::Real | quantity, | ||
| const std::string & | maturityDate, | ||
| QuantLib::Real | strike, | ||
| const QuantLib::Period & | futureExpiryOffset, | ||
| const QuantLib::Calendar & | offsetCalendar, | ||
| const boost::optional< bool > & | physicallySettled = true, |
||
| const Date & | paymentDate = Date() |
||
| ) |
Detailed constructor with explicit future expiry offset and calendar.
| std::string position | ( | ) |
Definition at line 64 of file commodityforward.hpp.
| std::string commodityName | ( | ) |
Definition at line 65 of file commodityforward.hpp.
| std::string currency | ( | ) |
Definition at line 66 of file commodityforward.hpp.
| QuantLib::Real quantity | ( | ) |
Definition at line 67 of file commodityforward.hpp.
| std::string maturityDate | ( | ) |
Definition at line 68 of file commodityforward.hpp.
| QuantLib::Real strike | ( | ) |
Definition at line 69 of file commodityforward.hpp.
| const boost::optional< bool > & isFuturePrice | ( | ) | const |
Definition at line 70 of file commodityforward.hpp.
| const QuantLib::Date & futureExpiryDate | ( | ) | const |
Definition at line 71 of file commodityforward.hpp.
| const QuantLib::Period & futureExpiryOffset | ( | ) | const |
Definition at line 72 of file commodityforward.hpp.
| const QuantLib::Calendar & offsetCalendar | ( | ) | const |
Definition at line 73 of file commodityforward.hpp.
| const boost::optional< bool > & physicallySettled | ( | ) | const |
Definition at line 74 of file commodityforward.hpp.
| const QuantLib::Date & paymentDate | ( | ) | const |
Definition at line 75 of file commodityforward.hpp.
|
overridevirtual |
Build QuantLib/QuantExt instrument, link pricing engine. If build() is called multiple times, reset() should be called between these calls.
Implements Trade.
Definition at line 67 of file commodityforward.cpp.
Here is the call graph for this function:
|
overridevirtual |
Return the current notional in npvCurrency. See individual sub-classes for the precise definition.
Reimplemented from Trade.
Definition at line 173 of file commodityforward.cpp.
|
overridevirtual |
Add underlying Commodity names.
Reimplemented from Trade.
Definition at line 176 of file commodityforward.cpp.
|
overridevirtual |
Reimplemented from Trade.
Definition at line 180 of file commodityforward.cpp.
Here is the call graph for this function:
|
overridevirtual |
Reimplemented from Trade.
Definition at line 228 of file commodityforward.cpp.
Here is the call graph for this function:
|
private |
Definition at line 95 of file commodityforward.hpp.
|
private |
Definition at line 96 of file commodityforward.hpp.
|
private |
Definition at line 97 of file commodityforward.hpp.
|
private |
Definition at line 98 of file commodityforward.hpp.
|
private |
Definition at line 99 of file commodityforward.hpp.
|
private |
Definition at line 100 of file commodityforward.hpp.
|
private |
Indicates if the forward underlying is a commodity future settlement price, true, or a spot price false. If not explicitly set, it is assumed to be false.
Definition at line 105 of file commodityforward.hpp.
|
private |
An explicit expiry date for the underlying future contract. This can be used if the trade references a future contract settlement price and the forward's maturity date does not match the future contract expiry date.
Definition at line 111 of file commodityforward.hpp.
|
private |
Future expiry offset and calendar.
Definition at line 114 of file commodityforward.hpp.
|
private |
Definition at line 115 of file commodityforward.hpp.
|
private |
Definition at line 117 of file commodityforward.hpp.
|
private |
Definition at line 118 of file commodityforward.hpp.
|
private |
NDF currency, index and fixing date.
Definition at line 121 of file commodityforward.hpp.
|
private |
Definition at line 122 of file commodityforward.hpp.
|
private |
Definition at line 123 of file commodityforward.hpp.