Main Content

instsetfield

Add or reset data for existing instruments

Description

example

InstSet = instsetfield(InstSet,Name,Value) resets or adds fields to every instrument.

Examples

collapse all

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

load InstSetExamples; 
ISet = ExampleInstSF;
instdisp(ISet)
Index Type   Strike Price Opt 
1     Option  95    12.2  Call
2     Option 100     9.2  Call
3     Option 105     6.8  Call
 
Index Type    Delivery       F    
4     Futures 01-Jul-1999    104.4
 
Index Type   Strike Price Opt 
5     Option 105     7.4  Put 
6     Option NaN     NaN  Put 
 
Index Type  Price
7     TBill 99   
 

Enter data for the option in Index 6: Price 2.9 for a Strike of 95.

ISet = instsetfield(ISet, 'Index',6,... 
'FieldName',{'Strike','Price'}, 'Data',{ 95 , 2.9 }); 
instdisp(ISet) 
Index Type   Strike Price Opt 
1     Option  95    12.2  Call
2     Option 100     9.2  Call
3     Option 105     6.8  Call
 
Index Type    Delivery       F    
4     Futures 01-Jul-1999    104.4
 
Index Type   Strike Price Opt 
5     Option 105     7.4  Put 
6     Option  95     2.9  Put 
 
Index Type  Price
7     TBill 99   
 

Create a field Maturity for the cash instrument.

MDate = datetime(1999,7,1);
ISet = instsetfield(ISet, 'Type', 'TBill', 'FieldName',... 
'Maturity','FieldClass', 'date', 'Data', MDate); 
instdisp(ISet) 
Index Type   Strike Price Opt 
1     Option  95    12.2  Call
2     Option 100     9.2  Call
3     Option 105     6.8  Call
 
Index Type    Delivery       F    
4     Futures 01-Jul-1999    104.4
 
Index Type   Strike Price Opt 
5     Option 105     7.4  Put 
6     Option  95     2.9  Put 
 
Index Type  Price Maturity      
7     TBill 99    01-Jul-1999   
 

Create a field Contracts for all instruments.

ISet = instsetfield(ISet, 'FieldName', 'Contracts', 'Data', 0); 
instdisp(ISet)
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 0        
 
Index Type    Delivery       F     Contracts
4     Futures 01-Jul-1999    104.4 0        
 
Index Type   Strike Price Opt  Contracts
5     Option 105     7.4  Put  0        
6     Option  95     2.9  Put  0        
 
Index Type  Price Maturity       Contracts
7     TBill 99    01-Jul-1999    0        
 

Set the Contracts fields for some instruments.

ISet = instsetfield(ISet,'Index',[3; 5; 4; 7],... 
'FieldName','Contracts',  'Data', [1000; -1000; -1000; 6]); 
instdisp(ISet)
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        
 

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 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: ISet = instsetfield(ISet,'Index',6,'FieldName',{'Strike','Price'},'Data',{ 95 , 2.9 })

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 in a data array corresponds to a separate instrument. Single rows are copied to apply to all instruments to be worked on. The number of columns is arbitrary and data is padded along columns.

Data Types: double | cell

Number of instruments, specified as the comma-separated pair consisting of 'Index' and an NINST-by-1 vector of positions of instruments to work on. If Type is also entered, instruments referenced must be one of Type types contained in Index.

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 worked on to match one of Type types.

Data Types: char | cell

Output Arguments

collapse all

Instrument set variable containing the input data, returned as a structure.

Version History

Introduced before R2006a