Skip to Main Content Skip to Search
Product Documentation

IRFunctionCurve - Construct interest-rate curve object from function handle or function and fit to market data

Class

@IRFunctionCurve

Syntax

CurveObj = IRFunctionCurve(Type, Settle, FunctionHandle)
CurveObj = IRFunctionCurve(Type, Settle, FunctionHandle, 
'Parameter1', Value1, 'Parameter2', Value2, ...)

Arguments

Type

Type of interest-rate curve: zero, forward, or discount.

Settle

Scalar of settlement dates.

FunctionHandle

Function handle that defines the interest-rate curve. The function handle requires one numeric input (time-to-maturity) and returns one numeric output (interest rate or discount factor). For more information on defining a function handle, see the MATLAB Programming Fundamentals documentation.

Compounding

(Optional) Scalar that sets the compounding frequency per year for the IRFunctionCurve object:

  • -1 =  Continuous compounding

  • 1 = Annual compounding

  • 2 = Semiannual compounding (default)

  • 3 = Compounding three times per year

  • 4 = Quarterly compounding

  • 6 = Bimonthly compounding

  • 12 = Monthly compounding

Basis

(Optional) Day-count basis of the bond. A scalar of integers.

  • 0 = actual/actual (default)

  • 1 = 30/360 (SIA)

  • 2 = actual/360

  • 3 = actual/365

  • 4 = 30/360 (BMA)

  • 5 = 30/360 (ISDA)

  • 6 = 30/360 (European)

  • 7 = actual/365 (Japanese)

  • 8 = actual/actual (ICMA)

  • 9 = actual/360 (ICMA)

  • 10 = actual/365 (ICMA)

  • 11 = 30/360E (ICMA)

  • 12 = actual/actual (ISDA)

  • 13 = BUS/252

For more information, see basis.

Description

CurveObj = IRFunctionCurve(Type, Settle, FunctionHandle, 'Parameter1', Value1, 'Parameter2', Value2, ...) constructs an interest-rate curve object directly by specifying a function handle. You must enter the optional arguments for Basis and Compounding as parameter/value pairs.

After you use the IRFunctionCurve constructor to create an IRFunctionCurve object, you can fit the bond using the following methods.

MethodDescription
getForwardRates

Returns forward rates for input dates.

getZeroRates

Returns zero rates for input dates.

getDiscountFactors

Returns discount factors for input dates.

getParYields

Returns par yields for input dates.

toRateSpec

Converts to be a RateSpec object.

This RateSpec structure is identical to the RateSpec produced by the Financial Derivatives Toolbox function intenvset.

Alternatively, you can construct an IRFunctionCurve object using the following static methods.

Static MethodDescription
fitNelsonSiegel

Fits a Nelson-Siegel function to market data.

fitSvensson

Fits a Svensson function to market data.

fitSmoothingSpline

Fits a smoothing spline function to market data.

fitFunction

Fits a custom function to market data.

Examples

irfc = IRFunctionCurve('Forward',today,@(t) polyval([-0.0001 0.003 0.02],t))

irfc = 

  Properties:
    FunctionHandle: @(t)polyval([-0.0001,0.003,0.02],t)
              Type: 'Forward'
            Settle: 733599
       Compounding: 2
             Basis: 0

How To

  


Free Interactive Computational Finance CD

View demos and recorded presentations led by industry experts.

Now On Demand
Network with industry peers and learn the latest applications of the leading software product for computational finance.

 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS