Logo
Reference manual - version qle_version
Public Member Functions | List of all members
CrossCurrencySwap Class Reference

Cross currency swap. More...

#include <qle/instruments/currencyswap.hpp>

+ Inheritance diagram for CrossCurrencySwap:

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 > &currency, 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_
 

Detailed Description

Cross currency swap.

Specialised CurrencySwap: Two currencies, variable notionals, rates and spreads; flavours fix/float, fix/fix, float/float

\ingroup instruments