#include <ored/portfolio/fxswap.hpp>
Inheritance diagram for FxSwap:Public Member Functions | |
| FxSwap () | |
| Default constructor. | |
| FxSwap (const Envelope &env, const string &nearDate, const string &farDate, const string &nearBoughtCurrency, double nearBoughtAmount, const string &nearSoldCurrency, double nearSoldAmount, double farBoughtAmount, double farSoldAmount, const string &settlement="Physical") | |
| Constructor. | |
| void | build (const QuantLib::ext::shared_ptr< EngineFactory > &) override |
| Build QuantLib/QuantExt instrument, link pricing engine. More... | |
| QuantLib::Real | notional () const override |
| Return the current notional in npvCurrency. See individual sub-classes for the precise definition. | |
| std::string | notionalCurrency () const override |
Inspectors | |
| const string & | nearDate () const |
| const string & | farDate () const |
| const string & | nearBoughtCurrency () const |
| double | nearBoughtAmount () const |
| const string & | nearSoldCurrency () const |
| double | nearSoldAmount () const |
| double | farBoughtAmount () const |
| double | farSoldAmount () const |
| const string & | settlement () const |
| Settlement Type can be set to "Cash" for NDF. Default value is "Physical". | |
Public Member Functions inherited from Trade | |
| Trade () | |
| Default constructor. | |
| Trade (const string &tradeType, const Envelope &env=Envelope(), const TradeActions &ta=TradeActions()) | |
| Base class constructor. | |
| virtual | ~Trade () |
| Default destructor. | |
| 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. | |
| void | resetPricingStats (const std::size_t numberOfPricings=0, const boost::timer::nanosecond_type cumulativePricingTime=0) |
| Reset accumulated timings to given values. | |
| string & | id () |
| Set the trade id. | |
| void | setEnvelope (const Envelope &envelope) |
| Set the envelope with counterparty and portfolio info. | |
| void | setAdditionalData (const std::map< std::string, boost::any > &additionalData) |
| TradeActions & | tradeActions () |
| Set the trade actions. | |
| 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 |
| 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. | |
| virtual const std::map< std::string, boost::any > & | additionalData () const |
| returns all additional data returned by the trade once built | |
| 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. | |
| virtual bool | hasCashflows () const |
| boost::timer::nanosecond_type | getCumulativePricingTime () const |
| Get cumulative timing spent on pricing. | |
| std::size_t | getNumberOfPricings () const |
| Get number of pricings. | |
Public Member Functions inherited from XMLSerializable | |
| void | fromFile (const std::string &filename) |
| void | toFile (const std::string &filename) const |
| void | fromXMLString (const std::string &xml) |
| Parse from XML string. | |
| std::string | toXMLString () const |
| Parse from XML string. | |
Serialisation | |
| 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 FX Swap.
|
overridevirtual |
Build QuantLib/QuantExt instrument, link pricing engine.
Constructs a composite pricing engine of two FX forward pricing engines. One with the near amounts as notionals, the other with the far amounts. NPV is the total npv of these trades.
Implements Trade.