YieldTermStructure (3) - Linux Man Pages

YieldTermStructure: Interest-rate term structure.

NAME

QuantLib::YieldTermStructure - Interest-rate term structure.

SYNOPSIS


#include <ql/termstructures/yieldtermstructure.hpp>

Inherits QuantLib::TermStructure.

Inherited by InterpolatedDiscountCurve< LogLinear >, FittedBondDiscountCurve, FlatForward, ForwardRateStructure, ImpliedTermStructure, InterpolatedDiscountCurve< Interpolator >, and ZeroYieldStructure.

Public Member Functions

Constructors
See the TermStructure documentation for issues regarding constructors.


YieldTermStructure (const DayCounter &dc=DayCounter())
default constructor
YieldTermStructure (const Date &referenceDate, const Calendar &cal=Calendar(), const DayCounter &dc=DayCounter())
initialize with a fixed reference date
YieldTermStructure (Natural settlementDays, const Calendar &cal, const DayCounter &dc=DayCounter())
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.

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

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

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.

Possible enhancements

add derived class ParSwapTermStructure similar to ZeroYieldTermStructure, DiscountStructure, ForwardRateStructure

Tests

observability against evaluation date changes is checked.

Constructor & Destructor Documentation

YieldTermStructure (const DayCounter & dc = DayCounter())

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 t, 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.

Author

Generated automatically by Doxygen for QuantLib from the source code.