instfloat
Construct floating-rate instrument
Syntax
Description
adds optional arguments.InstSet
= instfloat(___,FloatReset
,Basis
,Principal
,EndMonthRule
,CapRate
,FloorRate
)
[
lists field meta-data for the Float instrument.FieldList
,ClassList
,TypeString
] = instfixed
Examples
Create a Floating-Rate Instrument
Define the characteristics of the floating-rate instrument.
Spread = 2; Settle = datetime(2013,3,15); Maturity = datetime(2013,3,18); FloatReset = 4; Basis = 1; Principal = 1000; EndMonthRule = 1; CapRate = 0.35; FloorRate = 0.27;
Create the new floating-rate instrument.
ISet = instfloat(Spread, Settle, Maturity, FloatReset, Basis, Principal, ...
EndMonthRule, CapRate, FloorRate)
ISet = struct with fields:
FinObj: 'Instruments'
IndexTable: [1x1 struct]
Type: {'Float'}
FieldName: {{1x1 cell}}
FieldClass: {{1x1 cell}}
FieldData: {{1x1 cell}}
Display the floating-rate instrument.
instdisp(ISet)
Index Type Spread Settle Maturity FloatReset Basis Principal EndMonthRule CapRate FloorRate 1 Float 2 15-Mar-2013 18-Mar-2013 4 1 1000 1 0.35 0.27
Input Arguments
InstSet
— Instrument variable
structure
Instrument variable, specified only when adding Float
instruments to an existing instrument set. For more information
on the InstSet
variable, see instget
.
Data Types: struct
Spread
— Number of basis points over the reference rate
vector
Number of basis points over the reference rate, specified as a
scalar or an NINST
-by-1
vector.
Data Types: double
Settle
— Settlement date
datetime array | string array | date character vector
Settlement date, specified as a scalar or an
NINST
-by-1
vector
using a datetime array, string array, or date character
vectors.
To support existing code, instfloat
also
accepts serial date numbers as inputs, but they are not recommended.
Maturity
— Maturity date
datetime array | string array | date character vector
Maturity date, specified as a scalar or an
NINST
-by-1
vector
using a datetime array, string array, or date character vectors
representing the maturity date for each floating-rate
note.
To support existing code, instfloat
also
accepts serial date numbers as inputs, but they are not recommended.
FloatReset
— Frequency of payments per year
1
(default) | vector
(Optional) Frequency of payments per year, specified as a scalar
or an NINST
-by-1
vector.
Data Types: double
Basis
— Day count basis
0
(actual/actual) (default) | integer from 0
to
13
(Optional) Day count basis, specified as a scalar or an
NINST
-by-1
vector.
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: double
Principal
— Notional principal amounts or principal value schedules
100
(default) | vector or cell array
(Optional) Notional principal amounts, specified as a scalar, vector, or cell array.
Principal
accepts a
NINST
-by-1
vector or
NINST
-by-1
cell
array, where each element of the cell array is a
NumDates
-by-2
cell
array and the first column is dates and the second column is its
associated notional principal value. The date indicates the last
day that the principal value is valid.
Data Types: cell
| double
EndMonthRule
— End-of-month rule flag for generating dates when Maturity
is end-of-month date for month
having 30 or fewer days
1
(in effect) (default) | nonnegative integer [0,1]
(Optional) End-of-month rule flag for generating dates when
Maturity
is an end-of-month date for a
month having 30 or fewer days, specified a scalar nonnegative
integer 0
or 1
or an
NINST
-by-1
vector.
0
= Ignore rule, meaning that a payment date is always the same numerical day of the month.1
= Set rule on, meaning that a payment date is always the last actual day of the month.
Data Types: logical
CapRate
— Annual cap rate
decimal
(Optional) Annual cap rate, specified as a scalar or an
NINST
-by-1
decimal
annual rate or NINST
-by-1
cell array, where each element is a
NumDates
-by-2
cell
array, and the cell array first column is dates, and the second
column is associated cap rates. The date indicates the last day
that the cap rate is valid.
Data Types: double
| cell
FloorRate
— Annual floor rate
decimal
(Optional) Annual floor rate, specified as a scalar or an
NINST
-by-1
decimal
annual rate or NINST
-by-1
cell array, where each element is a
NumDates
-by-2
cell
array, and the cell array first column is dates, and the second
column is associated floor rates. The date indicates the last
day that the floor rate is valid.
Data Types: double
| cell
Output Arguments
InstSet
— Variable containing a collection of instruments
structure
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
.
FieldList
— Name of each data field for Float instrument
cell array of character vectors
Name of each data field for a Float instrument, returned as an
NFIELDS
-by-1
cell
array of character vectors.
ClassList
— Data class for each field
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'
.
TypeString
— Type of instrument
character vector
Type of instrument, returned as a character vector. For a Float
instrument, TypeString = 'Float'
.
More About
Floating-Rate Note
A floating-rate note is a security like a bond, but the interest rate of the note is reset periodically, relative to a reference index rate, to reflect fluctuations in market interest rates.
Version History
Introduced in R2012bR2022b: Serial date numbers not recommended
Although instfloat
supports serial date numbers,
datetime
values are recommended instead. The
datetime
data type provides flexible date and time
formats, storage out to nanosecond precision, and properties to account for time
zones and daylight saving time.
To convert serial date numbers or text to datetime
values, use the datetime
function. For example:
t = datetime(738427.656845093,"ConvertFrom","datenum"); y = year(t)
y = 2021
There are no plans to remove support for serial date number inputs.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)