Main Content

discountfactors

Calculate discount factors for a ratecurve object

Since R2020a

Description

example

outDF = discountfactors(obj,inpDates) calculates the discount factors for a ratecurve object.

Examples

collapse all

Create a ratecurve object using ratecurve.

Settle = datetime(2019,9,15);
Type = 'zero';
ZeroTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])]';
ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]';
ZeroDates = Settle + ZeroTimes;
 
myRC = ratecurve('zero',Settle,ZeroDates,ZeroRates,'Compounding',2,'Basis',5,'InterpMethod',"pchip",'ShortExtrapMethod',"linear",'LongExtrapMethod',"pchip")
myRC = 
  ratecurve with properties:

                 Type: "zero"
          Compounding: 2
                Basis: 5
                Dates: [10x1 datetime]
                Rates: [10x1 double]
               Settle: 15-Sep-2019
         InterpMethod: "pchip"
    ShortExtrapMethod: "linear"
     LongExtrapMethod: "pchip"

Compute the discount factors using discountfactors.

CurveSettle = datetime(2019,9,15);
outRates = discountfactors(myRC,CurveSettle+30:30:CurveSettle+720)
outRates = 1×24

    0.9996    0.9992    0.9988    0.9983    0.9979    0.9974    0.9970    0.9965    0.9961    0.9956    0.9951    0.9946    0.9941    0.9936    0.9931    0.9926    0.9921    0.9915    0.9910    0.9904    0.9899    0.9893    0.9887    0.9881

Input Arguments

collapse all

ratecurve object, specified using a previously created ratecurve object.

In addition, you can use a parametercurve object. Also, you can create a parametercurve object using fitNelsonSiegel, fitSvensson, or fitSmithWilson.

Data Types: object

Input dates, specified as a scalar or an NPOINTS-by-1 vector using a datetime array, string array, or date character vectors.

To support existing code, discountfactors also accepts serial date numbers as inputs, but they are not recommended.

Output Arguments

collapse all

Discount factors, returned as a numeric.

Version History

Introduced in R2020a

expand all