Logo
Reference manual - version qle_version
CrossCcyBasisMtMResetSwap Class Reference

Cross currency basis MtM resettable swap. More...

#include <qle/instruments/crossccybasismtmresetswap.hpp>

Inheritance diagram for CrossCcyBasisMtMResetSwap:

Classes

class  arguments
class  results

Public Member Functions

Constructors
 CrossCcyBasisMtMResetSwap (Real foreignNominal, const Currency &foreignCurrency, const Schedule &foreignSchedule, const QuantLib::ext::shared_ptr< IborIndex > &foreignIndex, Spread foreignSpread, const Currency &domesticCurrency, const Schedule &domesticSchedule, const QuantLib::ext::shared_ptr< IborIndex > &domesticIndex, Spread domesticSpread, const QuantLib::ext::shared_ptr< FxIndex > &fxIdx, bool receiveDomestic=true, Size foreignPaymentLag=0, Size recPaymentLag=0, QuantLib::ext::optional< bool > foreignIncludeSpread=QuantLib::ext::nullopt, QuantLib::ext::optional< Period > foreignLookback=QuantLib::ext::nullopt, QuantLib::ext::optional< Size > foreignFixingDays=QuantLib::ext::nullopt, QuantLib::ext::optional< Size > foreignRateCutoff=QuantLib::ext::nullopt, QuantLib::ext::optional< bool > foreignIsAveraged=QuantLib::ext::nullopt, QuantLib::ext::optional< bool > domesticIncludeSpread=QuantLib::ext::nullopt, QuantLib::ext::optional< Period > domesticLookback=QuantLib::ext::nullopt, QuantLib::ext::optional< Size > domesticFixingDays=QuantLib::ext::nullopt, QuantLib::ext::optional< Size > domesticRateCutoff=QuantLib::ext::nullopt, QuantLib::ext::optional< bool > domesticIsAveraged=QuantLib::ext::nullopt, const bool telescopicValueDates=false, bool fairSpreadLegIsForeign=true)
Inspectors
Real foreignNominal () const
const Currency & foreignCurrency () const
const Schedule & foreignSchedule () const
const QuantLib::ext::shared_ptr< IborIndex > & foreignIndex () const
Spread foreignSpread () const
const Currency & domesticCurrency () const
const Schedule & domesticSchedule () const
const QuantLib::ext::shared_ptr< IborIndex > & domesticIndex () const
Spread domesticSpread () const
Additional interface
Spread fairForeignSpread () const
Spread fairDomesticSpread () const
Spread fairSpread () 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 MtM resettable swap.

The foreign leg holds the pay currency cashflows and domestic leg holds the receive currency cashflows. The notional resets are applied to the domestic leg.

    \ingroup instruments

Constructor & Destructor Documentation

◆ CrossCcyBasisMtMResetSwap()

CrossCcyBasisMtMResetSwap ( Real foreignNominal,
const Currency & foreignCurrency,
const Schedule & foreignSchedule,
const QuantLib::ext::shared_ptr< IborIndex > & foreignIndex,
Spread foreignSpread,
const Currency & domesticCurrency,
const Schedule & domesticSchedule,
const QuantLib::ext::shared_ptr< IborIndex > & domesticIndex,
Spread domesticSpread,
const QuantLib::ext::shared_ptr< FxIndex > & fxIdx,
bool receiveDomestic = true,
Size foreignPaymentLag = 0,
Size recPaymentLag = 0,
QuantLib::ext::optional< bool > foreignIncludeSpread = QuantLib::ext::nullopt,
QuantLib::ext::optional< Period > foreignLookback = QuantLib::ext::nullopt,
QuantLib::ext::optional< Size > foreignFixingDays = QuantLib::ext::nullopt,
QuantLib::ext::optional< Size > foreignRateCutoff = QuantLib::ext::nullopt,
QuantLib::ext::optional< bool > foreignIsAveraged = QuantLib::ext::nullopt,
QuantLib::ext::optional< bool > domesticIncludeSpread = QuantLib::ext::nullopt,
QuantLib::ext::optional< Period > domesticLookback = QuantLib::ext::nullopt,
QuantLib::ext::optional< Size > domesticFixingDays = QuantLib::ext::nullopt,
QuantLib::ext::optional< Size > domesticRateCutoff = QuantLib::ext::nullopt,
QuantLib::ext::optional< bool > domesticIsAveraged = QuantLib::ext::nullopt,
const bool telescopicValueDates = false,
bool fairSpreadLegIsForeign = true )

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