Cross currency basis swap. More...
#include <qle/instruments/crossccybasisswap.hpp>
Classes | |
class | arguments |
class | results |
Public Member Functions | |
Constructors | |
CrossCcyBasisSwap (Real payNominal, const Currency &payCurrency, const Schedule &paySchedule, const boost::shared_ptr< IborIndex > &payIndex, Spread paySpread, Real payGearing, Real recNominal, const Currency &recCurrency, const Schedule &recSchedule, const boost::shared_ptr< IborIndex > &recIndex, Spread recSpread, Real recGearing, Size payPaymentLag=0, Size recPaymentLag=0, boost::optional< bool > payIncludeSpread=boost::none, boost::optional< Period > payLookback=boost::none, boost::optional< Size > payFixingDays=boost::none, boost::optional< Size > payRateCutoff=boost::none, boost::optional< bool > payIsAveraged=boost::none, boost::optional< bool > recIncludeSpread=boost::none, boost::optional< Period > recLookback=boost::none, boost::optional< Size > recFixingDays=boost::none, boost::optional< Size > recRateCutoff=boost::none, boost::optional< bool > recIsAveraged=boost::none, const bool telescopicValueDates=false) | |
Inspectors | |
Real | payNominal () const |
const Currency & | payCurrency () const |
const Schedule & | paySchedule () const |
const boost::shared_ptr< IborIndex > & | payIndex () const |
Spread | paySpread () const |
Real | payGearing () const |
Real | recNominal () const |
const Currency & | recCurrency () const |
const Schedule & | recSchedule () const |
const boost::shared_ptr< IborIndex > & | recIndex () const |
Spread | recSpread () const |
Real | recGearing () const |
Additional interface | |
Spread | fairPaySpread () const |
Spread | fairRecSpread () const |
Public Member Functions inherited from CrossCcySwap | |
const Currency & | legCurrency (Size j) const |
Real | inCcyLegBPS (Size j) const |
Real | inCcyLegNPV (Size j) const |
DiscountFactor | npvDateDiscounts (Size j) const |
void | setupArguments (PricingEngine::arguments *args) const override |
void | fetchResults (const PricingEngine::results *) const override |
CrossCcySwap (const Leg &firstLeg, const Currency &firstLegCcy, const Leg &secondLeg, const Currency &secondLegCcy) | |
First leg is paid and the second is received. | |
CrossCcySwap (const std::vector< Leg > &legs, const std::vector< bool > &payer, const std::vector< Currency > ¤cies) | |
Instrument interface | |
void | setupArguments (PricingEngine::arguments *args) const override |
void | fetchResults (const PricingEngine::results *) const override |
void | setupExpired () const override |
Additional Inherited Members | |
Protected Member Functions inherited from CrossCcySwap | |
void | setupExpired () const override |
CrossCcySwap (Size legs) | |
Protected Attributes inherited from CrossCcySwap | |
std::vector< Currency > | currencies_ |
Cross currency basis swap.
The first leg holds the pay currency cashflows and second leg holds the receive currency cashflows.
\ingroup instruments
CrossCcyBasisSwap | ( | Real | payNominal, |
const Currency & | payCurrency, | ||
const Schedule & | paySchedule, | ||
const boost::shared_ptr< IborIndex > & | payIndex, | ||
Spread | paySpread, | ||
Real | payGearing, | ||
Real | recNominal, | ||
const Currency & | recCurrency, | ||
const Schedule & | recSchedule, | ||
const boost::shared_ptr< IborIndex > & | recIndex, | ||
Spread | recSpread, | ||
Real | recGearing, | ||
Size | payPaymentLag = 0 , |
||
Size | recPaymentLag = 0 , |
||
boost::optional< bool > | payIncludeSpread = boost::none , |
||
boost::optional< Period > | payLookback = boost::none , |
||
boost::optional< Size > | payFixingDays = boost::none , |
||
boost::optional< Size > | payRateCutoff = boost::none , |
||
boost::optional< bool > | payIsAveraged = boost::none , |
||
boost::optional< bool > | recIncludeSpread = boost::none , |
||
boost::optional< Period > | recLookback = boost::none , |
||
boost::optional< Size > | recFixingDays = boost::none , |
||
boost::optional< Size > | recRateCutoff = boost::none , |
||
boost::optional< bool > | recIsAveraged = boost::none , |
||
const bool | telescopicValueDates = false |
||
) |
First leg holds the pay currency cashflows and the second leg holds the receive currency cashflows.