instselect

Create instrument subset by matching conditions

Description

example

InstSubSet = instselect(InstSet,Name,Value) returns a variable containing a collection of instruments matching the input criteria.

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 new portfolio containing only options struck at 95.

Opt95 = instselect(ExampleInst, 'FieldName', 'Strike','Data', '95') 
Opt95 = struct with fields:
        FinObj: 'Instruments'
    IndexTable: [1x1 struct]
          Type: {3x1 cell}
     FieldName: {3x1 cell}
    FieldClass: {3x1 cell}
     FieldData: {3x1 cell}

instdisp(Opt95)
Index Type   Strike Price Opt  Contracts
1     Option  95    12.2  Call     0    
2     Option  95     2.9  Put      0    
 

Make a new portfolio containing only futures and Treasury bills.

FutTBill = instselect(ExampleInst,'Type',{'Futures';'TBill'})
FutTBill = struct with fields:
        FinObj: 'Instruments'
    IndexTable: [1x1 struct]
          Type: {3x1 cell}
     FieldName: {3x1 cell}
    FieldClass: {3x1 cell}
     FieldData: {3x1 cell}

instdisp(FutTBill)
Index Type    Delivery       F     Contracts
1     Futures 01-Jul-1999    104.4 -1000    
 
Index Type  Price Maturity       Contracts
2     TBill 99    01-Jul-1999    6        
 

Input Arguments

collapse all

Instrument variable containing a collection of instruments, specified as InstSet 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 Pair Arguments

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.

Example: Opt95 = instselect(ExampleInst,'FieldName','Strike','Data','95')

Name of each data field for an instrument, specified as the comma-separated pair consisting of 'FieldName' and an NFIELDS-by-1 cell array of character vectors.

Data Types: char | cell

Data values for field, specified as the comma-separated pair consisting of 'Data' and an 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: double | cell

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

Data Types: double

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 Type types. The default is all types in the instrument variable.

Data Types: char | cell

Output Arguments

collapse all

Variable containing a collection of instruments matching the input criteria, returned as a structure. Instruments are returned in InstSubSet if all the FieldName, Index, and Type conditions are met. An instrument meets an individual FieldName condition if the value matches any of the rows listed in the Data for that FieldName. See instfind for examples on matching criteria.

Introduced before R2006a