YieldTermStructure Class Reference
[Term structures]
#include <ql/yieldtermstructure.hpp>
Inheritance diagram for YieldTermStructure:

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 (const DayCounter &dc=Actual365Fixed()) | |
default constructor | |
YieldTermStructure (const Date &referenceDate, const Calendar &cal=Calendar(), const DayCounter &dc=Actual365Fixed()) | |
initialize with a fixed reference date | |
YieldTermStructure (Natural settlementDays, const Calendar &, const DayCounter &dc=Actual365Fixed()) | |
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 (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 |
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.
| |
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 > ×, Frequency freq=Annual, bool extrapolate=false) const |
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 | ( | const DayCounter & | dc = Actual365Fixed() |
) |
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 | ( | 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 day-counting rule.
- Warning:
- dates are not adjusted for holidays
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.