# QuantLib_ForwardRateStructure man page

ForwardRateStructure — Forward-rate term structure

## Synopsis

`#include <ql/termstructures/yield/forwardstructure.hpp>`

Inherits **YieldTermStructure**.

Inherited by **ForwardSpreadedTermStructure**, and **InterpolatedForwardCurve< Interpolator >**.

### Public Member Functions

**Constructors**

See the **TermStructure** documentation for issues regarding constructors.

**ForwardRateStructure** (const **DayCounter** &**dayCounter**=**DayCounter**(), const std::vector< **Handle**< **Quote** > > &jumps=std::vector< **Handle**< **Quote** > >(), const std::vector< **Date** > &jumpDates=std::vector< **Date** >())**ForwardRateStructure** (const **Date** &**referenceDate**, const **Calendar** &cal=**Calendar**(), const **DayCounter** &**dayCounter**=**DayCounter**(), const std::vector< **Handle**< **Quote** > > &jumps=std::vector< **Handle**< **Quote** > >(), const std::vector< **Date** > &jumpDates=std::vector< **Date** >())**ForwardRateStructure** (**Natural settlementDays**, const **Calendar** &cal, const **DayCounter** &**dayCounter**=**DayCounter**(), const std::vector< **Handle**< **Quote** > > &jumps=std::vector< **Handle**< **Quote** > >(), const std::vector< **Date** > &jumpDates=std::vector< **Date** >())

### Protected Member Functions

**Calculations**

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

virtual **Rate forwardImpl** (**Time**) const =0

instantaneous forward-rate calculation

virtual **Rate zeroYieldImpl** (**Time**) const

**YieldTermStructure implementation**

**DiscountFactor discountImpl** (**Time**) const

### Additional Inherited Members

## Detailed Description

Forward-rate term structure

This abstract class acts as an adapter to **YieldTermStructure** allowing the programmer to implement only the `forwardImpl(Time)`

method in derived classes.

Zero yields and discounts are calculated from forwards.

**Forward** rates are assumed to be annual continuous compounding.

## Member Function Documentation

### virtual Rate zeroYieldImpl (Time) const [protected], [virtual]

Returns the zero yield rate for the given date calculating it from the instantaneous forward rate $ f(t) $ as [ z(t) = int_0^t f( au) d au ]

**Warning**This default implementation uses an highly inefficient and possibly wildly inaccurate numerical integration. Derived classes should override it if a more efficient implementation is available.

Reimplemented in **InterpolatedForwardCurve< Interpolator >**, and **ForwardSpreadedTermStructure**.

### DiscountFactor discountImpl (Time t) const [protected], [virtual]

Returns the discount factor for the given date calculating it from the zero rate as $ d(t) = \xp left( -z(t) t right) $

Implements **YieldTermStructure**.

## Author

Generated automatically by Doxygen for QuantLib from the source code.

## Referenced By

discountImpl(3), forwardImpl(3) and ForwardRateStructure(3) are aliases of QuantLib_ForwardRateStructure(3).