QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
InterpolatedDiscountCurve< Interpolator > Class Template Reference

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

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

Inheritance diagram for InterpolatedDiscountCurve< Interpolator >:

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={}, const std::vector< Date > &jumpDates={}, const 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 override
 the latest date for which the curve can return values
Public Member Functions inherited from YieldTermStructure
 YieldTermStructure (const DayCounter &dc=DayCounter())
 YieldTermStructure (const Date &referenceDate, const Calendar &cal=Calendar(), const DayCounter &dc=DayCounter(), std::vector< Handle< Quote > > jumps={}, const std::vector< Date > &jumpDates={})
 YieldTermStructure (Natural settlementDays, const Calendar &cal, const DayCounter &dc=DayCounter(), std::vector< Handle< Quote > > jumps={}, const std::vector< Date > &jumpDates={})
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 () override
Public Member Functions inherited from TermStructure
 TermStructure (DayCounter dc=DayCounter())
 default constructor
 TermStructure (const Date &referenceDate, Calendar calendar=Calendar(), DayCounter dc=DayCounter())
 initialize with a fixed reference date
 TermStructure (Natural settlementDays, Calendar, 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 DatereferenceDate () 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 &)
Observeroperator= (const Observer &)
std::pair< iterator, bool > registerWith (const ext::shared_ptr< Observable > &)
void registerWithObservables (const ext::shared_ptr< Observer > &)
Size unregisterWith (const ext::shared_ptr< Observable > &)
void unregisterWithAll ()
virtual void deepUpdate ()
Public Member Functions inherited from Observable
 Observable (const Observable &)
Observableoperator= (const Observable &)
 Observable (Observable &&)=delete
Observableoperator= (Observable &&)=delete
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

YieldTermStructure implementation

std::vector< Datedates_
DiscountFactor discountImpl (Time) const override
 discount factor calculation

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
 InterpolatedDiscountCurve (const DayCounter &, const Interpolator &interpolator={})
 InterpolatedDiscountCurve (const Date &referenceDate, const DayCounter &, const std::vector< Handle< Quote > > &jumps={}, const std::vector< Date > &jumpDates={}, const Interpolator &interpolator={})
 InterpolatedDiscountCurve (Natural settlementDays, const Calendar &, const DayCounter &, const std::vector< Handle< Quote > > &jumps={}, const std::vector< Date > &jumpDates={}, const Interpolator &interpolator={})

Additional Inherited Members

Public Types inherited from Observer
typedef set_type::iterator iterator
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 >
 InterpolatedCurve (std::vector< Time > times, std::vector< Real > data, const Interpolator &i=Interpolator())
 InterpolatedCurve (std::vector< Time > times, const Interpolator &i=Interpolator())
 InterpolatedCurve (Size n, const Interpolator &i=Interpolator())
 InterpolatedCurve (const Interpolator &i=Interpolator())
 InterpolatedCurve (const InterpolatedCurve &c)
InterpolatedCurveoperator= (const InterpolatedCurve &c)
 InterpolatedCurve (InterpolatedCurve &&c) noexcept
InterpolatedCurveoperator= (InterpolatedCurve &&c) noexcept
void setupTimes (const std::vector< Date > &dates, Date referenceDate, const DayCounter &dayCounter)
void setupInterpolation ()
bool moving_ = false
bool updated_ = true
Calendar calendar_
std::vector< Timetimes_
std::vector< Realdata_
Interpolation interpolation_
Interpolator interpolator_
Date maxDate_

Detailed Description

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

YieldTermStructure based on interpolation of discount factors.

Member Function Documentation

◆ maxDate()

template<class T>
Date maxDate ( ) const
overridevirtual

the latest date for which the curve can return values

Implements TermStructure.

◆ discountImpl()

template<class Interpolator>
DiscountFactor discountImpl ( Time ) const
overrideprotectedvirtual

discount factor calculation

Implements YieldTermStructure.