QuantLib_ZeroCouponInflationSwap

Langue: en

Autres versions - même langue

Version: 383123 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

NAME

QuantLib::ZeroCouponInflationSwap -

Zero-coupon inflation-indexed swap.

SYNOPSIS


#include <ql/instruments/zerocouponinflationswap.hpp>

Inherits QuantLib::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

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

Period observationLag () const

DayCounter dayCounter () 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_

Rate fixedRate_

boost::shared_ptr< ZeroInflationIndex > infIndex_

Period observationLag_

DayCounter dayCounter_

Date baseDate_

Date obsDate_

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


re $ 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.