Logo
Reference manual - version qle_version
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 QuantLib::ext::shared_ptr< IborIndex > &iborIndex, std::vector< Rate > floatSpreads, QuantLib::ext::optional< BusinessDayConvention > paymentConvention=QuantLib::ext::nullopt, 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, QuantLib::ext::optional< BusinessDayConvention > paymentConvention=QuantLib::ext::nullopt, const bool isPhysicallySettled=true, const bool isResettable=false)
 CrossCurrencySwap (bool pay1, Currency ccy1, std::vector< Real > nominals1, const Schedule &schedule1, const QuantLib::ext::shared_ptr< IborIndex > &iborIndex1, std::vector< Rate > spreads1, Currency ccy2, std::vector< Real > nominals2, const Schedule &schedule2, const QuantLib::ext::shared_ptr< IborIndex > &iborIndex2, std::vector< Rate > spreads2, QuantLib::ext::optional< BusinessDayConvention > paymentConvention=QuantLib::ext::nullopt, 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

void setupExpired () const override
 CurrencySwap (Size legs)
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