QuantLib_ZeroCouponInflationSwap man page

ZeroCouponInflationSwap — Zero-coupon inflation-indexed swap.

Synopsis

#include <ql/instruments/zerocouponinflationswap.hpp>

Inherits Swap.

Public Types

enum Type { Receiver = -1, Payer = 1 }

Public Member Functions

ZeroCouponInflationSwap (Type type, Real nominal, const Date &startDate, const Date &maturity, const Calendar &fixCalendar, BusinessDayConvention fixConvention, const DayCounter &dayCounter, Rate fixedRate, const boost::shared_ptr< ZeroInflationIndex > &infIndex, const Period &observationLag, bool adjustInfObsDates=false, Calendar infCalendar=Calendar(), BusinessDayConvention infConvention=BusinessDayConvention())

Inspectors

Type type () const
'payer' or 'receiver' refer to the inflation-indexed leg
Real nominal () const

Date startDate () const

Date maturityDate () const

Calendar fixedCalendar () const

BusinessDayConvention fixedConvention () const

DayCounter dayCounter () const

Rate fixedRate () const
$ K $ in the above formula.
boost::shared_ptr< ZeroInflationIndex > inflationIndex () const

Period observationLag () const

bool adjustObservationDates () const

Calendar inflationCalendar () const

BusinessDayConvention inflationConvention () const

const Leg & fixedLeg () const
just one cashflow (that is not a coupon) in each leg
const Leg & inflationLeg () const
just one cashflow (that is not a coupon) in each leg

Instrument interface

void setupArguments (PricingEngine::arguments *) const

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

Results

Real fixedLegNPV () const

Real inflationLegNPV () const

Real fairRate () const

Protected Attributes

Type type_

Real nominal_

Date startDate_

Date maturityDate_

Calendar fixCalendar_

BusinessDayConvention fixConvention_

Rate fixedRate_

boost::shared_ptr< ZeroInflationIndex > infIndex_

Period observationLag_

bool adjustInfObsDates_

Calendar infCalendar_

BusinessDayConvention infConvention_

DayCounter dayCounter_

Date baseDate_

Date obsDate_

Additional Inherited Members

Detailed Description

Zero-coupon inflation-indexed swap.

Quoted as a fixed rate $ K $. At start: [ P_n(0,T) N [(1+K)^{T}-1] = P_n(0,T) N left[ ac{I(T)}{I(0)} -1 right] ] 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 $.

This inherits from swap and has two very simple legs: a fixed leg, from the quote (K); and an indexed leg. At maturity the two single cashflows are swapped. These are the notional versus the inflation-indexed notional Because the coupons are zero there are no accruals (and no coupons).

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.

A zero inflation swap is a simple enough instrument that the standard discounting pricing engine that works for a vanilla swap also works.

Note:

we do not need Schedules on the legs because they use one or two dates only per leg.

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 Swap.

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 Swap.

Author

Generated automatically by Doxygen for QuantLib from the source code.

Referenced By

adjustInfObsDates_(3), adjustObservationDates(3), baseDate_(3), fixedCalendar(3), fixedConvention(3), infCalendar_(3), infConvention_(3), inflationCalendar(3), inflationConvention(3), inflationLeg(3), inflationLegNPV(3), obsDate_(3) and ZeroCouponInflationSwap(3) are aliases of QuantLib_ZeroCouponInflationSwap(3).

Fri Sep 23 2016 Version 1.8.1 QuantLib