#include <ored/portfolio/pairwisevarianceswap.hpp>
Inheritance diagram for PairwiseVarSwap:
Collaboration diagram for PairwiseVarSwap:Public Member Functions | |
| void | build (const QuantLib::ext::shared_ptr< EngineFactory > &) override |
| const string & | longShort () |
| const vector< QuantLib::ext::shared_ptr< Underlying > > & | underlyings () const |
| const string & | name (int idx) const |
| const string & | currency () |
| double | basketStrike () |
| double | basketNotional () |
| double | notional (int idx) |
| double | strike (int idx) |
| AssetClass & | assetClassUnderlyings () |
| virtual void | fromXML (XMLNode *node) override |
| virtual XMLNode * | toXML (XMLDocument &doc) const override |
| virtual QuantLib::Real | notional () const |
| Return the current notional in npvCurrency. See individual sub-classes for the precise definition. 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... | |
Protected Member Functions | |
| PairwiseVarSwap (AssetClass assetClassUnderlyings) | |
| PairwiseVarSwap (Envelope &env, string longShort, const vector< QuantLib::ext::shared_ptr< Underlying > > &underlyings, vector< double > underlyingStrikes, vector< double > underlyingNotionals, double basketNotional, double basketStrike, ScheduleData valuationSchedule, string currency, string settlementDate, AssetClass assetClassUnderlyings, ScheduleData laggedValuationSchedule, double payoffLimit=0.0, double cap=0.0, double floor=0.0, int accrualLag=1) | |
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 | |
| AssetClass | assetClassUnderlyings_ |
| vector< QuantLib::ext::shared_ptr< Underlying > > | underlyings_ |
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_ |
Private Attributes | |
| string | longShort_ |
| vector< Real > | underlyingStrikes_ |
| vector< Real > | underlyingNotionals_ |
| Real | basketNotional_ |
| Real | basketStrike_ |
| Real | payoffLimit_ |
| Real | cap_ |
| Real | floor_ |
| int | accrualLag_ |
| ScheduleData | valuationSchedule_ |
| ScheduleData | laggedValuationSchedule_ |
| string | settlementDate_ |
| string | currency_ |
| vector< string > | indexNames_ |
Definition at line 35 of file pairwisevarianceswap.hpp.
|
protected |
Definition at line 54 of file pairwisevarianceswap.hpp.
|
protected |
Definition at line 56 of file pairwisevarianceswap.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 36 of file pairwisevarianceswap.cpp.
Here is the call graph for this function:| const string & longShort | ( | ) |
| const vector< QuantLib::ext::shared_ptr< Underlying > > & underlyings | ( | ) | const |
| const string & name | ( | int | idx | ) | const |
Definition at line 41 of file pairwisevarianceswap.hpp.
| const string & currency | ( | ) |
Definition at line 42 of file pairwisevarianceswap.hpp.
| double basketStrike | ( | ) |
Definition at line 43 of file pairwisevarianceswap.hpp.
| double basketNotional | ( | ) |
Definition at line 44 of file pairwisevarianceswap.hpp.
| double notional | ( | int | idx | ) |
Definition at line 46 of file pairwisevarianceswap.hpp.
| double strike | ( | int | idx | ) |
Definition at line 47 of file pairwisevarianceswap.hpp.
| AssetClass & assetClassUnderlyings | ( | ) |
|
overridevirtual |
Reimplemented from Trade.
Definition at line 101 of file pairwisevarianceswap.cpp.
Here is the call graph for this function:
|
overridevirtual |
Reimplemented from Trade.
Definition at line 189 of file pairwisevarianceswap.cpp.
Here is the call graph for this function:
|
virtual |
|
protected |
Definition at line 71 of file pairwisevarianceswap.hpp.
|
protected |
Definition at line 74 of file pairwisevarianceswap.hpp.
|
private |
Definition at line 77 of file pairwisevarianceswap.hpp.
|
private |
Definition at line 78 of file pairwisevarianceswap.hpp.
|
private |
Definition at line 78 of file pairwisevarianceswap.hpp.
|
private |
Definition at line 79 of file pairwisevarianceswap.hpp.
|
private |
Definition at line 79 of file pairwisevarianceswap.hpp.
|
private |
Definition at line 79 of file pairwisevarianceswap.hpp.
|
private |
Definition at line 79 of file pairwisevarianceswap.hpp.
|
private |
Definition at line 79 of file pairwisevarianceswap.hpp.
|
private |
Definition at line 80 of file pairwisevarianceswap.hpp.
|
private |
Definition at line 81 of file pairwisevarianceswap.hpp.
|
private |
Definition at line 81 of file pairwisevarianceswap.hpp.
|
private |
Definition at line 82 of file pairwisevarianceswap.hpp.
|
private |
Definition at line 82 of file pairwisevarianceswap.hpp.
|
private |
The index name. Not sure why the index was not just used in the trade XML. This is set to "FX-" + name for FX and left as name for the others for the moment.
Definition at line 87 of file pairwisevarianceswap.hpp.