QuantLib: InterpolatedDiscountCurve< Interpolator > Class Template Reference

A free/open-source library for quantitative finance Reference manual - version 1.12

Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
InterpolatedDiscountCurve< Interpolator > Class Template Reference
Term structures

YieldTermStructure based on interpolation of discount factors. More...

`#include <ql/termstructures/yield/discountcurve.hpp>`

Inheritance diagram for InterpolatedDiscountCurve< Interpolator >:
[legend]

## Public Member Functions
| InterpolatedDiscountCurve (const std::vector< Date > &dates, const std::vector< DiscountFactor > &dfs, const DayCounter &dayCounter, const Calendar &cal=Calendar(), const std::vector< Handle< Quote > > &jumps=std::vector< Handle< Quote > >(), const std::vector< Date > &jumpDates=std::vector< Date >(), const Interpolator &interpolator=Interpolator())
| InterpolatedDiscountCurve (const std::vector< Date > &dates, const std::vector< DiscountFactor > &dfs, const DayCounter &dayCounter, const Calendar &calendar, const Interpolator &interpolator)
| InterpolatedDiscountCurve (const std::vector< Date > &dates, const std::vector< DiscountFactor > &dfs, const DayCounter &dayCounter, const Interpolator &interpolator)
TermStructure interface
Date | maxDate () const
| the latest date for which the curve can return values
other inspectors
const std::vector< Time > & | times () const
const std::vector< Date > & | dates () const
const std::vector< Real > & | data () const
const std::vector< DiscountFactor > & | discounts () const
std::vector< std::pair< Date, Real > > | nodes () const
Public Member Functions inherited from YieldTermStructure
| YieldTermStructure (const DayCounter &dc=DayCounter(), const std::vector< Handle< Quote > > &jumps=std::vector< Handle< Quote > >(), const std::vector< Date > &jumpDates=std::vector< Date >())
| YieldTermStructure (const Date &referenceDate, const Calendar &cal=Calendar(), const DayCounter &dc=DayCounter(), const std::vector< Handle< Quote > > &jumps=std::vector< Handle< Quote > >(), const std::vector< Date > &jumpDates=std::vector< Date >())
| YieldTermStructure (Natural settlementDays, const Calendar &cal, const DayCounter &dc=DayCounter(), const std::vector< Handle< Quote > > &jumps=std::vector< Handle< Quote > >(), const std::vector< Date > &jumpDates=std::vector< Date >())
DiscountFactor | discount (const Date &d, bool extrapolate=false) const
DiscountFactor | discount (Time t, bool extrapolate=false) const
InterestRate | zeroRate (const Date &d, const DayCounter &resultDayCounter, Compounding comp, Frequency freq=Annual, bool extrapolate=false) const
InterestRate | zeroRate (Time t, Compounding comp, Frequency freq=Annual, bool extrapolate=false) const
InterestRate | forwardRate (const Date &d1, const Date &d2, const DayCounter &resultDayCounter, Compounding comp, Frequency freq=Annual, bool extrapolate=false) const
InterestRate | forwardRate (const Date &d, const Period &p, const DayCounter &resultDayCounter, Compounding comp, Frequency freq=Annual, bool extrapolate=false) const
InterestRate | forwardRate (Time t1, Time t2, Compounding comp, Frequency freq=Annual, bool extrapolate=false) const
const std::vector< Date > & | jumpDates () const
const std::vector< Time > & | jumpTimes () const
void | update ()
Public Member Functions inherited from TermStructure
| TermStructure (const DayCounter &dc=DayCounter())
| default constructor More...
| TermStructure (const Date &referenceDate, const Calendar &calendar=Calendar(), const DayCounter &dc=DayCounter())
| initialize with a fixed reference date
| TermStructure (Natural settlementDays, const Calendar &, const DayCounter &dc=DayCounter())
| calculate the reference date based on the global evaluation date
virtual DayCounter | dayCounter () const
| the day counter used for date/time conversion
Time | timeFromReference (const Date &date) const
| date/time conversion
virtual Time | maxTime () const
| the latest time for which the curve can return values
virtual const Date & | referenceDate () const
| the date at which discount = 1.0 and/or variance = 0.0
virtual Calendar | calendar () const
| the calendar used for reference and/or option date calculation
virtual Natural | settlementDays () const
| the settlementDays used for reference date calculation
Public Member Functions inherited from Observer
| Observer (const Observer &)
Observer & | operator= (const Observer &)
std::pair< iterator, bool > | registerWith (const boost::shared_ptr< Observable > &)
void | registerWithObservables (const boost::shared_ptr< Observer > &)
Size | unregisterWith (const boost::shared_ptr< Observable > &)
void | unregisterWithAll ()
virtual void | deepUpdate ()
Public Member Functions inherited from Observable
| Observable (const Observable &)
Observable & | operator= (const Observable &)
void | notifyObservers ()
Public Member Functions inherited from Extrapolator
void | enableExtrapolation (bool b=true)
| enable extrapolation in subsequent calls
void | disableExtrapolation (bool b=true)
| disable extrapolation in subsequent calls
bool | allowsExtrapolation () const
| tells whether extrapolation is enabled

