Create embedded option instrument on floating-rate note or add instrument to current portfolio
adds optional name-value pair arguments.InstSet
= instopemtfloat(___,Name,Value
)
to add InstSet
= instopemtfloat(InstSetOld
,Spread
,Settle
,Maturity
,OptSpec
,Strike
,ExerciseDates
)'OptEmFloat'
instruments to an instrument variable.
[
lists field metadata for the FieldList
,ClassList
,TypeString
]
= instoptemfloat'OptEmFloat'
instrument.
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
Spread
— Number of basis points over the reference rateNumber of basis points over the reference rate specified as a vector of nonnegative
integers for the number of instruments (NINST
)-by-1
).
Data Types: single
| double
Settle
— Settlement dates of floating-rate noteValuationDate
of HW Tree (default) | serial date number | character vector | cell array of character vectorsSettlement dates of floating-rate note, specified as serial date numbers or date
character vectors using a NINST
-by-1
vector or cell
array of character vector dates.
Data Types: double
| char
| cell
Maturity
— Floating-rate note maturity dateFloating-rate note maturity date, specified as date character vectors or as serial date
numbers using a NINST
-by-1
vector or cell array of
character vector dates.
Data Types: double
| char
| cell
OptSpec
— Definition of option 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
Strike
— Embedded option strike price valuesEmbedded 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
NaN
s.
For an American Option — NINST
-by-1
vector of strike price values for each option.
Data Types: single
| double
ExerciseDates
— Exercise date for embedded optionExercise date for embedded option, specified as serial date nonnegative numbers or date
character vectors using a NINST
-by-NSTRIKES
or
NINST
-by-2
vector of the option exercise dates,
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
| cell
InstSetOld
— Variable containing an existing collection of instrumentsVariable 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
Specify optional
comma-separated pairs of Name,Value
arguments. Name
is
the argument name and Value
is the corresponding value.
Name
must appear inside quotes. You can specify several name and value
pair arguments in any order as
Name1,Value1,...,NameN,ValueN
.
InstSet =
instoptemfloat(Spread,Settle,Maturity,OptSpec,Strike,ExerciseDates,'FloatReset',Reset)
'AmericanOpt'
— Embedded option type0
if AmericanOpt
is
NaN
or not entered (default) | scalar | vector of positive integers[0,1]
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
'FloatReset'
— Frequency of payments per year1
(default) | positive integer from the set[1,2,3,4,6, 12]
| vector of positive integers from the set [1,2,3,4,6,12]
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
'Basis'
— Day-count basis of the instrument0
(actual/actual) (default) | positive integers of the set [1...13]
| vector of positive integers of the set [1...13]
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'
— Principal values100
(default) | nonnegative integer | vector of nonnegative integers | cell array of nonnegative integersPrincipal 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
'Options'
— Structure containing derivatives pricing optionsStructure containing derivatives pricing options, specified as the comma-separated pair
consisting of 'Options'
and a structure using derivset
.
Data Types: struct
'EndMonthRule'
— End-of-month rule flag1
(in effect) (default) | nonnegative integer [0,1]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
InstSet
— Variable containing a collection of instrumentsVariable 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
.
FieldList
— Name of each data field NFIELDS
-by-1
cell array of character vectors
listing the name of each data field for this instrument type.
ClassList
— Determines how arguments are parsed'dble'
, 'date'
, or
'char'
| cell array of character vectors with values: 'dble'
,
'date'
, or 'char'
NFIELDS
-by-1
cell array of character vectors
listing the data class of each field.
TypeString
— Type of instrument added'OptEmFloat'
Character vector specifying the type of instrument added where
TypeString
= 'OptEmFloat'
.
You have a modified version of this example. Do you want to open this example with your edits?