# instfloor

Construct floor instrument

## Description

example

InstSet = instfloor(Strike,Settle,Maturity) creates a new instrument set containing Floor instruments.

example

InstSet = instfloor(InstSet,Strike,Settle,Maturity) adds Floor instruments to an existing instrument set.

example

InstSet = instfloor(___,FloorReset,Basis,Principal) adds optional arguments.

example

[FieldList,ClassList,TypeString] = instfloor lists field meta-data for the Floor instrument.

## Examples

collapse all

Define the characteristics of the floor instrument.

Strike = 0.22;
Settle = datenum('15-Mar-2013');
Maturity = datenum('15-Mar-2018');
FloorReset = 4;
Basis = 1;
Principal = 1000;

Create the new floor instrument.

ISet = instfloor(Strike, Settle, Maturity, FloorReset, Basis, Principal)
ISet = struct with fields:
FinObj: 'Instruments'
IndexTable: [1x1 struct]
Type: {'Floor'}
FieldName: {{6x1 cell}}
FieldClass: {{6x1 cell}}
FieldData: {{6x1 cell}}

Display the floor instrument.

instdisp(ISet)
Index Type  Strike Settle         Maturity       FloorReset Basis Principal
1     Floor 0.22   15-Mar-2013    15-Mar-2018    4          1     1000

## Input Arguments

collapse all

Instrument variable, specified only when adding Floor instruments to an existing instrument set. For more information on the InstSet variable, see instget.

Data Types: struct

Rate at which the floor is exercised, specified as a scalar or an NINST-by-1 vector of decimal values.

Data Types: double

Settlement date for the floor, specified as a scalar or an NINST-by-1 vector of serial date numbers or date character vectors.

Data Types: double | char | cell

Maturity date for the floor, specified as a scalar or an NINST-by-1 vector of serial date numbers or date character vectors.

Data Types: double | char | cell

(Optional) Reset frequency payment per year, specified as a scalar or an NINST-by-1 vector.

Data Types: double

(Optional) Day-count basis, specified as a scalar or an NINST-by-1 vector of integers.

• 0 = actual/actual

• 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 (ICMA)

• 9 = actual/360 (ICMA)

• 10 = actual/365 (ICMA)

• 11 = 30/360E (ICMA)

• 12 = actual/365 (ISDA)

• 13 = BUS/252

Data Types: double

(Optional) Notional principal amount, specified as a scalar or an NINST-by-1 of notional principal amounts, or a NINST-by-1 cell array, where each element is a NumDates-by-2 cell array where the first column is dates and the second column is associated principal amount. The date indicates the last day that the principal value is valid.

Use Principal to pass a schedule to compute the price for an amortizing floor.

Data Types: double | cell

## Output Arguments

collapse all

Variable containing a collection of instruments, returned as a structure. 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 InstSet variable, see instget.

Name of each data field for a Floor instrument, returned as an NFIELDS-by-1 cell array of character vectors.

Data class for each field, returned as an NFIELDS-by-1 cell array of character vectors. The class determines how arguments are parsed. Valid character vectors are 'dble', 'date', and 'char'.

Type of instrument, returned as a character vector. For a Floor instrument, TypeString = 'Floor'.

collapse all

### Floor

A floor is a contract that includes a guarantee setting the minimum interest rate to be received by the holder, based on an otherwise floating interest rate.

The payoff for a floor is:

$\mathrm{max}\left(FloorRate-CurrentRate,0\right)$