CapFloor Class Reference
[Financial instruments]

#include <ql/Instruments/capfloor.hpp>

Inheritance diagram for CapFloor:

Inheritance graph
[legend]
List of all members.

Detailed Description

Base class for cap-like instruments.

Tests:
a) the correctness of the returned value is tested by checking that the price of a cap (resp. floor) decreases (resp. increases) with the strike rate.

b) the relationship between the values of caps, floors and the resulting collars is checked.

c) the put-call parity between the values of caps, floors and swaps is checked.

d) the correctness of the returned implied volatility is tested by using it for reproducing the target value.

e) the correctness of the returned value is tested by checking it against a known good value.


Public Types

enum  Type { Cap, Floor, Collar }

Public Member Functions

 CapFloor (Type type, const std::vector< boost::shared_ptr< CashFlow > > &floatingLeg, const std::vector< Rate > &capRates, const std::vector< Rate > &floorRates, const RelinkableHandle< TermStructure > &termStructure, const boost::shared_ptr< PricingEngine > &engine)
void setupArguments (Arguments *) const
Volatility impliedVolatility (Real price, Real accuracy=1.0e-4, Size maxEvaluations=100, Volatility minVol=QL_MIN_VOLATILITY, Volatility maxVol=QL_MAX_VOLATILITY) const
 implied term volatility

Instrument interface
bool isExpired () const
 returns whether the instrument is still tradable.

Inspectors
Type type () const
const std::vector< boost::shared_ptr<
CashFlow > > & 
leg () const
const std::vector< Rate > & capRates () const
const std::vector< Rate > & floorRates () const


Member Function Documentation

void setupArguments 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.


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