Cross currency basis swap. More...
#include <qle/instruments/crossccybasisswap.hpp>
Inheritance diagram for CrossCcyBasisSwap:
Collaboration 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. 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.
Here is the call graph for this function:
|
override |
Definition at line 153 of file crossccybasisswap.cpp.
Here is the call graph for this function:
|
override |
Definition at line 168 of file crossccybasisswap.cpp.
Here is the call graph for this function:| 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.
Here is the caller graph for this function:| Spread fairRecSpread | ( | ) | const |
Definition at line 91 of file crossccybasisswap.hpp.
Here is the caller graph for this function:
|
overrideprotected |
Definition at line 196 of file crossccybasisswap.cpp.
Here is the call graph for this function:
|
private |
Definition at line 55 of file crossccybasisswap.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
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.