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, 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 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 > ¤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 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, |
||
| 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.