## Protected Member Functions
| InterpolatedDiscountCurve (const DayCounter &, const std::vector< Handle< Quote > > &jumps=std::vector< Handle< Quote > >(), const std::vector< Date > &jumpDates=std::vector< Date >(), const Interpolator &interpolator=Interpolator())
| InterpolatedDiscountCurve (const Date &referenceDate, const DayCounter &, const std::vector< Handle< Quote > > &jumps=std::vector< Handle< Quote > >(), const std::vector< Date > &jumpDates=std::vector< Date >(), const Interpolator &interpolator=Interpolator())
| InterpolatedDiscountCurve (Natural settlementDays, const Calendar &, const DayCounter &, const std::vector< Handle< Quote > > &jumps=std::vector< Handle< Quote > >(), const std::vector< Date > &jumpDates=std::vector< Date >(), const Interpolator &interpolator=Interpolator())
YieldTermStructure implementation
DiscountFactor | discountImpl (Time) const
| discount factor calculation
Calculations
This method must be implemented in derived classes to perform the actual calculations. When it is called, range check has already been performed; therefore, it must assume that extrapolation is required.
Protected Member Functions inherited from TermStructure
void | checkRange (const Date &d, bool extrapolate) const
| date-range check
void | checkRange (Time t, bool extrapolate) const
| time-range check
Protected Member Functions inherited from InterpolatedCurve< Interpolator >
void | setupInterpolation ()
| InterpolatedCurve (const std::vector< Time > &times, const std::vector< Real > &data, const Interpolator &i=Interpolator())
| InterpolatedCurve (const std::vector< Time > &times, const Interpolator &i=Interpolator())
| InterpolatedCurve (Size n, const Interpolator &i=Interpolator())
| InterpolatedCurve (const Interpolator &i=Interpolator())
| InterpolatedCurve (const InterpolatedCurve &c)
InterpolatedCurve & | operator= (const InterpolatedCurve &c)

## Protected Attributes
std::vector< Date > | dates_
Protected Attributes inherited from TermStructure
bool | moving_
bool | updated_
Calendar | calendar_
Protected Attributes inherited from InterpolatedCurve< Interpolator >
std::vector< Time > | times_
std::vector< Real > | data_
Interpolation | interpolation_
Interpolator | interpolator_
Date | maxDate_

## Additional Inherited Members
Public Types inherited from Observer
typedef std::set< boost::shared_ptr< Observable > > | set_type
typedef set_type::iterator | iterator

## Detailed Description

### template<class Interpolator>
class QuantLib::InterpolatedDiscountCurve< Interpolator >

YieldTermStructure based on interpolation of discount factors.