Documentation

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 (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.

Principal

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

Description

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

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

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

[FieldList, ClassList, TypeString] = instswaption; to list field metadata for the swaption instrument.

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

expand all

Construct Two Swaption Instruments

This example shows how to create two European swaption instruments using the the following data.

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

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

% view the European swaption instruments using instdisp
instdisp(InstSet)
Index Type     OptSpec Strike ExerciseDates  Spread Settle         Maturity       AmericanOpt SwapReset Basis Principal
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      
 
Was this topic helpful?