Swap Class Reference
[Financial instruments]

#include <ql/Instruments/swap.hpp>

Inheritance diagram for Swap:

Inheritance graph
[legend]
List of all members.

Detailed Description

Interest rate swap.

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


Public Member Functions

 Swap (const std::vector< boost::shared_ptr< CashFlow > > &firstLeg, const std::vector< boost::shared_ptr< CashFlow > > &secondLeg, const RelinkableHandle< TermStructure > &termStructure)
Instrument interface
bool isExpired () const
 returns whether the instrument is still tradable.

Additional interface
Date startDate () const
Date maturity () const
Real firstLegBPS () const
Real secondLegBPS () const
TimeBasket sensitivity (Integer basis=2) const

Protected Member Functions

void setupExpired () const
void performCalculations () const

Protected Attributes

std::vector< boost::shared_ptr<
CashFlow > > 
firstLeg_
std::vector< boost::shared_ptr<
CashFlow > > 
secondLeg_
RelinkableHandle< TermStructuretermStructure_
Real firstLegBPS_
Real secondLegBPS_


Member Function Documentation

TimeBasket sensitivity Integer  basis = 2  )  const
 

Bug:
this method must still be checked. It is not guaranteed to yield the right results.

void setupExpired  )  const [protected, virtual]
 

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

Reimplemented from Instrument.

void performCalculations  )  const [protected, virtual]
 

In case a pricing engine is not used, this method must be overridden to perform the actual calculations and set any needed results. In case a pricing engine is used, the default implementation can be used.

Reimplemented from Instrument.


QuantLib.org
QuantLib
Hosted by
SourceForge.net Logo
Documentation generated by
doxygen