Logo
Reference manual - version qle_version
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 QuantLib::ext::shared_ptr< IborIndex > &payIndex, Spread paySpread, Real payGearing, Real recNominal, const Currency &recCurrency, const Schedule &recSchedule, const QuantLib::ext::shared_ptr< IborIndex > &recIndex, Spread recSpread, Real recGearing, Size payPaymentLag=0, Size recPaymentLag=0, QuantLib::ext::optional< bool > payIncludeSpread=QuantLib::ext::nullopt, QuantLib::ext::optional< Period > payLookback=QuantLib::ext::nullopt, QuantLib::ext::optional< Size > payFixingDays=QuantLib::ext::nullopt, QuantLib::ext::optional< Size > payRateCutoff=QuantLib::ext::nullopt, QuantLib::ext::optional< bool > payIsAveraged=QuantLib::ext::nullopt, QuantLib::ext::optional< bool > recIncludeSpread=QuantLib::ext::nullopt, QuantLib::ext::optional< Period > recLookback=QuantLib::ext::nullopt, QuantLib::ext::optional< Size > recFixingDays=QuantLib::ext::nullopt, QuantLib::ext::optional< Size > recRateCutoff=QuantLib::ext::nullopt, QuantLib::ext::optional< bool > recIsAveraged=QuantLib::ext::nullopt, const bool telescopicValueDates=false)
Inspectors
Real payNominal () const
const Currency & payCurrency () const
const Schedule & paySchedule () const
const QuantLib::ext::shared_ptr< IborIndex > & payIndex () const
Spread paySpread () const
Real payGearing () const
Real recNominal () const
const Currency & recCurrency () const
const Schedule & recSchedule () const
const QuantLib::ext::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

void setupExpired () const override
 CrossCcySwap (Size legs)
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 QuantLib::ext::shared_ptr< IborIndex > & payIndex,
Spread paySpread,
Real payGearing,
Real recNominal,
const Currency & recCurrency,
const Schedule & recSchedule,
const QuantLib::ext::shared_ptr< IborIndex > & recIndex,
Spread recSpread,
Real recGearing,
Size payPaymentLag = 0,
Size recPaymentLag = 0,
QuantLib::ext::optional< bool > payIncludeSpread = QuantLib::ext::nullopt,
QuantLib::ext::optional< Period > payLookback = QuantLib::ext::nullopt,
QuantLib::ext::optional< Size > payFixingDays = QuantLib::ext::nullopt,
QuantLib::ext::optional< Size > payRateCutoff = QuantLib::ext::nullopt,
QuantLib::ext::optional< bool > payIsAveraged = QuantLib::ext::nullopt,
QuantLib::ext::optional< bool > recIncludeSpread = QuantLib::ext::nullopt,
QuantLib::ext::optional< Period > recLookback = QuantLib::ext::nullopt,
QuantLib::ext::optional< Size > recFixingDays = QuantLib::ext::nullopt,
QuantLib::ext::optional< Size > recRateCutoff = QuantLib::ext::nullopt,
QuantLib::ext::optional< bool > recIsAveraged = QuantLib::ext::nullopt,
const bool telescopicValueDates = false )

First leg holds the pay currency cashflows and the second leg holds the receive currency cashflows.