Cross currency swap. More...
#include <qle/instruments/currencyswap.hpp>
Public Member Functions | |
CrossCurrencySwap (bool payFixed, Currency fixedCcy, std::vector< Real > fixedNominals, const Schedule &fixedSchedule, std::vector< Rate > fixedRates, const DayCounter &fixedDayCount, Currency floatCcy, std::vector< Real > floatNominals, const Schedule &floatSchedule, const boost::shared_ptr< IborIndex > &iborIndex, std::vector< Rate > floatSpreads, boost::optional< BusinessDayConvention > paymentConvention=boost::none, const bool isPhysicallySettled=true, const bool isResettable=false) | |
CrossCurrencySwap (bool pay1, Currency ccy1, std::vector< Real > nominals1, const Schedule &schedule1, std::vector< Rate > fixedRates1, const DayCounter &fixedDayCount1, Currency ccy2, std::vector< Real > nominals2, const Schedule &schedule2, std::vector< Rate > fixedRates2, const DayCounter &fixedDayCount2, boost::optional< BusinessDayConvention > paymentConvention=boost::none, const bool isPhysicallySettled=true, const bool isResettable=false) | |
CrossCurrencySwap (bool pay1, Currency ccy1, std::vector< Real > nominals1, const Schedule &schedule1, const boost::shared_ptr< IborIndex > &iborIndex1, std::vector< Rate > spreads1, Currency ccy2, std::vector< Real > nominals2, const Schedule &schedule2, const boost::shared_ptr< IborIndex > &iborIndex2, std::vector< Rate > spreads2, boost::optional< BusinessDayConvention > paymentConvention=boost::none, const bool isPhysicallySettled=true, const bool isResettable=false) | |
Public Member Functions inherited from CurrencySwap | |
void | alwaysForwardNotifications () override |
void | deepUpdate () override |
Date | startDate () const |
Date | maturityDate () const |
Real | legBPS (Size j) const |
Real | legNPV (Size j) const |
Real | inCcyLegBPS (Size j) const |
Real | inCcyLegNPV (Size j) const |
DiscountFactor | startDiscounts (Size j) const |
DiscountFactor | endDiscounts (Size j) const |
DiscountFactor | npvDateDiscount () const |
const Leg & | leg (Size j) const |
const Currency & | legCurrency (Size j) const |
std::vector< Leg > | legs () |
std::vector< Currency > | currencies () |
bool | isExpired () const override |
void | setupArguments (PricingEngine::arguments *) const override |
void | fetchResults (const PricingEngine::results *) const override |
CurrencySwap (const std::vector< Leg > &legs, const std::vector< bool > &payer, const std::vector< Currency > ¤cy, const bool isPhysicallySettled=true, const bool isResettable=false) | |
Additional Inherited Members | |
Protected Member Functions inherited from CurrencySwap | |
void | setupExpired () const override |
CurrencySwap (Size legs) | |
Protected Attributes inherited from CurrencySwap | |
std::vector< Leg > | legs_ |
std::vector< Real > | payer_ |
std::vector< Currency > | currency_ |
bool | isPhysicallySettled_ |
bool | isResettable_ |
std::vector< Real > | legNPV_ |
std::vector< Real > | inCcyLegNPV_ |
std::vector< Real > | legBPS_ |
std::vector< Real > | inCcyLegBPS_ |
std::vector< DiscountFactor > | startDiscounts_ |
std::vector< DiscountFactor > | endDiscounts_ |
DiscountFactor | npvDateDiscount_ |
Cross currency swap.
Specialised CurrencySwap: Two currencies, variable notionals, rates and spreads; flavours fix/float, fix/fix, float/float
\ingroup instruments