- QuantLib
- Swap
 
Interest rate swap. More...
#include <ql/instruments/swap.hpp>

| Public Member Functions | |
| Additional interface | |
| Date | startDate () const | 
| Date | maturityDate () const | 
| Real | legBPS (Size j) const | 
| Real | legNPV (Size j) const | 
| DiscountFactor | startDiscounts (Size j) const | 
| DiscountFactor | endDiscounts (Size j) const | 
| DiscountFactor | npvDateDiscount () const | 
| const Leg & | leg (Size j) const | 
| Protected Attributes | |
| std::vector< Leg > | legs_ | 
| std::vector< Real > | payer_ | 
| std::vector< Real > | legNPV_ | 
| std::vector< Real > | legBPS_ | 
| std::vector< DiscountFactor > | startDiscounts_ | 
| std::vector< DiscountFactor > | endDiscounts_ | 
| DiscountFactor | npvDateDiscount_ | 
| Constructors | |
| Swap (const Leg &firstLeg, const Leg &secondLeg) | |
| Swap (const std::vector< Leg > &legs, const std::vector< bool > &payer) | |
| Swap (Size legs) | |
| Instrument interface | |
| bool | isExpired () const | 
| returns whether the instrument might have value greater than zero. | |
| void | setupArguments (PricingEngine::arguments *) const | 
| void | fetchResults (const PricingEngine::results *) const | 
| void | setupExpired () const | 
Interest rate swap.
The cash flows belonging to the first leg are paid; the ones belonging to the second leg are received.
| Swap | ( | const Leg & | firstLeg, | 
| const Leg & | secondLeg | ||
| ) | 
The cash flows belonging to the first leg are paid; the ones belonging to the second leg are received.
| Swap | ( | const std::vector< Leg > & | legs, | 
| const std::vector< bool > & | payer | ||
| ) | 
Multi leg constructor.
This constructor can be used by derived classes that will build their legs themselves.
| void setupArguments | ( | PricingEngine::arguments * | ) | const  [virtual] | 
When a derived argument structure is defined for an instrument, this method should be overridden to fill it. This is mandatory in case a pricing engine is used.
Reimplemented from Instrument.
Reimplemented in CPISwap, ZeroCouponInflationSwap, VanillaSwap, YearOnYearInflationSwap, and AssetSwap.
| void fetchResults | ( | const PricingEngine::results * | r | ) | const  [virtual] | 
When a derived result structure is defined for an instrument, this method should be overridden to read from it. This is mandatory in case a pricing engine is used.
Reimplemented from Instrument.
Reimplemented in CPISwap, ZeroCouponInflationSwap, VanillaSwap, YearOnYearInflationSwap, and AssetSwap.
| void setupExpired | ( | ) | const  [protected, virtual] | 
This method must leave the instrument in a consistent state when the expiration condition is met.
Reimplemented from Instrument.