QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
Related Functions | List of all members
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 DayCounterdayCounter () 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.