Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

IRBootstrapOptions

Construct specific options for bootstrapping interest-rate curve object

Syntax

mybootoptions = IRBootstrapOptions('Param1',Value1)

Arguments

ConvexityAdjustment

(Optional) Controls the convexity adjustment to interest-rate futures. This can be specified as a function handle that takes one numeric input (time-to-maturity) and returns one numeric output, ConvexityAdjustment. For more information on defining a function handle, see the MATLAB® Programming Fundamentals documentation.

Alternatively, you can define ConvexityAdjustment as an N-by-1 vector of values, where N is the number of interest-rate futures.

In either case, the ConvexityAdjustment is subtracted from the futures rate.

LowerBound

(Optional) Specifies a lower bound for rates associated with bonds or swaps. LowerBound can be a scalar or N-by-1 vector where N is the number of swaps and bonds. By default, LowerBound is 0.

UpperBound

(Optional) Specifies an upper bound for rates associated with bonds or swaps. UpperBound can be a scalar or N-by-1 vector where N is the number of swaps and bonds. By default, UpperBound is 1. Specify an upper bound that is greater than 1 when bootstrapping a discount curve.

Description

mybootoptions = IRBootstrapOptions('Param1',Value1) constructs an IRBootstrapOptionsObj structure. The IRBootstrapOptionsObj is used with the bootstrap method.

Examples

collapse all

Set the ConvexityAdjustment to control interest-rate futures.

mybootoptions = IRBootstrapOptions('ConvexityAdjustment',repmat(.005,10,1))
mybootoptions = 
  IRBootstrapOptions with properties:

    ConvexityAdjustment: [10x1 double]
             LowerBound: 0
             UpperBound: 1

Use mybootoptions as the optional argument, IRBootstrapOptionsObj, to use with the bootstrap method.

Use an IRBootstrapOptionsObj optional argument with the bootstrap method to allow for negative zero rates when solving the swap zero points.

Settle = datenum('15-Mar-2015'); 
InstrumentTypes = {'Deposit';'Deposit';'Swap';'Swap';'Swap';'Swap';}; 

Instruments = [Settle,datenum('15-Jun-2015'),.001; ... 
Settle,datenum('15-Dec-2015'),.0005; ... 
Settle,datenum('15-Mar-2016'),-.001; ... 
Settle,datenum('15-Mar-2017'),-0.0005; ... 
Settle,datenum('15-Mar-2018'),.0017; ... 
Settle,datenum('15-Mar-2020'),.0019]; 

irbo = IRBootstrapOptions('LowerBound',-1); 

bootModel = IRDataCurve.bootstrap('zero', Settle, InstrumentTypes,... 
    Instruments,'IRBootstrapOptions',irbo); 

bootModel.getZeroRates(datemnth(Settle,1:60))
ans = 

    0.0012
    0.0011
    0.0010
    0.0009
    0.0008
    0.0008
    0.0007
    0.0006
    0.0005
   -0.0000

Note that IRBootstrapOptions optional argument for LowerBound is set to -1 for negative zero rates when solving the swap zero points.

Introduced in R2008b

Was this topic helpful?