Documentation |
Interest rates from cash flow discounting factors
Rates = disc2rate(Compounding, Disc, EndTimes) Rates = disc2rate(Compounding, Disc, EndTimes, StartTimes) [Rates, EndTimes, StartTimes] = disc2rate(Compounding, Disc,
EndDates, StartDates, ValuationDate) [Rates, EndTimes, StartTimes] = disc2rate(Compounding, Disc,
EndDates, StartDates, ValuationDate, Basis, EndMonthRule)
Usage 1: Interval points are input as times in periodic units.
Usage 2: ValuationDate is passed and interval points are input as dates.
Scalar value representing the rate at which the input zero rates were compounded when annualized. This argument determines the formula for the discount factors: Compounding = 1, 2, 3, 4, 6, 12 Disc = (1 + Z/F)^(-T), where F is the compounding frequency, Z is the zero rate, and T is the time in periodic units; for example, T = F is 1 year. Compounding = 365 Disc = (1 + Z/F)^(-T), where F is the number of days in the basis year and T is a number of days elapsed computed by basis. Compounding = -1 Disc = exp(-T*Z), where T is time in years. | |
Disc | Number of points (NPOINTS) by number of curves (NCURVES) matrix of discounts. Disc are unit bond prices over investment intervals from StartTimes, when the cash flow is valued, to EndTimes, when the cash flow is received. |
EndTimes | NPOINTS-by-1 vector or scalar of times in periodic units ending the interval to discount over. |
StartTimes | (Optional) NPOINTS-by-1 vector or scalar of times in periodic units starting the interval to discount over. Default = 0. |
EndDates | NPOINTS-by-1 vector or scalar of serial maturity dates ending the interval to discount over. |
StartDates | (Optional) NPOINTS-by-1 vector or scalar of serial dates starting the interval to discount over. Default = ValuationDate. StartDates must be earlier than EndDates. |
ValuationDate | Scalar value in serial date number form representing the observation date of the investment horizons entered in StartDates and EndDates. Required in Usage 2. Omitted or passed as an empty matrix to invoke Usage 1. |
Basis | (Optional) Day-count basis of the instrument when using Usage 2. A vector of integers.
For more information, see basis. |
EndMonthRule | (Optional) End-of-month rule when using Usage 2. A vector. This rule applies only when Maturity is an end-of-month date for a month having 30 or fewer days. 0 = ignore rule, meaning that a bond's coupon payment date is always the same numerical day of the month. 1 = set rule on (default), meaning that a bond's coupon payment date is always the last actual day of the month. |
Usage 1: Rates = disc2rate(Compounding, Disc, EndTimes) or Rates = disc2rate(Compounding, Disc, EndTimes, StartTimes) where interval points are input as times in periodic units.
Usage 2: [Rates, EndTimes, StartTimes] = disc2rate(Compounding, Disc, EndDates, StartDates, ValuationDate) or [Rates, EndTimes, StartTimes] = disc2rate(Compounding, Disc, EndDates, StartDates, ValuationDate, Basis, EndMonthRule) where ValuationDate is passed and interval points are input as dates.
disc2rate computes the yields over a series of NPOINTS time intervals given the cash flow discounts 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 or a forward curve.
Rates is an NPOINTS-by-NCURVES column vector of yields in decimal form over the NPOINTS time intervals.
Specify the investment intervals with either input times (Usage 1) or input dates (Usage 2). Entering ValuationDate invokes the date interpretation; omitting ValuationDate invokes the default time interpretations.
For Usage 1:
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.
For Usage 2:
StartDates is an NPOINTS-by-1 column vector of serial dates starting the interval to discount over, measured in days.
EndDates is an NPOINTS-by-1 column vector of serial date ending the interval to discount over, measured in days.
If Compounding = 365 (daily), StartTimes and EndTimes are measured in days for Usage 2. Otherwise, for Usage 1, the arguments contain values, T, computed from SIA semiannual time factors, Tsemi, by the formula T = Tsemi/2 * F, where F is the compounding frequency.