#include <ored/portfolio/commodityforward.hpp>
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.
|
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.
|
overridevirtual |
Reimplemented from Trade.
Definition at line 228 of file commodityforward.cpp.
|
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.