Swap Class Reference
[Financial instruments]

Interest rate swap. More...

#include <ql/instruments/swap.hpp>

Inheritance diagram for Swap:

List of all members.

Public Member Functions

Constructors
 Swap (const Leg &firstLeg, const Leg &secondLeg)
 Swap (const std::vector< Leg > &legs, const std::vector< bool > &payer)
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
Additional interface
Date startDate () const
Date maturityDate () const
Real legBPS (Size j) const
Real legNPV (Size j) const
const Leg & leg (Size j) const

Protected Member Functions

Constructors
 Swap (Size legs)
Instrument interface
void setupExpired () const

Protected Attributes

std::vector< Leg > legs_
std::vector< Real > payer_
std::vector< Real > legNPV_
std::vector< Real > legBPS_


Detailed Description

Interest rate swap.

The cash flows belonging to the first leg are paid; the ones belonging to the second leg are received.


Constructor & Destructor Documentation

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.

Swap ( Size  legs  )  [protected]

This constructor can be used by derived classes that will build their legs themselves.


Member Function Documentation

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 AssetSwap, VanillaSwap, YearOnYearInflationSwap, and ZeroCouponInflationSwap.

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 AssetSwap, VanillaSwap, YearOnYearInflationSwap, and ZeroCouponInflationSwap.

void setupExpired (  )  const [protected, virtual]

This method must leave the instrument in a consistent state when the expiration condition is met.

Reimplemented from Instrument.