QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
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, 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.
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.
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

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

(Note that these are not member symbols.)

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

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]

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]

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.