25#ifndef quantlib_cpicapfloor_hpp
26#define quantlib_cpicapfloor_hpp
28#include <ql/instrument.hpp>
29#include <ql/option.hpp>
30#include <ql/time/calendar.hpp>
31#include <ql/time/daycounter.hpp>
32#include <ql/indexes/inflationindex.hpp>
33#include <ql/cashflows/cpicoupon.hpp>
69 const Date& startDate,
77 const ext::shared_ptr<ZeroInflationIndex>& inflationIndex,
89 const ext::shared_ptr<ZeroInflationIndex>&
index()
const {
return index_; }
110 ext::shared_ptr<ZeroInflationIndex>
index_;
126 ext::shared_ptr<ZeroInflationIndex>
index;
134 CPICapFloor::results> {};
BusinessDayConvention payConvention
CPI::InterpolationType observationInterpolation
ext::shared_ptr< ZeroInflationIndex > index
BusinessDayConvention fixConvention
void validate() const override
void setupArguments(PricingEngine::arguments *) const override
bool isExpired() const override
returns whether the instrument might have value greater than zero.
ext::shared_ptr< ZeroInflationIndex > index_
Period observationLag() const
Option::Type type() const
CPI::InterpolationType observationInterpolation_
BusinessDayConvention payConvention_
Rate strike() const
in the above formula.
BusinessDayConvention fixConvention_
const ext::shared_ptr< ZeroInflationIndex > & index() const
template base class for option pricing engines
Abstract instrument class.
BusinessDayConvention
Business Day conventions.
InterpolationType
when you observe an index, how do you interpolate between fixings?
@ AsIndex
same interpolation as index