InterestRate Class Reference

Concrete interest rate class. More...

`#include <ql/interestrate.hpp>`

## Public Member Functions

constructors
| InterestRate ()
| Default constructor returning a null interest rate.
| InterestRate (Rate r, const DayCounter &dc, Compounding comp, Frequency freq)
| Standard constructor.
conversions
| operator Rate () const
inspectors
Rate | rate () const
const DayCounter & | dayCounter () const
Compounding | compounding () const
Frequency | frequency () const
discount/compound factor calculations
DiscountFactor | discountFactor (Time t) const
| discount factor implied by the rate compounded at time t. More...
DiscountFactor | discountFactor (const Date &d1, const Date &d2, const Date &refStart=Date(), const Date &refEnd=Date()) const
| discount factor implied by the rate compounded between two dates
Real | compoundFactor (Time t) const
| compound factor implied by the rate compounded at time t. More...
Real | compoundFactor (const Date &d1, const Date &d2, const Date &refStart=Date(), const Date &refEnd=Date()) const
| compound factor implied by the rate compounded between two dates More...

## Static Public Member Functions

implied rate calculations
static InterestRate | impliedRate (Real compound, const DayCounter &resultDC, Compounding comp, Frequency freq, Time t)
| implied interest rate for a given compound factor at a given time. More...
static InterestRate | impliedRate (Real compound, const DayCounter &resultDC, Compounding comp, Frequency freq, const Date &d1, const Date &d2, const Date &refStart=Date(), const Date &refEnd=Date())
| implied rate for a given compound factor between two dates. More...

## Related Functions

(Note that these are not member functions.)
std::ostream & | operator<< (std::ostream &, const InterestRate &)

## equivalent rate calculations

InterestRate | equivalentRate (Compounding comp, Frequency freq, Time t) const
| equivalent interest rate for a compounding period t. More...
InterestRate | equivalentRate (const DayCounter &resultDC, Compounding comp, Frequency freq, Date d1, Date d2, const Date &refStart=Date(), const Date &refEnd=Date()) const
| equivalent rate for a compounding period between two dates More...

## Detailed Description

Concrete interest rate class.

This class encapsulate the interest rate compounding algebra. It manages day-counting conventions, compounding conventions, conversion between different conventions, discount/compound factor calculations, and implied/equivalent rate calculations.

Tests:
  Converted rates are checked against known good results

Examples
  CallableBonds.cpp.

## Member Function Documentation

## discountFactor()

DiscountFactor discountFactor | ( | Time | t | ) | const

discount factor implied by the rate compounded at time t.

Warning:
  Time must be measured using InterestRate's own day counter.

## compoundFactor() [1/2]

Real compoundFactor | ( | Time | t | ) | const

compound factor implied by the rate compounded at time t.

returns the compound (a.k.a capitalization) factor implied by the rate compounded at time t.

Warning:
  Time must be measured using InterestRate's own day counter.

## compoundFactor() [2/2]

Real compoundFactor | ( | const Date & | d1,
|  | const Date & | d2,
|  | const Date & | refStart = `Date()`,
|  | const Date & | refEnd = `Date()`
| ) |  | const

compound factor implied by the rate compounded between two dates

returns the compound (a.k.a capitalization) factor implied by the rate compounded between two dates.

## impliedRate() [1/2]

static InterestRate impliedRate | ( | Real | compound,
|  | const DayCounter & | resultDC,
|  | Compounding | comp,
|  | Frequency | freq,
|  | Time | t
| ) |  |

static

implied interest rate for a given compound factor at a given time.

The resulting InterestRate has the day-counter provided as input.

Warning:
  Time must be measured using the day-counter provided as input.

## impliedRate() [2/2]

static InterestRate impliedRate | ( | Real | compound,
|  | const DayCounter & | resultDC,
|  | Compounding | comp,
|  | Frequency | freq,
|  | const Date & | d1,
|  | const Date & | d2,
|  | const Date & | refStart = `Date()`,
|  | const Date & | refEnd = `Date()`
| ) |  |

static

implied rate for a given compound factor between two dates.

The resulting rate is calculated taking the required day-counting rule into account.

## equivalentRate() [1/2]

InterestRate equivalentRate | ( | Compounding | comp,
|  | Frequency | freq,
|  | Time | t
| ) |  | const

equivalent interest rate for a compounding period t.

The resulting InterestRate shares the same implicit day-counting rule of the original InterestRate instance.

Warning:
  Time must be measured using the InterestRate's own day counter.

## equivalentRate() [2/2]

InterestRate equivalentRate | ( | const DayCounter & | resultDC,
|  | Compounding | comp,
|  | Frequency | freq,
|  | Date | d1,
|  | Date | d2,
|  | const Date & | refStart = `Date()`,
|  | const Date & | refEnd = `Date()`
| ) |  | const

equivalent rate for a compounding period between two dates

The resulting rate is calculated taking the required day-counting rule into account.