Logo
Reference manual - version qle_version
YoYInflationCapFloorEngine Class Referenceabstract

Base YoY inflation cap/floor engine. More...

#include <qle/pricingengines/inflationcapfloorengines.hpp>

Inheritance diagram for YoYInflationCapFloorEngine:

Public Member Functions

 YoYInflationCapFloorEngine (const ext::shared_ptr< QuantLib::YoYInflationIndex > &, const Handle< QuantLib::YoYOptionletVolatilitySurface > &vol, const Handle< YieldTermStructure > &discountCurve)
ext::shared_ptr< QuantLib::YoYInflationIndex > index () const
Handle< QuantLib::YoYOptionletVolatilitySurface > volatility () const
void setVolatility (const Handle< QuantLib::YoYOptionletVolatilitySurface > &vol)
void calculate () const override

Protected Member Functions

virtual Real optionletImpl (Option::Type type, Rate strike, Rate forward, Real stdDev, Real d) const =0
 descendents only need to implement this
virtual Real optionletVegaImpl (Option::Type type, Rate strike, Rate forward, Real stdDev, Real sqrtTime, Real d) const =0

Protected Attributes

ext::shared_ptr< QuantLib::YoYInflationIndex > index_
Handle< QuantLib::YoYOptionletVolatilitySurface > volatility_
Handle< YieldTermStructure > discountCurve_

Detailed Description

Base YoY inflation cap/floor engine.

This class doesn't know yet what sort of vol it is. The inflation index must be linked to a yoy inflation term structure. This provides the curves, hence the call uses a shared_ptr<> not a handle<> to the index.