Financial Derivatives Toolbox | ![]() ![]() |
Change time intervals defining interest rate environment
Syntax
Usage 1: ValuationDate
not passed; third through sixth arguments are interpreted as times.
[Rates, EndTimes, StartTimes] = ratetimes(Compounding, RefRates, RefEndTimes, RefStartTimes, EndTimes, StartTimes)
Usage 2: ValuationDate passed and interval points input as dates.
[Rates, EndTimes, StartTimes] = ratetimes(Compounding, RefRates, RefEndDates, RefStartDates, EndDates, StartDates, ValuationDate)
Arguments
Description
[Rates, EndTimes, StartTimes] = ratetimes(Compounding, RefRates,
RefEndTimes, RefStartTimes, EndTimes, StartTimes)
and
[Rates, EndTimes, StartTimes] = ratetimes(Compounding, RefRates,
RefEndDates, RefStartDates, EndDates, StartDates,
change time intervals defining an interest rate environment.ValuationDate
)
ratetimes
takes an interest rate environment defined by yields over one collection of time intervals and computes the yields over another set of time intervals. The zero rate is assumed to be piecewise linear in time.
Rates
is an NPOINTS
-by-NCURVES
matrix of rates implied by the reference interest rate structure and sampled at new intervals.
StartTimes
is an NPOINTS
-by-1
column vector of times starting the new intervals where rates are desired, measured in periodic units.
EndTimes
is an NPOINTS
-by-1
column vector of times ending the new intervals, 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 the argument ValuationDate
invokes the date interpretation; omitting ValuationDate
invokes the default time interpretations.
Examples
The reference environment is a collection of zero rates at six, 12, and 24 months. Create a collection of one year forward rates beginning at zero, six, and 12 months.
RefRates = [0.05; 0.06; 0.065]; RefEndTimes = [1; 2; 4]; StartTimes = [0; 1; 2]; EndTimes = [2; 3; 4]; Rates = ratetimes(2, RefRates, RefEndTimes, 0, EndTimes,... StartTimes) Rates = 0.0600 0.0688 0.0700
Interpolate a zero yield curve to different dates. Zero curves start at the default date of ValuationDate
.
RefRates = [0.04; 0.05; 0.052]; RefDates = [729756; 729907; 730121]; Dates = [730241; 730486]; ValuationDate = 729391; Rates = ratetimes(2, RefRates, RefDates, [], Dates, [],... ValuationDate) Rates = 0.0520 0.0520
See Also
![]() | rate2disc | swapbybdt | ![]() |