21#include <ql/cashflows/cpicouponpricer.hpp>
26 QL_DEPRECATED_DISABLE_WARNING
29 : nominalTermStructure_(
std::move(nominalTermStructure)) {
35 : capletVol_(
std::move(capletVol)), nominalTermStructure_(
std::move(nominalTermStructure)) {
40 QL_DEPRECATED_ENABLE_WARNING
44 QL_REQUIRE(!capletVol.
empty(),
"empty capletVol handle");
74 QL_FAIL(
"you must implement this to get a vol-dependent price");
79 Real effStrike)
const {
86 Real effStrike)
const {
98 return std::max(a - b, 0.0);
102 "missing optionlet volatility");
106 QL_DEPRECATED_DISABLE_WARNING
111 QL_DEPRECATED_ENABLE_WARNING
127 QL_DEPRECATED_DISABLE_WARNING
129 QL_DEPRECATED_ENABLE_WARNING
153 QL_DEPRECATED_DISABLE_WARNING
155 QL_DEPRECATED_ENABLE_WARNING
162 QL_DEPRECATED_DISABLE_WARNING
164 QL_DEPRECATED_ENABLE_WARNING
Coupon paying the performance of a CPI (zero inflation) index
Rate indexFixing() const override
the index value observed (with a lag) at the end date
Rate indexRatio(Date d) const
the ratio between the index fixing at the passed date and the base CPI
Real fixedRate() const
fixed rate that will be inflated by the index ratio
void initialize(const InflationCoupon &) override
Handle< CPIVolatilitySurface > capletVol_
Real capletPrice(Rate effectiveCap) const override
Rate floorletRate(Rate effectiveFloor) const override
virtual Rate adjustedFixing(Rate fixing=Null< Rate >()) const
virtual QL_DEPRECATED_ENABLE_WARNING Handle< CPIVolatilitySurface > capletVolatility() const
virtual void setCapletVolatility(const Handle< CPIVolatilitySurface > &capletVol)
Handle< YieldTermStructure > nominalTermStructure_
virtual Real optionletPrice(Option::Type optionType, Real effStrike) const
virtual Rate accruedRate(Date settlementDate) const
const CPICoupon * coupon_
CPICouponPricer(Handle< YieldTermStructure > nominalTermStructure=Handle< YieldTermStructure >())
virtual Real optionletRate(Option::Type optionType, Real effStrike) const
virtual Real optionletPriceImp(Option::Type, Real strike, Real forward, Real stdDev) const
Rate swapletRate() const override
Real floorletPrice(Rate effectiveFloor) const override
Real swapletPrice() const override
Rate capletRate(Rate effectiveCap) const override
const Date & accrualEndDate() const
end of the accrual period
Date date() const override
Time accrualPeriod() const
accrual period as fraction of year
Shared handle to an observable.
bool empty() const
checks if the contained shared pointer points to anything
Base inflation-coupon class.
virtual Date fixingDate() const
fixing date
template class providing a null value for a given type.
std::pair< iterator, bool > registerWith(const ext::shared_ptr< Observable > &)
static Settings & instance()
access to the unique instance