| Fixed-Income Toolbox™ | ![]() |
CurveObj = IRFunctionCurve(Type, Settle, FunctionHandle) CurveObj = IRFunctionCurve(Type, Settle, FunctionHandle, 'Parameter1', Value1, 'Parameter2', Value2, ...)
| Type | Type of interest-rate curve: zero, forward, or discount. |
| Settle | Scalar or column vector 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) Compounding value for the bond:
|
| Basis | (Optional) Day-count basis of the bond. A vector of integers.
|
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.
| Method | Description |
|---|---|
| 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 Method | Description |
|---|---|
| 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. |
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![]() | IRFitOptions | liborduration | ![]() |
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |