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 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. More... | |
CrossCcySwap (const std::vector< Leg > &legs, const std::vector< bool > &payer, const std::vector< Currency > ¤cies) | |
Instrument interface | |
Real | payNominal_ |
Currency | payCurrency_ |
Schedule | paySchedule_ |
QuantLib::ext::shared_ptr< IborIndex > | payIndex_ |
Spread | paySpread_ |
Real | payGearing_ |
Real | recNominal_ |
Currency | recCurrency_ |
Schedule | recSchedule_ |
QuantLib::ext::shared_ptr< IborIndex > | recIndex_ |
Spread | recSpread_ |
Real | recGearing_ |
Size | payPaymentLag_ |
Size | recPaymentLag_ |
boost::optional< bool > | payIncludeSpread_ |
boost::optional< QuantLib::Period > | payLookback_ |
boost::optional< QuantLib::Size > | payFixingDays_ |
boost::optional< Size > | payRateCutoff_ |
boost::optional< bool > | payIsAveraged_ |
boost::optional< bool > | recIncludeSpread_ |
boost::optional< QuantLib::Period > | recLookback_ |
boost::optional< QuantLib::Size > | recFixingDays_ |
boost::optional< Size > | recRateCutoff_ |
boost::optional< bool > | recIsAveraged_ |
bool | telescopicValueDates_ |
Spread | fairPaySpread_ |
Spread | fairRecSpread_ |
void | setupArguments (PricingEngine::arguments *args) const override |
void | fetchResults (const PricingEngine::results *) const override |
void | setupExpired () const override |
void | initialize () |
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
Definition at line 41 of file crossccybasisswap.hpp.
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.
Definition at line 32 of file crossccybasisswap.cpp.
|
override |
Definition at line 153 of file crossccybasisswap.cpp.
|
override |
Definition at line 168 of file crossccybasisswap.cpp.
Real payNominal | ( | ) | const |
Definition at line 69 of file crossccybasisswap.hpp.
const Currency & payCurrency | ( | ) | const |
Definition at line 70 of file crossccybasisswap.hpp.
const Schedule & paySchedule | ( | ) | const |
Definition at line 71 of file crossccybasisswap.hpp.
const QuantLib::ext::shared_ptr< IborIndex > & payIndex | ( | ) | const |
Definition at line 72 of file crossccybasisswap.hpp.
Spread paySpread | ( | ) | const |
Definition at line 73 of file crossccybasisswap.hpp.
Real payGearing | ( | ) | const |
Definition at line 74 of file crossccybasisswap.hpp.
Real recNominal | ( | ) | const |
Definition at line 76 of file crossccybasisswap.hpp.
const Currency & recCurrency | ( | ) | const |
Definition at line 77 of file crossccybasisswap.hpp.
const Schedule & recSchedule | ( | ) | const |
Definition at line 78 of file crossccybasisswap.hpp.
const QuantLib::ext::shared_ptr< IborIndex > & recIndex | ( | ) | const |
Definition at line 79 of file crossccybasisswap.hpp.
Spread recSpread | ( | ) | const |
Definition at line 80 of file crossccybasisswap.hpp.
Real recGearing | ( | ) | const |
Definition at line 81 of file crossccybasisswap.hpp.
Spread fairPaySpread | ( | ) | const |
Definition at line 86 of file crossccybasisswap.hpp.
Spread fairRecSpread | ( | ) | const |
Definition at line 91 of file crossccybasisswap.hpp.
|
overrideprotected |
Definition at line 196 of file crossccybasisswap.cpp.
|
private |
Definition at line 55 of file crossccybasisswap.cpp.
|
private |
Definition at line 107 of file crossccybasisswap.hpp.
|
private |
Definition at line 108 of file crossccybasisswap.hpp.
|
private |
Definition at line 109 of file crossccybasisswap.hpp.
|
private |
Definition at line 110 of file crossccybasisswap.hpp.
|
private |
Definition at line 111 of file crossccybasisswap.hpp.
|
private |
Definition at line 112 of file crossccybasisswap.hpp.
|
private |
Definition at line 114 of file crossccybasisswap.hpp.
|
private |
Definition at line 115 of file crossccybasisswap.hpp.
|
private |
Definition at line 116 of file crossccybasisswap.hpp.
|
private |
Definition at line 117 of file crossccybasisswap.hpp.
|
private |
Definition at line 118 of file crossccybasisswap.hpp.
|
private |
Definition at line 119 of file crossccybasisswap.hpp.
|
private |
Definition at line 121 of file crossccybasisswap.hpp.
|
private |
Definition at line 122 of file crossccybasisswap.hpp.
|
private |
Definition at line 124 of file crossccybasisswap.hpp.
|
private |
Definition at line 125 of file crossccybasisswap.hpp.
|
private |
Definition at line 126 of file crossccybasisswap.hpp.
|
private |
Definition at line 127 of file crossccybasisswap.hpp.
|
private |
Definition at line 128 of file crossccybasisswap.hpp.
|
private |
Definition at line 129 of file crossccybasisswap.hpp.
|
private |
Definition at line 130 of file crossccybasisswap.hpp.
|
private |
Definition at line 131 of file crossccybasisswap.hpp.
|
private |
Definition at line 132 of file crossccybasisswap.hpp.
|
private |
Definition at line 133 of file crossccybasisswap.hpp.
|
private |
Definition at line 134 of file crossccybasisswap.hpp.
|
mutableprivate |
Definition at line 136 of file crossccybasisswap.hpp.
|
mutableprivate |
Definition at line 137 of file crossccybasisswap.hpp.