Swaption Class Reference
[Financial instruments]

#include <ql/instruments/swaption.hpp>

Inheritance diagram for Swaption:

List of all members.


Detailed Description

Swaption class

Tests:
  • the correctness of the returned value is tested by checking that the price of a payer (resp. receiver) swaption decreases (resp. increases) with the strike.
  • the correctness of the returned value is tested by checking that the price of a payer (resp. receiver) swaption increases (resp. decreases) with the spread.
  • the correctness of the returned value is tested by checking it against that of a swaption on a swap with no spread and a correspondingly adjusted fixed rate.
  • the correctness of the returned value is tested by checking it against a known good value.
  • the correctness of the returned value of cash settled swaptions is tested by checking the modified annuity against a value calculated without using the Swaption class.
Possible enhancements:
add greeks and explicit exercise lag
Examples:

BermudanSwaption.cpp.


Public Member Functions

 Swaption (const boost::shared_ptr< VanillaSwap > &swap, const boost::shared_ptr< Exercise > &exercise, Settlement::Type delivery=Settlement::Physical)
void setupArguments (PricingEngine::arguments *) const
Volatility impliedVolatility (Real price, const Handle< YieldTermStructure > &termStructure, Real accuracy=1.0e-4, Size maxEvaluations=100, Volatility minVol=1.0e-7, Volatility maxVol=4.0) const
 implied volatility
Rate atmRate () const
Instrument interface
bool isExpired () const
 returns whether the instrument is still tradable.
Inspectors
Settlement::Type settlementType () const
VanillaSwap::Type type () const
const boost::shared_ptr
< VanillaSwap > & 
underlyingSwap () const

Classes

class  arguments
 Arguments for swaption calculation More...
class  engine
 base class for swaption engines More...

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 Option.