QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
Public Member Functions | List of all members
InflationCouponPricer Class Referenceabstract

Base inflation-coupon pricer. More...

#include <inflationcouponpricer.hpp>

+ Inheritance diagram for InflationCouponPricer:
+ Collaboration diagram for InflationCouponPricer:

Public Member Functions

QL_DEPRECATED_DISABLE_WARNING InflationCouponPricer ()=default
 
 ~InflationCouponPricer () override=default
 
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
 
- Public Member Functions inherited from Observer
 Observer ()=default
 
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
virtual ~Observer ()
 
std::pair< iterator, boolregisterWith (const ext::shared_ptr< Observable > &)
 
void registerWithObservables (const ext::shared_ptr< Observer > &)
 
Size unregisterWith (const ext::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
virtual void update ()=0
 
virtual void deepUpdate ()
 
- Public Member Functions inherited from Observable
 Observable ()
 
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
 Observable (Observable &&)=delete
 
Observableoperator= (Observable &&)=delete
 
virtual ~Observable ()=default
 
void notifyObservers ()
 

Observer interface

Date paymentDate_
 
void update () override
 

Additional Inherited Members

- Public Types inherited from Observer
typedef set_type::iterator iterator
 

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.

Definition at line 53 of file inflationcouponpricer.hpp.

Constructor & Destructor Documentation

◆ InflationCouponPricer()

◆ ~InflationCouponPricer()

~InflationCouponPricer ( )
overridedefault

Member Function Documentation

◆ swapletPrice()

virtual Real swapletPrice ( ) const
pure virtual

◆ swapletRate()

virtual Rate swapletRate ( ) const
pure virtual

◆ capletPrice()

virtual Real capletPrice ( Rate  effectiveCap) const
pure virtual

◆ capletRate()

virtual Rate capletRate ( Rate  effectiveCap) const
pure virtual

◆ floorletPrice()

virtual Real floorletPrice ( Rate  effectiveFloor) const
pure virtual

◆ floorletRate()

virtual Rate floorletRate ( Rate  effectiveFloor) const
pure virtual

◆ initialize()

virtual void initialize ( const InflationCoupon )
pure virtual

◆ update()

void update ( )
overridevirtual

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.

Definition at line 73 of file inflationcouponpricer.hpp.

+ Here is the call graph for this function:

Member Data Documentation

◆ paymentDate_

Date paymentDate_
protected

Definition at line 76 of file inflationcouponpricer.hpp.