QuantLib: InflationCouponPricer Class Reference

A free/open-source library for quantitative finance Reference manual - version 1.6

- Main Page
- Related Pages
- Modules
- Classes
- Examples

- Class List
- Class Index
- Class Hierarchy
- Class Members

Protected Attributes | List of all members
InflationCouponPricer Class Referenceabstract

Base inflation-coupon pricer. More...

`#include <ql/cashflows/inflationcouponpricer.hpp>`

Inheritance diagram for InflationCouponPricer:
[legend]

## Public Member Functions
Interface
virtual Real | swapletPrice () const =0
virtual Rate | swapletRate () const =0
virtual Real | capletPrice (Rate effectiveCap) const =0
virtual Rate | capletRate (Rate effectiveCap) const =0
virtual Real | floorletPrice (Rate effectiveFloor) const =0
virtual Rate | floorletRate (Rate effectiveFloor) const =0
virtual void | initialize (const InflationCoupon &)=0
Observer interface
virtual void | update ()
Public Member Functions inherited from Observer
| Observer (const Observer &)
Observer & | operator= (const Observer &)
std::pair< std::set< boost::shared_ptr< Observable > >::iterator, bool > | registerWith (const boost::shared_ptr< Observable > &)
void | registerWithObservables (const boost::shared_ptr< Observer > &)
Size | unregisterWith (const boost::shared_ptr< Observable > &)
void | unregisterWithAll ()
Public Member Functions inherited from Observable
| Observable (const Observable &)
Observable & | operator= (const Observable &)
void | notifyObservers ()

## Protected Attributes
Handle< YieldTermStructure > | rateCurve_
Date | paymentDate_

## Detailed Description

Base inflation-coupon pricer.

The main reason we can't use FloatingRateCouponPricer as the base is that it takes a FloatingRateCoupon which takes an InterestRateIndex and we need an inflation index (these are lagged).

The basic inflation-specific thing that the pricer has to do is deal with different lags in the index and the option e.g. the option could look 3 months back and the index 2.

We add the requirement that pricers do inverseCap/Floor-lets. These are cap/floor-lets as usually defined, i.e. pay out if underlying is above/below a strike. The non-inverse (usual) versions are from a coupon point of view (a capped coupon has a maximum at the strike).

We add the inverse prices so that conventional caps can be priced simply.

## Member Function Documentation

virtual void update | ( |  | ) |
| virtual

This method must be implemented in derived classes. An instance of Observer does not call this method directly: instead, it will be called by the observables the instance registered with when they need to notify any changes.

Implements Observer.