Base YoY inflation cap/floor engine.
More...
#include <qle/pricingengines/inflationcapfloorengines.hpp>
|
|
| 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 |
|
|
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 |
|
|
ext::shared_ptr< QuantLib::YoYInflationIndex > | index_ |
|
Handle< QuantLib::YoYOptionletVolatilitySurface > | volatility_ |
|
Handle< YieldTermStructure > | discountCurve_ |
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.