30#ifndef quantext_nonstandard_yoy_inflation_coupon_pricer_hpp
31#define quantext_nonstandard_yoy_inflation_coupon_pricer_hpp
33#include <ql/cashflow.hpp>
34#include <ql/cashflows/inflationcouponpricer.hpp>
35#include <ql/option.hpp>
36#include <ql/termstructures/volatility/inflation/yoyinflationoptionletvolatilitystructure.hpp>
62 virtual Real
capletPrice(Rate effectiveCap)
const override;
63 virtual Rate
capletRate(Rate effectiveCap)
const override;
64 virtual Real
floorletPrice(Rate effectiveFloor)
const override;
65 virtual Rate
floorletRate(Rate effectiveFloor)
const override;
70 virtual Real
optionletPrice(Option::Type optionType, Real effStrike)
const;
71 virtual Real
optionletRate(Option::Type optionType, Real effStrike)
const;
79 virtual Real
optionletPriceImp(Option::Type, Real strike, Real forward, Real stdDev)
const;
101 Real
optionletPriceImp(Option::Type, Real strike, Real forward, Real stdDev)
const override;
114 Real
optionletPriceImp(Option::Type, Real strike, Real forward, Real stdDev)
const override;
128 Real
optionletPriceImp(Option::Type, Real strike, Real forward, Real stdDev)
const override;
Bachelier-formula pricer for capped/floored yoy inflation coupons.
Real optionletPriceImp(Option::Type, Real strike, Real forward, Real stdDev) const override
NonStandardBachelierYoYInflationCouponPricer(const Handle< YoYOptionletVolatilitySurface > &capletVol, const Handle< YieldTermStructure > &nominalTermStructure)
NonStandardBachelierYoYInflationCouponPricer(const Handle< YieldTermStructure > &nominalTermStructure)
Black-formula pricer for capped/floored yoy inflation coupons.
Real optionletPriceImp(Option::Type, Real strike, Real forward, Real stdDev) const override
NonStandardBlackYoYInflationCouponPricer(const Handle< YoYOptionletVolatilitySurface > &capletVol, const Handle< YieldTermStructure > &nominalTermStructure)
NonStandardBlackYoYInflationCouponPricer(const Handle< YieldTermStructure > &nominalTermStructure)
Unit-Displaced-Black-formula pricer for capped/floored yoy inflation coupons.
NonStandardUnitDisplacedBlackYoYInflationCouponPricer(const Handle< YieldTermStructure > &nominalTermStructure)
Real optionletPriceImp(Option::Type, Real strike, Real forward, Real stdDev) const override
NonStandardUnitDisplacedBlackYoYInflationCouponPricer(const Handle< YoYOptionletVolatilitySurface > &capletVol, const Handle< YieldTermStructure > &nominalTermStructure)
Coupon paying a YoY-inflation type index
base pricer for capped/floored YoY inflation coupons
virtual void initialize(const InflationCoupon &) override
virtual Real capletPrice(Rate effectiveCap) const override
virtual Rate floorletRate(Rate effectiveFloor) const override
virtual Rate adjustedFixing(Rate fixing=Null< Rate >()) const
Handle< YieldTermStructure > nominalTermStructure_
virtual Real optionletPrice(Option::Type optionType, Real effStrike) const
virtual Handle< YieldTermStructure > nominalTermStructure() const
virtual Handle< YoYOptionletVolatilitySurface > capletVolatility() const
virtual Real optionletRate(Option::Type optionType, Real effStrike) const
virtual Real optionletPriceImp(Option::Type, Real strike, Real forward, Real stdDev) const
virtual Rate swapletRate() const override
virtual Real floorletPrice(Rate effectiveFloor) const override
virtual Real swapletPrice() const override
virtual void setCapletVolatility(const Handle< YoYOptionletVolatilitySurface > &capletVol)
Handle< YoYOptionletVolatilitySurface > capletVol_
data
virtual Rate capletRate(Rate effectiveCap) const override
const NonStandardYoYInflationCoupon * coupon_
capped floored coupon which generalize the yoy inflation coupon it pays: N * (alpha * I_t/I_s + beta)...