#include <ored/portfolio/creditlinkedswap.hpp>
Inheritance diagram for CreditLinkedSwap:
Collaboration diagram for CreditLinkedSwap:Public Member Functions | |
| CreditLinkedSwap () | |
| CreditLinkedSwap (const std::string &creditCurveId, const bool settlesAccrual, const Real fixedRecoveryRate, const QuantExt::CreditDefaultSwap::ProtectionPaymentTime &defaultPaymentTime, const std::vector< LegData > &independentPayments, const std::vector< LegData > &contingentPayments, const std::vector< LegData > &defaultPayments, const std::vector< LegData > &recoveryPayments) | |
| void | fromXML (XMLNode *node) override |
| XMLNode * | toXML (ore::data::XMLDocument &doc) const override |
| void | build (const QuantLib::ext::shared_ptr< EngineFactory > &engineFactory) override |
| QuantLib::Real | notional () const override |
| 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... | |
Private Attributes | |
| std::string | creditCurveId_ |
| bool | settlesAccrual_ |
| double | fixedRecoveryRate_ |
| QuantExt::CreditDefaultSwap::ProtectionPaymentTime | defaultPaymentTime_ |
| std::vector< LegData > | independentPayments_ |
| std::vector< LegData > | contingentPayments_ |
| std::vector< LegData > | defaultPayments_ |
| std::vector< LegData > | recoveryPayments_ |
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_ |
Definition at line 36 of file creditlinkedswap.hpp.
| CreditLinkedSwap | ( | ) |
Definition at line 38 of file creditlinkedswap.hpp.
| CreditLinkedSwap | ( | const std::string & | creditCurveId, |
| const bool | settlesAccrual, | ||
| const Real | fixedRecoveryRate, | ||
| const QuantExt::CreditDefaultSwap::ProtectionPaymentTime & | defaultPaymentTime, | ||
| const std::vector< LegData > & | independentPayments, | ||
| const std::vector< LegData > & | contingentPayments, | ||
| const std::vector< LegData > & | defaultPayments, | ||
| const std::vector< LegData > & | recoveryPayments | ||
| ) |
Definition at line 39 of file creditlinkedswap.hpp.
|
overridevirtual |
Reimplemented from Trade.
Definition at line 31 of file creditlinkedswap.cpp.
|
overridevirtual |
Reimplemented from Trade.
Definition at line 76 of file creditlinkedswap.cpp.
Here is the call graph for this function:
|
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 115 of file creditlinkedswap.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 201 of file creditlinkedswap.cpp.
Here is the call graph for this function:
|
private |
Definition at line 56 of file creditlinkedswap.hpp.
|
private |
Definition at line 57 of file creditlinkedswap.hpp.
|
private |
Definition at line 58 of file creditlinkedswap.hpp.
|
private |
Definition at line 59 of file creditlinkedswap.hpp.
|
private |
Definition at line 60 of file creditlinkedswap.hpp.
|
private |
Definition at line 61 of file creditlinkedswap.hpp.
|
private |
Definition at line 62 of file creditlinkedswap.hpp.
|
private |
Definition at line 63 of file creditlinkedswap.hpp.