YieldTermStructure Class Reference
[Term structures]

#include <ql/yieldtermstructure.hpp>

Inheritance diagram for YieldTermStructure:

Inheritance graph
[legend]
List of all members.

Detailed Description

Interest-rate term structure.

This abstract class defines the interface of concrete rate structures which will be derived from this one.

Rates are assumed to be annual continuous compounding.

Todo:
add derived class ParSwapTermStructure similar to ZeroYieldTermStructure, DiscountStructure, ForwardRateStructure

Tests:
observability against evaluation date changes is checked.


Public Member Functions

Constructors
See the TermStructure documentation for issues regarding constructors.

 YieldTermStructure ()
 default constructor
 YieldTermStructure (const Date &referenceDate)
 initialize with a fixed reference date
 YieldTermStructure (Integer settlementDays, const Calendar &)
 calculate the reference date based on the global evaluation date
zero-yield rates
These methods return the implied zero-yield 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
discount factors
These methods return the discount factor for a given date or time. In the former case, the time is calculated as a fraction of year from the reference date.

DiscountFactor discount (const Date &, bool extrapolate=false) const
DiscountFactor discount (Time, bool extrapolate=false) const
forward rates
These methods returns the implied forward interest rate between two dates or times. In the former case, times are calculated as fractions of year from the reference date.

InterestRate forwardRate (const Date &d1, const Date &d2, 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
par rates
These methods returns the implied par rate for a given sequence of payments at the given dates or times. In the former case, times are calculated as fractions of year from the reference date.

Warning:
though somewhat related to a swap rate, this method is not to be used for the fair rate of a real swap, since it does not take into account all the market conventions' details. The correct way to evaluate such rate is to instantiate a SimpleSwap with the correct conventions, pass it the term structure and call the swap's fairRate() method.


Rate parRate (Integer tenor, const Date &startDate, Frequency freq=Annual, bool extrapolate=false) const
Rate parRate (const std::vector< Date > &dates, Frequency freq=Annual, bool extrapolate=false) const
Rate parRate (const std::vector< Time > &times, Frequency freq=Annual, bool extrapolate=false) const
Rate parRate (Year tenor, Time t0, Frequency freq=Annual, bool extrapolate=false) const
Dates
virtual Date maxDate () const =0
 the latest date for which the curve can return rates
virtual Time maxTime () const
 the latest time for which the curve can return rates

Protected Member Functions

Calculations
These methods must be implemented in derived classes to perform the actual discount and rate calculations. When they are called, range check has already been performed; therefore, they must assume that extrapolation is required.

virtual DiscountFactor discountImpl (Time) const =0
 discount calculation


Constructor & Destructor Documentation

YieldTermStructure  ) 
 

default constructor

Warning:
term structures initialized by means of this constructor must manage their own reference date by overriding the referenceDate() method.


Member Function Documentation

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.

InterestRate zeroRate Time  t,
Compounding  comp,
Frequency  freq = Annual,
bool  extrapolate = false
const
 

The resulting interest rate has the same day-counting rule used by the term structure. The same rule should be used for calculating the passed time t.

DiscountFactor discount Time  ,
bool  extrapolate = false
const
 

The same day-counting rule used by the term structure should be used for calculating the passed time t.

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 day-counting rule.

InterestRate forwardRate Time  t1,
Time  t2,
Compounding  comp,
Frequency  freq = Annual,
bool  extrapolate = false
const
 

The resulting interest rate has the same day-counting rule used by the term structure. The same rule should be used for the calculating the passed times t1 and t2.

Rate parRate const std::vector< Date > &  dates,
Frequency  freq = Annual,
bool  extrapolate = false
const
 

the first date in the vector must equal the start date; the following dates must equal the payment dates.

Rate parRate const std::vector< Time > &  times,
Frequency  freq = Annual,
bool  extrapolate = false
const
 

the first time in the vector must equal the start time; the following times must equal the payment times.

Rate parRate Year  tenor,
Time  t0,
Frequency  freq = Annual,
bool  extrapolate = false
const
 

Deprecated:
use the overload taking a vector of times


QuantLib.org
QuantLib
Hosted by
SourceForge.net Logo
Documentation generated by
doxygen