Main Content

instoptfloat

Create option instrument on floating-rate note or add instrument to current portfolio

Description

InstSet = instoptfloat(FloatIndex,OptSpec,Strike,ExerciseDates) to specify a European option for a floating-rate note.

example

InstSet = instoptfloat(FloatIndex,OptSpec,Strike,ExerciseDates,AmericanOpt) to specify an American or Bermuda option for a floating-rate note.

example

InstSet = instoptfloat(InstSetOld,___) to add instruments to an existing portfolio.

[FieldList,ClassList,TypeString] = instoptfloat lists the field metadata for the 'OptFloat' instrument.

Examples

collapse all

Define the floating-rate note:

Settle = datetime(2012,11,1);
Maturity   = datetime(2015,11,1); 
Spread = 50;
Reset = 1;

Create InstSet:

InstSet = instfloat(Spread, Settle, Maturity, Reset)
InstSet = struct with fields:
        FinObj: 'Instruments'
    IndexTable: [1x1 struct]
          Type: {'Float'}
     FieldName: {{9x1 cell}}
    FieldClass: {{9x1 cell}}
     FieldData: {{9x1 cell}}

Display the instrument:

instdisp(InstSet)
Index Type  Spread Settle         Maturity       FloatReset Basis Principal EndMonthRule CapRate FloorRate
1     Float 50     01-Nov-2012    01-Nov-2015    1          0     100       1            Inf     -Inf     
 

Add a European call option to the instrument portfolio:

OptSpec = 'call'; 
Strike = 100;  
ExerciseDates = 'Nov-1-2015';

Create InstSet:

InstSet = instoptfloat(InstSet, 1, OptSpec, Strike, ExerciseDates)
InstSet = struct with fields:
        FinObj: 'Instruments'
    IndexTable: [1x1 struct]
          Type: {2x1 cell}
     FieldName: {2x1 cell}
    FieldClass: {2x1 cell}
     FieldData: {2x1 cell}

Display the instrument:

instdisp(InstSet)
Index Type  Spread Settle         Maturity       FloatReset Basis Principal EndMonthRule CapRate FloorRate
1     Float 50     01-Nov-2012    01-Nov-2015    1          0     100       1            Inf     -Inf     
 
Index Type     UnderInd OptSpec Strike ExerciseDates  AmericanOpt
2     OptFloat 1        call    100    01-Nov-2015    0          
 

Input Arguments

collapse all

Indices pointing to underlying instruments of Type 'Float' specified by a NINST-by-1 vector. The instruments of Type 'Float' are also stored in the InstSet variable. For more information, see instfloat.

Data Types: double

Definition of option as 'call' or 'put' specified as a NINST-by-1 cell array of character vectors for 'call' or 'put'.

Data Types: char | cell

Option strike price values for option (European, Bermuda, or American) specified as nonnegative integers using as NINST-by-NSTRIKES vector of strike price values.

  • For a European or Bermuda option — NINST-by-NSTRIKES matrix of strike price values. Each row is the schedule for one option. If an option has fewer than NSTRIKES exercise opportunities, the end of the row is padded with NaNs.

  • For an American Option — NINST-by-1 vector of strike price values for each option.

Data Types: double

Exercise date for option (European, Bermuda, or American), specified as a NINST-by-NSTRIKES or NINST-by-2 vector using a datetime array, string array, or date character vectors, depending on the option type.

  • For a European or Bermuda option — NINST-by-NSTRIKES matrix 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

  • For an American option — 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 bond Settle date and the single listed ExerciseDate.

To support existing code, instoptfloat also accepts serial date numbers as inputs, but they are not recommended.

Option type specified as NINST-by-1 positive integer scalar flags with values.

  • For a European or Bermuda option — AmericanOpt is 0 for each European or Bermuda option.

  • For an American option — AmericanOpt is 1 for each American option. The AmericanOpt argument is required to invoke American exercise rules.

Data Types: single | double

Variable containing an existing collection of instruments, specified as a struct. For more information on the InstSet variable, see instget.

Data Types: struct

Output Arguments

collapse all

Variable containing a collection of instruments returned as a scalar or vector with the instruments broken down by type and each type can have different data fields. Each stored data field has a row vector or character vector for each instrument. For more information on the InstSet variable, see instget.

Data field for instrument type returned as a NFIELDS-by-1 cell array of character vectors listing the name of each data field for this instrument type.

Data class of each field returned as aNFIELDS-by-1 cell array of character vectors listing the data class of each field. The class determines how arguments are parsed.

Type of instrument added returned as a character vector. The character vector for a floating-rate option instrument is TypeString = 'OptFloat'.

Version History

Introduced in R2013a

expand all