Base inflation-coupon pricer. More...
#include <ql/cashflows/inflationcouponpricer.hpp>
 Inheritance diagram for InflationCouponPricer:
 Inheritance diagram for InflationCouponPricer:| 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< iterator, bool > | registerWith (const boost::shared_ptr< Observable > &) | 
| void | registerWithObservables (const boost::shared_ptr< Observer > &) | 
| Size | unregisterWith (const boost::shared_ptr< Observable > &) | 
| void | unregisterWithAll () | 
| virtual void | deepUpdate () | 
|  Public Member Functions inherited from Observable | |
| Observable (const Observable &) | |
| Observable & | operator= (const Observable &) | 
| void | notifyObservers () | 
| Protected Attributes | |
| Handle< YieldTermStructure > | rateCurve_ | 
| Date | paymentDate_ | 
| Additional Inherited Members | |
|  Public Types inherited from Observer | |
| typedef std::set< boost::shared_ptr< Observable > > | set_type | 
| typedef set_type::iterator | iterator | 
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.
| 
 | 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.