Cross currency basis MtM resettable swap. More...
#include <qle/instruments/crossccybasismtmresetswap.hpp>
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, boost::optional< bool > foreignIncludeSpread=boost::none, boost::optional< Period > foreignLookback=boost::none, boost::optional< Size > foreignFixingDays=boost::none, boost::optional< Size > foreignRateCutoff=boost::none, boost::optional< bool > foreignIsAveraged=boost::none, boost::optional< bool > domesticIncludeSpread=boost::none, boost::optional< Period > domesticLookback=boost::none, boost::optional< Size > domesticFixingDays=boost::none, boost::optional< Size > domesticRateCutoff=boost::none, boost::optional< bool > domesticIsAveraged=boost::none, 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. More... | |
CrossCcySwap (const std::vector< Leg > &legs, const std::vector< bool > &payer, const std::vector< Currency > ¤cies) | |
Instrument interface | |
Real | foreignNominal_ |
Currency | foreignCurrency_ |
Schedule | foreignSchedule_ |
QuantLib::ext::shared_ptr< IborIndex > | foreignIndex_ |
Spread | foreignSpread_ |
Currency | domesticCurrency_ |
Schedule | domesticSchedule_ |
QuantLib::ext::shared_ptr< IborIndex > | domesticIndex_ |
Spread | domesticSpread_ |
QuantLib::ext::shared_ptr< FxIndex > | fxIndex_ |
bool | receiveDomestic_ |
Size | foreignPaymentLag_ |
Size | domesticPaymentLag_ |
boost::optional< bool > | foreignIncludeSpread_ |
boost::optional< QuantLib::Period > | foreignLookback_ |
boost::optional< QuantLib::Size > | foreignFixingDays_ |
boost::optional< Size > | foreignRateCutoff_ |
boost::optional< bool > | foreignIsAveraged_ |
boost::optional< bool > | domesticIncludeSpread_ |
boost::optional< QuantLib::Period > | domesticLookback_ |
boost::optional< QuantLib::Size > | domesticFixingDays_ |
boost::optional< Size > | domesticRateCutoff_ |
boost::optional< bool > | domesticIsAveraged_ |
bool | telescopicValueDates_ |
bool | fairSpreadLegIsForeign_ |
Spread | fairForeignSpread_ |
Spread | fairDomesticSpread_ |
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 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
Definition at line 42 of file crossccybasismtmresetswap.hpp.
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 , |
||
boost::optional< bool > | foreignIncludeSpread = boost::none , |
||
boost::optional< Period > | foreignLookback = boost::none , |
||
boost::optional< Size > | foreignFixingDays = boost::none , |
||
boost::optional< Size > | foreignRateCutoff = boost::none , |
||
boost::optional< bool > | foreignIsAveraged = boost::none , |
||
boost::optional< bool > | domesticIncludeSpread = boost::none , |
||
boost::optional< Period > | domesticLookback = boost::none , |
||
boost::optional< Size > | domesticFixingDays = boost::none , |
||
boost::optional< Size > | domesticRateCutoff = boost::none , |
||
boost::optional< bool > | domesticIsAveraged = boost::none , |
||
const bool | telescopicValueDates = false , |
||
bool | fairSpreadLegIsForeign = true |
||
) |
First leg holds the pay currency cashflows and the second leg holds the receive currency cashflows.
Definition at line 32 of file crossccybasismtmresetswap.cpp.
|
override |
Definition at line 171 of file crossccybasismtmresetswap.cpp.
|
override |
Definition at line 186 of file crossccybasismtmresetswap.cpp.
Real foreignNominal | ( | ) | const |
Definition at line 72 of file crossccybasismtmresetswap.hpp.
const Currency & foreignCurrency | ( | ) | const |
Definition at line 73 of file crossccybasismtmresetswap.hpp.
const Schedule & foreignSchedule | ( | ) | const |
Definition at line 74 of file crossccybasismtmresetswap.hpp.
const QuantLib::ext::shared_ptr< IborIndex > & foreignIndex | ( | ) | const |
Definition at line 75 of file crossccybasismtmresetswap.hpp.
Spread foreignSpread | ( | ) | const |
Definition at line 76 of file crossccybasismtmresetswap.hpp.
const Currency & domesticCurrency | ( | ) | const |
Definition at line 78 of file crossccybasismtmresetswap.hpp.
const Schedule & domesticSchedule | ( | ) | const |
Definition at line 79 of file crossccybasismtmresetswap.hpp.
const QuantLib::ext::shared_ptr< IborIndex > & domesticIndex | ( | ) | const |
Definition at line 80 of file crossccybasismtmresetswap.hpp.
Spread domesticSpread | ( | ) | const |
Definition at line 81 of file crossccybasismtmresetswap.hpp.
Spread fairForeignSpread | ( | ) | const |
Definition at line 86 of file crossccybasismtmresetswap.hpp.
Spread fairDomesticSpread | ( | ) | const |
Definition at line 91 of file crossccybasismtmresetswap.hpp.
Spread fairSpread | ( | ) | const |
Definition at line 96 of file crossccybasismtmresetswap.hpp.
|
overrideprotected |
Definition at line 214 of file crossccybasismtmresetswap.cpp.
|
private |
Definition at line 60 of file crossccybasismtmresetswap.cpp.
|
private |
Definition at line 113 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 114 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 115 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 116 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 117 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 119 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 120 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 121 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 122 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 124 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 125 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 127 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 128 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 130 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 131 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 132 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 133 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 134 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 135 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 136 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 137 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 138 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 139 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 140 of file crossccybasismtmresetswap.hpp.
|
private |
Definition at line 141 of file crossccybasismtmresetswap.hpp.
|
mutableprivate |
Definition at line 143 of file crossccybasismtmresetswap.hpp.
|
mutableprivate |
Definition at line 144 of file crossccybasismtmresetswap.hpp.