YoYInflationCapFloor Class Reference

Base class for yoy inflation cap-like instruments. More...

#include <ql/instruments/inflationcapfloor.hpp>

Inheritance diagram for YoYInflationCapFloor:

List of all members.

Classes

class  arguments
 Arguments for YoY Inflation cap/floor calculation More...
class  engine
 base class for cap/floor engines More...

Public Types

enum  Type { Cap, Floor, Collar }

Public Member Functions

 YoYInflationCapFloor (Type type, const Leg &yoyLeg, const std::vector< Rate > &capRates, const std::vector< Rate > &floorRates)
 YoYInflationCapFloor (Type type, const Leg &yoyLeg, const std::vector< Rate > &strikes)
virtual Rate atmRate (const YieldTermStructure &discountCurve) const
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
Instrument interface
bool isExpired () const
 returns whether the instrument might have value greater than zero.
void setupArguments (PricingEngine::arguments *) const
Inspectors
Type type () const
const std::vector< Rate > & capRates () const
const std::vector< Rate > & floorRates () const
const Leg & yoyLeg () const
Date startDate () const
Date maturityDate () const
boost::shared_ptr
< YoYInflationCoupon
lastYoYInflationCoupon () const
boost::shared_ptr
< YoYInflationCapFloor
optionlet (const Size n) const
 Returns the n-th optionlet as a cap/floor with only one cash flow.

Detailed Description

Base class for yoy inflation cap-like instruments.

Note that the standard YoY inflation cap/floor defined here is different from nominal, because in nominal world standard cap/floors do not have the first optionlet. This is because they set in advance so there is no point. However, yoy inflation generally sets (effectively) in arrears, (actually in arrears vs lag of a few months) thus the first optionlet is relevant. Hence we can do a parity test without a special definition of the YoY cap/floor instrument.

Tests:
  • the relationship between the values of caps, floors and the resulting collars is checked.
  • the put-call parity between the values of caps, floors and swaps is checked.
  • the correctness of the returned value is tested by checking it against a known good value.

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.