QuantLib: a free/opensource library for quantitative finance
Fully annotated sources  version 1.30

Interestrate term structure. More...
#include <ql/termstructures/yieldtermstructure.hpp>
Public Member Functions  
Constructors  
See the TermStructure documentation for issues regarding constructors.  
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={})  
Discount factors  
These methods return the discount factor from a given date or time to the reference date. In the latter case, the time is calculated as a fraction of year from the reference date.  
DiscountFactor  discount (const Date &d, bool extrapolate=false) const 
DiscountFactor  discount (Time t, bool extrapolate=false) const 
Zeroyield rates  
These methods return the implied zeroyield rate for a given date or time. In the former case, the time is calculated as a fraction of year from the reference date.  
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 
Forward rates  
These methods returns the forward interest rate between two dates or times. In the former case, times are calculated as fractions of year from the reference date. If both dates (times) are equal the instantaneous forward rate is returned.  
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 
Jump inspectors  
const std::vector< Date > &  jumpDates () const 
const std::vector< Time > &  jumpTimes () const 
Observer interface  
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 Date  maxDate () const =0 
the latest date for which the curve can return values More...  
virtual Time  maxTime () const 
the latest time for which the curve can return values More...  
virtual const Date &  referenceDate () 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 &)  
Observer &  operator= (const Observer &) 
virtual  ~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  update ()=0 
virtual void  deepUpdate () 
Public Member Functions inherited from Observable  
Observable ()  
Observable (const Observable &)  
Observable &  operator= (const Observable &) 
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...  
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.  
std::vector< Handle< Quote > >  jumps_ 
std::vector< Date >  jumpDates_ 
std::vector< Time >  jumpTimes_ 
Size  nJumps_ = 0 
Date  latestReference_ 
virtual DiscountFactor  discountImpl (Time) const =0 
discount factor calculation More...  
void  setJumps (const Date &referenceDate) 
Additional Inherited Members  
Public Types inherited from Observer  
typedef set_type::iterator  iterator 
Protected Member Functions inherited from TermStructure  
void  checkRange (const Date &d, bool extrapolate) const 
daterange check More...  
void  checkRange (Time t, bool extrapolate) const 
timerange check More...  
Protected Attributes inherited from TermStructure  
bool  moving_ = false 
bool  updated_ = true 
Calendar  calendar_ 
Interestrate term structure.
This abstract class defines the interface of concrete interest rate structures which will be derived from this one.
Definition at line 44 of file yieldtermstructure.hpp.

explicit 
Definition at line 33 of file yieldtermstructure.cpp.
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 
Definition at line 183 of file yieldtermstructure.hpp.
DiscountFactor discount  (  Time  t, 
bool  extrapolate = false 

)  const 
The same daycounting rule used by the term structure should be used for calculating the passed time t.
Definition at line 76 of file yieldtermstructure.cpp.
InterestRate zeroRate  (  const Date &  d, 
const DayCounter &  resultDayCounter,  
Compounding  comp,  
Frequency  freq = Annual , 

bool  extrapolate = false 

)  const 
The resulting interest rate has the required daycounting rule.
Definition at line 98 of file yieldtermstructure.cpp.
InterestRate zeroRate  (  Time  t, 
Compounding  comp,  
Frequency  freq = Annual , 

bool  extrapolate = false 

)  const 
The resulting interest rate has the same daycounting rule used by the term structure. The same rule should be used for calculating the passed time t.
Definition at line 117 of file yieldtermstructure.cpp.
InterestRate forwardRate  (  const Date &  d1, 
const Date &  d2,  
const DayCounter &  resultDayCounter,  
Compounding  comp,  
Frequency  freq = Annual , 

bool  extrapolate = false 

)  const 
The resulting interest rate has the required daycounting rule.
Definition at line 128 of file yieldtermstructure.cpp.
InterestRate forwardRate  (  const Date &  d, 
const Period &  p,  
const DayCounter &  resultDayCounter,  
Compounding  comp,  
Frequency  freq = Annual , 

bool  extrapolate = false 

)  const 
The resulting interest rate has the required daycounting rule.
Definition at line 189 of file yieldtermstructure.hpp.
InterestRate forwardRate  (  Time  t1, 
Time  t2,  
Compounding  comp,  
Frequency  freq = Annual , 

bool  extrapolate = false 

)  const 
The resulting interest rate has the same daycounting rule used by the term structure. The same rule should be used for calculating the passed times t1 and t2.
Definition at line 153 of file yieldtermstructure.cpp.
const std::vector< Date > & jumpDates  (  )  const 
Definition at line 198 of file yieldtermstructure.hpp.
const std::vector< Time > & jumpTimes  (  )  const 
Definition at line 202 of file yieldtermstructure.hpp.

overridevirtual 
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 TermStructure.
Definition at line 173 of file yieldtermstructure.cpp.

protectedpure virtual 
discount factor calculation
Implemented in InterpolatedSimpleZeroCurve< Interpolator >, FdmAffineModelTermStructure, InterpolatedDiscountCurve< Interpolator >, FittedBondDiscountCurve, FlatForward, ForwardRateStructure, ImpliedTermStructure, and ZeroYieldStructure.

private 
Definition at line 59 of file yieldtermstructure.cpp.
Definition at line 173 of file yieldtermstructure.hpp.

private 
Definition at line 174 of file yieldtermstructure.hpp.

private 
Definition at line 175 of file yieldtermstructure.hpp.

private 
Definition at line 176 of file yieldtermstructure.hpp.

private 
Definition at line 177 of file yieldtermstructure.hpp.