Currency Interest Rate Swap More...
#include <qle/instruments/currencyswap.hpp>
Inheritance diagram for CurrencySwap:
Collaboration diagram for CurrencySwap:Classes | |
| class | arguments |
| class | engine |
| class | results |
Public Member Functions | |
LazyObject interface | |
| void | alwaysForwardNotifications () override |
Observable interface | |
| void | deepUpdate () override |
Additional interface | |
| Date | startDate () const |
| Date | maturityDate () const |
| Real | legBPS (Size j) const |
| Real | legNPV (Size j) const |
| Real | inCcyLegBPS (Size j) const |
| Real | inCcyLegNPV (Size j) const |
| DiscountFactor | startDiscounts (Size j) const |
| DiscountFactor | endDiscounts (Size j) const |
| DiscountFactor | npvDateDiscount () const |
| const Leg & | leg (Size j) const |
| const Currency & | legCurrency (Size j) const |
| std::vector< Leg > | legs () |
| std::vector< Currency > | currencies () |
Instrument interface | |
| std::vector< Leg > | legs_ |
| std::vector< Real > | payer_ |
| std::vector< Currency > | currency_ |
| bool | isPhysicallySettled_ |
| bool | isResettable_ |
| std::vector< Real > | legNPV_ |
| std::vector< Real > | inCcyLegNPV_ |
| std::vector< Real > | legBPS_ |
| std::vector< Real > | inCcyLegBPS_ |
| std::vector< DiscountFactor > | startDiscounts_ |
| std::vector< DiscountFactor > | endDiscounts_ |
| DiscountFactor | npvDateDiscount_ |
| bool | isExpired () const override |
| void | setupArguments (PricingEngine::arguments *) const override |
| void | fetchResults (const PricingEngine::results *) const override |
| void | setupExpired () const override |
Constructors | |
| CurrencySwap (const std::vector< Leg > &legs, const std::vector< bool > &payer, const std::vector< Currency > ¤cy, const bool isPhysicallySettled=true, const bool isResettable=false) | |
| CurrencySwap (Size legs) | |
Currency Interest Rate Swap
This instrument generalizes the QuantLib Swap instrument in that it allows multiple legs with different currencies (one per leg)
Definition at line 47 of file currencyswap.hpp.
| CurrencySwap | ( | const std::vector< Leg > & | legs, |
| const std::vector< bool > & | payer, | ||
| const std::vector< Currency > & | currency, | ||
| const bool | isPhysicallySettled = true, |
||
| const bool | isResettable = false |
||
| ) |
Multi leg constructor.
Definition at line 44 of file currencyswap.cpp.
|
protected |
This constructor can be used by derived classes that will build their legs themselves.
Definition at line 32 of file currencyswap.cpp.
|
override |
Definition at line 193 of file currencyswap.cpp.
Here is the call graph for this function:
|
override |
Definition at line 183 of file currencyswap.cpp.
Here is the call graph for this function:
|
override |
Definition at line 63 of file currencyswap.cpp.
|
override |
Definition at line 84 of file currencyswap.cpp.
|
override |
Definition at line 95 of file currencyswap.cpp.
| Date startDate | ( | ) | const |
| Date maturityDate | ( | ) | const |
| Real legBPS | ( | Size | j | ) | const |
Definition at line 76 of file currencyswap.hpp.
Here is the caller graph for this function:| Real legNPV | ( | Size | j | ) | const |
Definition at line 81 of file currencyswap.hpp.
Here is the caller graph for this function:| Real inCcyLegBPS | ( | Size | j | ) | const |
Definition at line 86 of file currencyswap.hpp.
Here is the caller graph for this function:| Real inCcyLegNPV | ( | Size | j | ) | const |
Definition at line 91 of file currencyswap.hpp.
Here is the caller graph for this function:| DiscountFactor startDiscounts | ( | Size | j | ) | const |
Definition at line 96 of file currencyswap.hpp.
Here is the caller graph for this function:| DiscountFactor endDiscounts | ( | Size | j | ) | const |
Definition at line 101 of file currencyswap.hpp.
Here is the caller graph for this function:| DiscountFactor npvDateDiscount | ( | ) | const |
| const Leg & leg | ( | Size | j | ) | const |
Definition at line 110 of file currencyswap.hpp.
Here is the caller graph for this function:| const Currency & legCurrency | ( | Size | j | ) | const |
Definition at line 114 of file currencyswap.hpp.
| std::vector< Leg > legs | ( | ) |
Definition at line 118 of file currencyswap.hpp.
| std::vector< Currency > currencies | ( | ) |
Definition at line 119 of file currencyswap.hpp.
|
overrideprotected |
Definition at line 73 of file currencyswap.cpp.
|
protected |
Definition at line 133 of file currencyswap.hpp.
|
protected |
Definition at line 134 of file currencyswap.hpp.
|
protected |
Definition at line 135 of file currencyswap.hpp.
|
protected |
Definition at line 136 of file currencyswap.hpp.
|
protected |
Definition at line 136 of file currencyswap.hpp.
|
mutableprotected |
Definition at line 137 of file currencyswap.hpp.
|
protected |
Definition at line 137 of file currencyswap.hpp.
|
mutableprotected |
Definition at line 138 of file currencyswap.hpp.
|
protected |
Definition at line 138 of file currencyswap.hpp.
|
mutableprotected |
Definition at line 139 of file currencyswap.hpp.
|
protected |
Definition at line 139 of file currencyswap.hpp.
|
mutableprotected |
Definition at line 140 of file currencyswap.hpp.