Main Content

instoptemfloat

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

Description

example

InstSet = instopemtfloat(Spread,Settle,Maturity,OptSpec,Strike,ExerciseDates) creates an embedded option instrument for a floating-rate note.

example

InstSet = instopemtfloat(___,Name,Value) adds optional name-value pair arguments.

InstSet = instopemtfloat(InstSetOld,Spread,Settle,Maturity,OptSpec,Strike,ExerciseDates) to add 'OptEmFloat' instruments to an instrument variable.

[FieldList,ClassList,TypeString] = instoptemfloat lists field metadata for the 'OptEmFloat' instrument.

Examples

collapse all

Define the embedded call option:

Settle = 'Nov-1-2012';
Maturity   = 'Nov-1-2015'; 
Spread = 25;
OptSpec = 'call'; 
Strike= 100;  
ExerciseDates = 'Nov-1-2015'; 
Reset = 1;

Create InstSet:

InstSet = instoptemfloat(Spread, Settle, Maturity, OptSpec,...
Strike,  ExerciseDates,'FloatReset', Reset)
InstSet = struct with fields:
        FinObj: 'Instruments'
    IndexTable: [1x1 struct]
          Type: {'OptEmFloat'}
     FieldName: {{13x1 cell}}
    FieldClass: {{13x1 cell}}
     FieldData: {{13x1 cell}}

Display the instrument:

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

Input Arguments

collapse all

Number of basis points over the reference rate specified as a vector of nonnegative integers for the number of instruments (NINST)-by-1).

Data Types: double

Settlement dates of floating-rate note, specified as a NINST-by-1 vector using a datetime array, string array, date character vectors, or serial date numbers.

Data Types: double | char | string | datetime

Floating-rate note maturity date, specified as a NINST-by-1 vector using a datetime array, string array, date character vectors, or serial date numbers.

Data Types: double | char | string | datetime

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

Embedded option strike price values for option specified as nonnegative integers using as NINST-by-NSTRIKES or NINST-by-1 vector of strike price values, depending on the type of option.

  • For a European or Bermuda Option — NINST-by-NSTRIKES matrix of strike price values where 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 embedded option, specified as a NINST-by-NSTRIKES or NINST-by-2 vector using a datetime array, string array, date character vectors, or serial date numbers, depending on the type of option.

  • For a European or Bermuda Option — NINST-by-NSTRIKES of exercise dates where 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.

Data Types: double | char | string | datetime

Variable containing an existing collection of instruments, specified as a struct. Instruments are classified by type; each type can have different data fields. The stored data field is a row vector or character vector for each instrument. For more information on instrument data parameters, see the reference entries for individual instrument types. For example, see instfloat for additional information on the float instrument.

Data Types: struct

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

Example: InstSet = instoptemfloat(Spread,Settle,Maturity,OptSpec,Strike,ExerciseDates,'FloatReset',Reset)

Embedded option type, specified as the comma-separated pair consisting of 'AmericanOpt' and a NINST-by-1 positive integer scalar flags with values:

  • For a European or Bermuda option — AmericanOpt is 0 for each European or Bermuda option. The default is 0 if AmericanOpt is NaN or not entered.

  • 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

Frequency of payments per year, specified as the comma-separated pair consisting of 'FloatReset' and positive integers for the values 1,2,4,6,12] in a NINST-by-1 vector.

Data Types: single | double

Day-count basis of the instrument, specified as the comma-separated pair consisting of 'Basis' and a positive integer using a NINST-by-1 vector. The Basis value represents the basis used when annualizing the input forward-rate tree.

  • 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

For more information, see Basis.

Data Types: single | double

Principal values, specified as the comma-separated pair consisting of 'Principal' and a nonnegative integer using a NINST-by-1 vector of notional principal amounts.

Data Types: single | double

Structure containing derivatives pricing options, specified as the comma-separated pair consisting of 'Options' and a structure using derivset.

Data Types: struct

End-of-month rule flag, specified as the comma-separated pair consisting of 'EndMonthRule' and a nonnegative integer [0, 1] using a NINST-by-1 vector. This rule applies only when Maturity is an end-of-month date for a month having 30 or fewer days.

  • 0 = Ignore rule, meaning that a bond coupon payment date is always the same numerical day of the month.

  • 1 = Set rule on, meaning that a bond coupon payment date is always the last actual day of the month.

Data Types: single | double

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.

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

NFIELDS-by-1 cell array of character vectors listing the data class of each field.

Character vector specifying the type of instrument added where TypeString = 'OptEmFloat'.

Version History

Introduced in R2013a