instswaption - Construct swaption instrument

Syntax

InstSet = instswaption(OptSpec, Strike, ExerciseDates, ...
Spread, Settle, Maturity)
InstSet = instswaption(OptSpec, Strike, ExerciseDates, ...
Spread, Settle, Maturity, AmericanOpt, ...
SwapReset, Basis, Principal)
InstSet = instswaption(InstSetOld, OptSpec, Strike, ...
ExerciseDates, Spread, ...)
[FieldList, ClassList, TypeString] = instswaption;

Arguments

Fill unspecified entries in vectors with the value NaN. Only one data argument is required to create the instruments; the others may be omitted or passed as empty matrices [ ]. Type [FieldList, ClassList] = instswaption to see the classes. Dates can be input as serial date numbers or date strings.

OptSpec

NINST-by-1 cell array of strings 'call' or 'put'. A 'call swaption' entitles the buyer to pay the fixed rate. A 'put swaption' entitles the buyer to receive the fixed rate.

Strike

NINST-by-1 vector of strike swap rate values.

For a European Option:

ExerciseDates

NINST-by-1 vector of exercise dates. Each row is the schedule for one option. For a European option, there is only one ExerciseDate on the option expiry date.

AmericanOpt

NINST-by-1 vector of flags. AmericanOpt is 0 for each European option. The default is 0 if AmericanOpt is NaN or not entered.

For an American Option:

ExerciseDates

NINST-by-2 vector of exercise date boundaries. For each instrument, the option can be exercised on any coupon date between or including the pair of dates on that row. If only one non-NaN date is listed, or if ExerciseDates is NINST-by-1, the option can be exercised between the underlying swap Settle and the single listed ExerciseDate.

AmericanOpt

NINST-by-1 vector of flags. AmericanOpt is 1 for each American option. The AmericanOpt argument is required to invoke American exercise rules.

For an American or a European option:

Spread

NINST-by-1 vector representing the number of basis points over the reference rate.

Settle

NINST-by-1 vector of dates representing the settle date for each swap.

Maturity

NINST-by-1 vector of dates representing the maturity date for each swap.

SwapReset

(Optional) NINST-by-1 vector representing the reset frequency per year for the underlying swap. Default is 1.

Basis

(Optional) Day-count basis of the instrument. A vector of integers.

  • 0 = actual/actual (default)

  • 1 = 30/360 (SIA)

  • 2 = actual/360

  • 3 = actual/365

  • 4 = 30/360 (PSA)

  • 5 = 30/360 (ISDA)

  • 6 = 30/360 (European)

  • 7 = actual/365 (Japanese)

  • 8 = actual/actual (ISMA)

  • 9 = actual/360 (ISMA)

  • 10 = actual/365 (ISMA)

  • 11 = 30/360E (ISMA)

  • 12 = actual/365 (ISDA)

Principal

(Optional) NINST-by-1 vector of the notional principal amounts. Default is 100.

Description

To specify a European option: InstSet = instswaption(OptSpec, Strike, ExerciseDates, ...Spread, Settle, Maturity)

To specify an American option: InstSet = instswaption(OptSpec, Strike, ExerciseDates, ...Spread, Settle, Maturity, AmericanOpt, ...SwapReset, Basis, Principal)

To add Swaption instruments to an instrument variable: InstSet = instswaption(InstSetOld, OptSpec, Strike, ...ExerciseDates, Spread, ...)

To list field metadata for the Swaption instrument: [FieldList, ClassList, TypeString] = instswaption;

Outputs:

InstSet

Variable containing a collection of instruments. Instruments are broken down by type and each type can have different data fields. Each stored data field has a row vector or string for each instrument. For more information on the ISet variable, see instget.

FieldList

NFIELDS-by-1 cell array of strings listing the name of each data field for this instrument type.

ClassList

NFIELDS-by-1 cell array of strings listing the data class of each field. The class determines how arguments will be parsed. Valid strings are 'dble', 'date', and 'char'.

TypeString

String specifying the type of instrument added. TypeString = 'Swaption'.

Examples

Create two European swaption instruments with the following data:

OptSpec = {'Call'; 'Put'}
Strike = .05;
ExerciseDates = 'jan-1-2011';
Spread=0;
Settle = 'jan-1-2007';
Maturity = 'jan-1-2012';
AmericanOpt = 0;

OptSpec = 

    'Call'
    'Put'

>> InstSet = instswaption(OptSpec, Strike, ExerciseDates, Spread, Settle, Maturity, ...
 AmericanOpt);

View the two European swaption instruments by using instdisp:

>> instdisp(InstSet)

Index Type OptSpec Stke ExerDates Spread Settle Maturity AmerOpt SwpReset Basis Prinpal
1  Swaption Call  0.05  01-Jan-2011   0   01-Jan-2007   01-Jan-2012   0   1    0    100
2  Swaption Put   0.05  01-Jan-2011   0   01-Jan-2007   01-Jan-2012   0   1    0    100  

See Also

instadd, instget, instdisp

  


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