CPICouponPricer Class Reference

base pricer for capped/floored CPI coupons N.B. vol-dependent parts are a TODO More...

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

Inheritance diagram for CPICouponPricer:
[legend]

## Public Member Functions

QL_DEPRECATED | CPICouponPricer ()
| CPICouponPricer (const Handle< YieldTermStructure > &nominalTermStructure)
| CPICouponPricer (const Handle< CPIVolatilitySurface > &capletVol, const Handle< YieldTermStructure > &nominalTermStructure)
virtual Handle< CPIVolatilitySurface > | capletVolatility () const
virtual Handle< YieldTermStructure > | nominalTermStructure () const
virtual void | setCapletVolatility (const Handle< CPIVolatilitySurface > &capletVol)
Public Member Functions inherited from InflationCouponPricer
virtual void | update ()
Public Member Functions inherited from Observer
| Observer (const Observer &)
Observer & | operator= (const Observer &)
std::pair< iterator, bool > | registerWith (const ext::shared_ptr< Observable > &)
void | registerWithObservables (const ext::shared_ptr< Observer > &)
Size | unregisterWith (const ext::shared_ptr< Observable > &)
void | unregisterWithAll ()
virtual void | deepUpdate ()
Public Member Functions inherited from Observable
| Observable (const Observable &)
Observable & | operator= (const Observable &)
void | notifyObservers ()

## InflationCouponPricer interface

Handle< CPIVolatilitySurface > | capletVol_
| data
Handle< YieldTermStructure > | nominalTermStructure_
const CPICoupon * | coupon_
Real | gearing_
Spread | spread_
Real | discount_
virtual Real | swapletPrice () const
virtual Rate | swapletRate () const
virtual Real | capletPrice (Rate effectiveCap) const
virtual Rate | capletRate (Rate effectiveCap) const
virtual Real | floorletPrice (Rate effectiveFloor) const
virtual Rate | floorletRate (Rate effectiveFloor) const
virtual void | initialize (const InflationCoupon &)
virtual Real | optionletPrice (Option::Type optionType, Real effStrike) const
virtual Real | optionletRate (Option::Type optionType, Real effStrike) const
virtual Real | optionletPriceImp (Option::Type, Real strike, Real forward, Real stdDev) const
virtual Rate | adjustedFixing (Rate fixing=Null< Rate >()) const

## Additional Inherited Members

Public Types inherited from Observer
typedef boost::unordered_set< ext::shared_ptr< Observable > > | set_type
typedef set_type::iterator | iterator
Protected Attributes inherited from InflationCouponPricer
Handle< YieldTermStructure > | rateCurve_
Date | paymentDate_

## Detailed Description

base pricer for capped/floored CPI coupons N.B. vol-dependent parts are a TODO

Note
  this pricer can already do swaplets but to get volatility-dependent coupons you need to implement the descendents.

## Constructor & Destructor Documentation

## CPICouponPricer()

QL_DEPRECATED CPICouponPricer | ( |  | ) |

Deprecated:
  Use one of the other constructors. Deprecated in version 1.19.

## Member Function Documentation

## optionletPriceImp()

virtual Real optionletPriceImp | ( | Option::Type | ,
|  | Real | strike,
|  | Real | forward,
|  | Real | stdDev
| ) |  | const

protected virtual

Derived classes usually only need to implement this.

The name of the method is misleading. This actually returns the rate of the optionlet (so not discounted and not accrued).