24#ifndef quantlib_instruments_inflationcapfloor_hpp
25#define quantlib_instruments_inflationcapfloor_hpp
33 class YieldTermStructure;
89 Real accuracy = 1.0e-4,
105 const std::vector<Rate>& exerciseRates)
107 exerciseRates,
std::vector<
Rate>()) {}
115 const std::vector<Rate>& exerciseRates)
117 std::vector<
Rate>(), exerciseRates) {}
138 ext::shared_ptr<YoYInflationIndex>
index;
155 YoYInflationCapFloor::results> {};
169 QL_FAIL(
"not implemented yet");
template base class for option pricing engines
Shared handle to an observable.
Abstract instrument class.
Interest-rate term structure.
Arguments for YoY Inflation cap/floor calculation
YoYInflationCapFloor::Type type
std::vector< Time > accrualTimes
std::vector< Date > startDates
std::vector< Real > gearings
std::vector< Rate > floorRates
std::vector< Real > nominals
std::vector< Rate > capRates
std::vector< Date > fixingDates
std::vector< Date > payDates
std::vector< Real > spreads
void validate() const override
ext::shared_ptr< YoYInflationIndex > index
base class for cap/floor engines
Base class for yoy inflation cap-like instruments.
virtual Volatility impliedVolatility(Real price, const Handle< YoYInflationTermStructure > &yoyCurve, Volatility guess, Real accuracy=1.0e-4, Natural maxEvaluations=100, Volatility minVol=1.0e-7, Volatility maxVol=4.0) const
implied term volatility
void setupArguments(PricingEngine::arguments *) const override
const Leg & yoyLeg() const
bool isExpired() const override
returns whether the instrument might have value greater than zero.
const std::vector< Rate > & capRates() const
ext::shared_ptr< YoYInflationCoupon > lastYoYInflationCoupon() const
virtual Rate atmRate(const YieldTermStructure &discountCurve) const
Date maturityDate() const
const std::vector< Rate > & floorRates() const
std::vector< Rate > capRates_
std::vector< Rate > floorRates_
ext::shared_ptr< YoYInflationCapFloor > optionlet(Size n) const
Returns the n-th optionlet as a cap/floor with only one cash flow.
Concrete YoY Inflation cap class.
YoYInflationCap(const Leg &yoyLeg, const std::vector< Rate > &exerciseRates)
Concrete YoY Inflation collar class.
YoYInflationCollar(const Leg &yoyLeg, const std::vector< Rate > &capRates, const std::vector< Rate > &floorRates)
Concrete YoY Inflation floor class.
YoYInflationFloor(const Leg &yoyLeg, const std::vector< Rate > &exerciseRates)
#define QL_FAIL(message)
throw an error (possibly with file and line information)
unsigned QL_INTEGER Natural
positive integer
Real Volatility
volatility
std::size_t Size
size of a container
Globally accessible relinkable pointer.
Abstract instrument class.
std::ostream & operator<<(std::ostream &out, GFunctionFactory::YieldCurveModel type)
std::vector< ext::shared_ptr< CashFlow > > Leg
Sequence of cash-flows.
Coupon paying a yoy inflation index.