Logo
Reference manual - version qle_version
Classes | List of all members
CrossCcyBasisSwap Class Reference

Cross currency basis swap. More...

#include <qle/instruments/crossccybasisswap.hpp>

+ Inheritance diagram for CrossCcyBasisSwap:

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 > &currencies)
 

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_
 

Detailed Description

Cross currency basis swap.

The first leg holds the pay currency cashflows and second leg holds the receive currency cashflows.

    \ingroup instruments

Constructor & Destructor Documentation

◆ CrossCcyBasisSwap()

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.