QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
Public Member Functions | List of all members
InterpolatedZeroCurve< Interpolator > Class Template Reference

YieldTermStructure based on interpolation of zero rates. More...

#include <zerocurve.hpp>

+ Inheritance diagram for InterpolatedZeroCurve< Interpolator >:
+ Collaboration diagram for InterpolatedZeroCurve< Interpolator >:

Public Member Functions

 InterpolatedZeroCurve (const std::vector< Date > &dates, const std::vector< Rate > &yields, const DayCounter &dayCounter, const Calendar &calendar=Calendar(), const std::vector< Handle< Quote > > &jumps={}, const std::vector< Date > &jumpDates={}, const Interpolator &interpolator={}, Compounding compounding=Continuous, Frequency frequency=Annual)
 
 InterpolatedZeroCurve (const std::vector< Date > &dates, const std::vector< Rate > &yields, const DayCounter &dayCounter, const Calendar &calendar, const Interpolator &interpolator, Compounding compounding=Continuous, Frequency frequency=Annual)
 
 InterpolatedZeroCurve (const std::vector< Date > &dates, const std::vector< Rate > &yields, const DayCounter &dayCounter, const Interpolator &interpolator, Compounding compounding=Continuous, Frequency frequency=Annual)
 
TermStructure interface
Date maxDate () const override
 the latest date for which the curve can return values More...
 
- Public Member Functions inherited from ZeroYieldStructure
 ZeroYieldStructure (const DayCounter &dc=DayCounter())
 
 ZeroYieldStructure (const Date &referenceDate, const Calendar &calendar=Calendar(), const DayCounter &dc=DayCounter(), const std::vector< Handle< Quote > > &jumps={}, const std::vector< Date > &jumpDates={})
 
 ZeroYieldStructure (Natural settlementDays, const Calendar &calendar, const DayCounter &dc=DayCounter(), const std::vector< Handle< Quote > > &jumps={}, const std::vector< Date > &jumpDates={})
 
- 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 More...
 
 TermStructure (const Date &referenceDate, Calendar calendar=Calendar(), DayCounter dc=DayCounter())
 initialize with a fixed reference date More...
 
 TermStructure (Natural settlementDays, Calendar, DayCounter dc=DayCounter())
 calculate the reference date based on the global evaluation date More...
 
 ~TermStructure () override=default
 
virtual DayCounter dayCounter () const
 the day counter used for date/time conversion More...
 
Time timeFromReference (const Date &date) const
 date/time conversion More...
 
virtual Time maxTime () const
 the latest time for which the curve can return values More...
 
virtual const DatereferenceDate () const
 the date at which discount = 1.0 and/or variance = 0.0 More...
 
virtual Calendar calendar () const
 the calendar used for reference and/or option date calculation More...
 
virtual Natural settlementDays () const
 the settlementDays used for reference date calculation More...
 
- Public Member Functions inherited from Observer
 Observer ()=default
 
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
virtual ~Observer ()
 
std::pair< iterator, boolregisterWith (const ext::shared_ptr< Observable > &)
 
void registerWithObservables (const ext::shared_ptr< Observer > &)
 
