Main Content

instfind

Search instruments for matching conditions

Description

IndexMatch = instfind(InstSet,'Field','Data') returns indices of instruments matching name-value pair arguments for 'Field' and 'Data'.

example

IndexMatch = instfind(___,Name,Value) adds optional name-value pair arguments for Index and Type.

example

Examples

collapse all

Retrieve the instrument set variable ExampleInst from the data file InstSetExamples.mat. ExampleInst contains three types of instruments: Option, Futures, and TBill.

load InstSetExamples; 
instdisp(ExampleInst)
Index Type   Strike Price Opt  Contracts
1     Option  95    12.2  Call     0    
2     Option 100     9.2  Call     0    
3     Option 105     6.8  Call  1000    
 
Index Type    Delivery       F     Contracts
4     Futures 01-Jul-1999    104.4 -1000    
 
Index Type   Strike Price Opt  Contracts
5     Option 105     7.4  Put  -1000    
6     Option  95     2.9  Put      0    
 
Index Type  Price Maturity       Contracts
7     TBill 99    01-Jul-1999    6        
 

Make a vector, Opt95, containing the indexes within ExampleInst of the options struck at 95.

Opt95 = instfind(ExampleInst, 'FieldName','Strike','Data','95')
Opt95 = 2×1

     1
     6

Locate the futures and Treasury bill instruments within ExampleInst.

Types = instfind(ExampleInst,'Type',{'Futures';'TBill'})
Types = 2×1

     4
     7

Input Arguments

collapse all

Instrument variable for a collection of instruments, specified as an instrument set structure. 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 the InstSet variable, see instget.

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: IndexMatch = instfind(ExampleInst,'Type',{'Futures';'TBill'})

Number of fields, specified as the comma-separated pair consisting of 'FieldName' and an NFIELDS-by-1 cell array of character vectors listing the name of each data field to match with data values.

Data Types: char | cell

Number of values, specified as the comma-separated pair consisting of 'Data' and a NVALUES-by-M array or NFIELDS-by-1 cell array of acceptable data values for each field. Each row lists a data row value to search for in the corresponding FieldName. The number of columns is arbitrary and matching ignores trailing NaNs or spaces.

Data Types: char | cell

Number of instruments, specified as the comma-separated pair consisting of 'Index' and a NINST-by-1 vector restricting positions of instruments to check for matches. The default is all indices available in the instrument variable.

Data Types: char | cell

Number of types, specified as the comma-separated pair consisting of 'Type' and a NTYPES-by-1 cell array of character vectors restricting instruments to match one of types. The default is all types in the instrument variable.

Data Types: char | cell

Output Arguments

collapse all

Positions of instruments matching the input criteria, returned as an NINST-by-1 vector of positions of instruments matching the input criteria. Instruments are returned in IndexMatch if all the Field, Index, and Type conditions are met.

Version History

Introduced before R2006a