QuantLib_CPICapFloor man page

CPICapFloor — CPI cap or floor.

Synopsis

#include <ql/instruments/cpicapfloor.hpp>

Inherits Instrument.

Public Member Functions

CPICapFloor (Option::Type type, Real nominal, const Date &startDate, Real baseCPI, const Date &maturity, const Calendar &fixCalendar, BusinessDayConvention fixConvention, const Calendar &payCalendar, BusinessDayConvention payConvention, Rate strike, const Handle< ZeroInflationIndex > &infIndex, const Period &observationLag, CPI::InterpolationType observationInterpolation=CPI::AsIndex)

Inspectors

Option::Type type () const

Real nominal () const

Rate strike () const
$ K $ in the above formula.
Date fixingDate () const

Date payDate () const

Handle< ZeroInflationIndex > inflationIndex () const

Period observationLag () const

Instrument interface

bool isExpired () const
returns whether the instrument might have value greater than zero.
void setupArguments (PricingEngine::arguments *) const

void fetchResults (const PricingEngine::results *r) const

Protected Attributes

Option::Type type_

Real nominal_

Date startDate_

Date fixDate_

Date payDate_

Real baseCPI_

Date maturity_

Calendar fixCalendar_

BusinessDayConvention fixConvention_

Calendar payCalendar_

BusinessDayConvention payConvention_

Rate strike_

Handle< ZeroInflationIndex > infIndex_

Period observationLag_

CPI::InterpolationType observationInterpolation_

Additional Inherited Members

Detailed Description

CPI cap or floor.

Quoted as a fixed strike rate $ K $. Payoff: [ P_n(0,T) max(y (N [(1+K)^{T}-1] - N left[ ac{I(T)}{I(0)} -1 right]), 0) ] where $ T $ is the maturity time, $ P_n(0,t) $ is the nominal discount factor at time $ t $, $ N $ is the notional, and $ I(t) $ is the inflation index value at time $ t $.

Inflation is generally available on every day, including holidays and weekends. Hence there is a variable to state whether the observe/fix dates for inflation are adjusted or not. The default is not to adjust.

N.B. a cpi cap or floor is an option, not a cap or floor on a coupon. Thus this is very similar to a ZCIIS and has a single flow, this is as usual for cpi because it is cumulative up to option maturity from base date.

We do not inherit from Option, although this would be reasonable, because we do not have that degree of generality.

Member Function Documentation

void setupArguments (PricingEngine::arguments *) const [virtual]

When a derived argument structure is defined for an instrument, this method should be overridden to fill it. This is mandatory in case a pricing engine is used.

Reimplemented from Instrument.

void fetchResults (const PricingEngine::results * r) const [virtual]

When a derived result structure is defined for an instrument, this method should be overridden to read from it. This is mandatory in case a pricing engine is used.

Reimplemented from Instrument.

Author

Generated automatically by Doxygen for QuantLib from the source code.

Referenced By

CPICapFloor(3), fixCalendar_(3), fixConvention_(3), fixDate_(3), infIndex_(3), inflationIndex(3), maturity_(3), payCalendar_(3), payConvention_(3), payDate(3), payDate_(3), startDate_(3), strike(3) and type_(3) are aliases of QuantLib_CPICapFloor(3).

Fri Sep 23 2016 Version 1.8.1 QuantLib