Size unregisterWith (const ext::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
virtual void update ()=0
 
virtual void deepUpdate ()
 
- Public Member Functions inherited from Observable
 Observable ()
 
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
 Observable (Observable &&)=delete
 
Observableoperator= (Observable &&)=delete
 
virtual ~Observable ()=default
 
void notifyObservers ()
 
- Public Member Functions inherited from Extrapolator
 Extrapolator ()=default
 
virtual ~Extrapolator ()=default
 
void enableExtrapolation (bool b=true)
 enable extrapolation in subsequent calls More...
 
void disableExtrapolation (bool b=true)
 disable extrapolation in subsequent calls More...
 
bool allowsExtrapolation () const
 tells whether extrapolation is enabled More...
 

ZeroYieldStructure implementation

std::vector< Datedates_
 
Rate zeroYieldImpl (Time t) const override
 zero-yield calculation More...
 
void initialize (const Compounding &compounding, const Frequency &frequency)
 

other inspectors

const std::vector< Time > & times () const
 
const std::vector< Date > & dates () const
 
const std::vector< Real > & data () const
 
const std::vector< Rate > & zeroRates () const
 
std::vector< std::pair< Date, Real > > nodes () const
 
 InterpolatedZeroCurve (const DayCounter &, const Interpolator &interpolator={})
 
 InterpolatedZeroCurve (const Date &referenceDate, const DayCounter &, const std::vector< Handle< Quote > > &jumps={}, const std::vector< Date > &jumpDates={}, const Interpolator &interpolator={})
 
 InterpolatedZeroCurve (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
 
- Protected Member Functions inherited from ZeroYieldStructure
DiscountFactor discountImpl (Time) const override
 
- Protected Member Functions inherited from YieldTermStructure
- Protected Member Functions inherited from TermStructure
void checkRange (const Date &d, bool extrapolate) const
 date-range check More...
 
void checkRange (Time t, bool extrapolate) const
 time-range check More...
 
- 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 ()
 
 ~InterpolatedCurve ()=default
 
- Protected Attributes inherited from TermStructure
bool moving_ = false
 
bool updated_ = true
 
Calendar calendar_
 
- Protected Attributes inherited from InterpolatedCurve< Interpolator >
std::vector< Timetimes_
 
std::vector< Realdata_
 
Interpolation interpolation_
 
Interpolator interpolator_
 
Date maxDate_
 

Detailed Description

template<class Interpolator>
class QuantLib::InterpolatedZeroCurve< Interpolator >

YieldTermStructure based on interpolation of zero rates.

Definition at line 42 of file zerocurve.hpp.

Constructor & Destructor Documentation

◆ InterpolatedZeroCurve() [1/6]

InterpolatedZeroCurve ( const std::vector< Date > &  dates,
const std::vector< Rate > &  yields,
const DayCounter dayCounter,
const Calendar calendar = Calendar(),
const std::vector< Handle< Quote > > &  jumps = {},
const std::vector< Date > &  jumpDates = {},
const Interpolator &  interpolator = {},
Compounding  compounding = Continuous,
Frequency  frequency = Annual 
)

◆ InterpolatedZeroCurve() [2/6]

InterpolatedZeroCurve ( const std::vector< Date > &  dates,
const std::vector< Rate > &  yields,
const DayCounter dayCounter,
const Calendar calendar,
const Interpolator &  interpolator,
Compounding  compounding = Continuous,
Frequency  frequency = Annual 
)

◆ InterpolatedZeroCurve() [3/6]

InterpolatedZeroCurve ( const std::vector< Date > &  dates,
const std::vector< Rate > &  yields,
const DayCounter dayCounter,
const Interpolator &  interpolator,
Compounding  compounding = Continuous,
Frequency  frequency = Annual 
)

◆ InterpolatedZeroCurve() [4/6]

InterpolatedZeroCurve ( const DayCounter ,
const Interpolator &  interpolator = {} 
)
explicitprotected

◆ InterpolatedZeroCurve() [5/6]

InterpolatedZeroCurve ( const Date referenceDate,
const DayCounter ,
const std::vector< Handle< Quote > > &  jumps = {},
const std::vector< Date > &  jumpDates = {},
const Interpolator &  interpolator = {} 
)
protected

◆ InterpolatedZeroCurve() [6/6]

InterpolatedZeroCurve ( Natural  settlementDays,
const Calendar ,
const DayCounter ,
const std::vector< Handle< Quote > > &  jumps = {},
const std::vector< Date > &  jumpDates = {},
const Interpolator &  interpolator = {} 
)
protected

Member Function Documentation

◆ maxDate()

Date maxDate ( ) const
overridevirtual

the latest date for which the curve can return values

Implements TermStructure.

Definition at line 119 of file zerocurve.hpp.

◆ times()

const std::vector< Time > & times

Definition at line 126 of file zerocurve.hpp.

◆ dates()

const std::vector< Date > & dates

Definition at line 131 of file zerocurve.hpp.

◆ data()

const std::vector< Real > & data

Definition at line 137 of file zerocurve.hpp.

◆ zeroRates()

const std::vector< Rate > & zeroRates

Definition at line 143 of file zerocurve.hpp.

◆ nodes()

std::vector< std::pair< Date, Real > > nodes

Definition at line 149 of file zerocurve.hpp.

◆ zeroYieldImpl()

Rate zeroYieldImpl ( Time  ) const
overrideprotectedvirtual

zero-yield calculation

Implements ZeroYieldStructure.

◆ initialize()

void initialize ( const Compounding compounding,
const Frequency frequency 
)
private

Definition at line 251 of file zerocurve.hpp.

Member Data Documentation

◆ dates_

std::vector<Date> dates_
mutableprotected

Definition at line 106 of file zerocurve.hpp.