Financial Derivatives Toolbox | ![]() ![]() |
Discounting factors from interest rates
Syntax
Usage 1: Interval points are input as times in periodic units.
Usage 2: ValuationDate is passed and interval points are input as dates.
Arguments
Description
Disc = rate2disc(Compounding, Rates, EndTimes, StartTimes)
and [Disc, EndTimes, StartTimes] = rate2disc(Compounding, Rates, EndDates, StartDates, ValuationDate)
convert interest rates to cash flow discounting factors. rate2disc computes the discounts over a series of NPOINTS
time intervals given the annualized yield over those intervals. NCURVES
different rate curves can be translated at once if they have the same time structure. The time intervals can represent a zero curve or a forward curve.
Disc
is an NPOINTS
-by-NCURVES
column vector of discount factors in decimal form representing the value at time StartTime
of a unit cash flow received at time EndTime
.
StartTimes
is an NPOINTS-
by-1
column vector of times starting the interval to discount over, measured in periodic units.
EndTimes
is an NPOINTS-
by-1
column vector of times ending the interval to discount over, measured in periodic units.
If Compounding = 365
(daily), StartTimes
and EndTimes
are measured in days. The arguments otherwise contain values, T
, computed from SIA semiannual time factors, Tsemi
, by the formula T = Tsemi/2*F
, where F
is the compounding frequency.
The investment intervals can be specified either with input times (Usage 1) or with input dates (Usage 2). Entering ValuationDate
invokes the date interpretation; omitting ValuationDate
invokes the default time interpretations.
Examples
Compute discounts from a zero curve at six months, 12 months, and 24 months. The time to the cash flows is 1, 2, and 4. We are computing the present value (at time 0) of the cash flows.
Compounding = 2; Rates = [0.05; 0.06; 0.065]; EndTimes = [1; 2; 4]; Disc = rate2disc(Compounding, Rates, EndTimes) Disc = 0.9756 0.9426 0.8799
Compute discounts from a zero curve at six months, 12 months, and 24 months. Use dates to specify the ending time horizon.
Compounding = 2; Rates = [0.05; 0.06; 0.065]; EndDates = ['10/15/97'; '04/15/98'; '04/15/99']; ValuationDate = '4/15/97'; Disc = rate2disc(Compounding, Rates, EndDates, [], ValuationDate) Disc = 0.9756 0.9426 0.8799
Compute discounts from the one-year forward rates beginning now, in six months, and in 12 months. Use monthly compounding. The times to the cash flows are 12, 18, 24, and the forward times are 0, 6, 12.
Compounding = 12; Rates = [0.05; 0.04; 0.06]; EndTimes = [12; 18; 24]; StartTimes = [0; 6; 12]; Disc = rate2disc(Compounding, Rates, EndTimes, StartTimes) Disc = 0.9513 0.9609 0.9419
See Also
![]() | optbndbyhjm | ratetimes | ![]() |