PiecewiseZeroInflationCurve Class Template Reference

Piecewise zero-inflation term structure. More...

#include <ql/termstructures/inflation/piecewisezeroinflationcurve.hpp>

Inheritance diagram for PiecewiseZeroInflationCurve:

List of all members.

Public Types

typedef Traits traits_type
typedef Interpolator interpolator_type

Public Member Functions

Constructors
 PiecewiseZeroInflationCurve (const Date &referenceDate, const Calendar &calendar, const DayCounter &dayCounter, const Period &lag, Frequency frequency, bool indexIsInterpolated, Rate baseZeroRate, const Handle< YieldTermStructure > &nominalTS, const std::vector< boost::shared_ptr< typename Traits::helper > > &instruments, Real accuracy=1.0e-12, const Interpolator &i=Interpolator())
Inflation interface
Date baseDate () const
 minimum (base) date
Date maxDate () const
 the latest date for which the curve can return values
Inspectors
const std::vector< Time > & times () const
const std::vector< Date > & dates () const
const std::vector< Real > & data () const
std::vector< std::pair< Date,
Real > > 
nodes () const
Observer interface
void update ()

Friends

class Bootstrap< this_curve >
class BootstrapError< this_curve >


Detailed Description

template<class Interpolator, template< class > class Bootstrap = IterativeBootstrap, class Traits = ZeroInflationTraits>
class QuantLib::PiecewiseZeroInflationCurve< Interpolator, Bootstrap, Traits >

Piecewise zero-inflation term structure.

Member Function Documentation

Date baseDate (  )  const [virtual]

minimum (base) date

Important in inflation since it starts before nominal reference date. Changes depending whether index is interpolated or not. When interpolated the base date is just observation lag before nominal. When not interpolated it is the beginning of the relevant period (hence it is easy to create interpolated fixings from a not-interpolated curve because interpolation, usually, of fixings is forward looking).

Reimplemented from InterpolatedZeroInflationCurve.

void update (  )  [virtual]

This method must be implemented in derived classes. An instance of Observer does not call this method directly: instead, it will be called by the observables the instance registered with when they need to notify any changes.

Reimplemented from LazyObject.