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

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

#include <cpicouponpricer.hpp>

+ Inheritance diagram for CPICouponPricer:
+ Collaboration diagram for CPICouponPricer:

Public Member Functions

 CPICouponPricer (Handle< YieldTermStructure > nominalTermStructure=Handle< YieldTermStructure >())
 
 CPICouponPricer (Handle< CPIVolatilitySurface > capletVol, Handle< YieldTermStructure > nominalTermStructure=Handle< YieldTermStructure >())
 
virtual Handle< CPIVolatilitySurfacecapletVolatility () const
 
virtual Handle< YieldTermStructurenominalTermStructure () const
 
virtual void setCapletVolatility (const Handle< CPIVolatilitySurface > &capletVol)
 
- Public Member Functions inherited from InflationCouponPricer
QL_DEPRECATED_DISABLE_WARNING InflationCouponPricer ()=default
 
 ~InflationCouponPricer () override=default
 
void update () override
 
- 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 ()=default
 
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
 Observable (Observable &&)=delete
 
Observableoperator= (Observable &&)=delete
 
virtual ~Observable ()=default
 
void notifyObservers ()
 

InflationCouponPricer interface

Handle< CPIVolatilitySurfacecapletVol_
 
Handle< YieldTermStructurenominalTermStructure_
 
const CPICouponcoupon_
 
Real gearing_
 
Real discount_
 
Real swapletPrice () const override
 
Rate swapletRate () const override
 
Real capletPrice (Rate effectiveCap) const override
 
Rate capletRate (Rate effectiveCap) const override
 
Real floorletPrice (Rate effectiveFloor) const override
 
Rate floorletRate (Rate effectiveFloor) const override
 
void initialize (const InflationCoupon &) override
 
virtual Rate accruedRate (Date settlementDate) const
 
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
 

Additional Inherited Members

- Public Types inherited from Observer
typedef set_type::iterator iterator
 
- Protected Attributes inherited from InflationCouponPricer
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.

Definition at line 39 of file cpicouponpricer.hpp.

Constructor & Destructor Documentation

◆ CPICouponPricer() [1/2]

CPICouponPricer ( Handle< YieldTermStructure nominalTermStructure = Handle<YieldTermStructure>())
explicit

Definition at line 26 of file cpicouponpricer.cpp.

+ Here is the call graph for this function:

◆ CPICouponPricer() [2/2]

CPICouponPricer ( Handle< CPIVolatilitySurface capletVol,
Handle< YieldTermStructure nominalTermStructure = Handle<YieldTermStructure>() 
)
explicit

Definition at line 31 of file cpicouponpricer.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ capletVolatility()

virtual Handle< CPIVolatilitySurface > capletVolatility ( ) const
virtual

Definition at line 46 of file cpicouponpricer.hpp.

+ Here is the caller graph for this function:

◆ nominalTermStructure()

virtual Handle< YieldTermStructure > nominalTermStructure ( ) const
virtual

Definition at line 50 of file cpicouponpricer.hpp.

◆ setCapletVolatility()

void setCapletVolatility ( const Handle< CPIVolatilitySurface > &  capletVol)
virtual

Definition at line 38 of file cpicouponpricer.cpp.

+ Here is the call graph for this function:

◆ swapletPrice()

Real swapletPrice ( ) const
overridevirtual

Implements InflationCouponPricer.

Definition at line 129 of file cpicouponpricer.cpp.

+ Here is the call graph for this function:

◆ swapletRate()

Rate swapletRate ( ) const
overridevirtual

Implements InflationCouponPricer.

Definition at line 135 of file cpicouponpricer.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ capletPrice()

Real capletPrice ( Rate  effectiveCap) const
overridevirtual

Implements InflationCouponPricer.

Definition at line 51 of file cpicouponpricer.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ capletRate()

Rate capletRate ( Rate  effectiveCap) const
overridevirtual

Implements InflationCouponPricer.

Definition at line 61 of file cpicouponpricer.cpp.

+ Here is the call graph for this function:

◆ floorletPrice()

Real floorletPrice ( Rate  effectiveFloor) const
overridevirtual

Implements InflationCouponPricer.

Definition at line 46 of file cpicouponpricer.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ floorletRate()

Rate floorletRate ( Rate  effectiveFloor) const
overridevirtual

Implements InflationCouponPricer.

Definition at line 57 of file cpicouponpricer.cpp.

+ Here is the call graph for this function:

◆ initialize()

void initialize ( const InflationCoupon coupon)
overridevirtual

Implements InflationCouponPricer.

Definition at line 110 of file cpicouponpricer.cpp.

+ Here is the call graph for this function:

◆ accruedRate()

Rate accruedRate ( Date  settlementDate) const
virtual

Definition at line 140 of file cpicouponpricer.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ optionletPrice()

Real optionletPrice ( Option::Type  optionType,
Real  effStrike 
) const
protectedvirtual

Definition at line 74 of file cpicouponpricer.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ optionletRate()

Real optionletRate ( Option::Type  optionType,
Real  effStrike 
) const
protectedvirtual

Definition at line 81 of file cpicouponpricer.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ optionletPriceImp()

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

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

Definition at line 66 of file cpicouponpricer.cpp.

+ Here is the caller graph for this function:

Member Data Documentation

◆ capletVol_

Handle<CPIVolatilitySurface> capletVol_
protected

Definition at line 88 of file cpicouponpricer.hpp.

◆ nominalTermStructure_

Handle<YieldTermStructure> nominalTermStructure_
protected

Definition at line 89 of file cpicouponpricer.hpp.

◆ coupon_

const CPICoupon* coupon_
protected

Definition at line 90 of file cpicouponpricer.hpp.

◆ gearing_

Real gearing_
protected

Definition at line 91 of file cpicouponpricer.hpp.

◆ discount_

Real discount_
protected

Definition at line 92 of file cpicouponpricer.hpp.