Quantcast

Documentation Center

  • Trial Software
  • Product Updates

instsetfield

Add or reset data for existing instruments

Syntax

InstSet = instsetfield(InstSet, 'FieldName', FieldList,
'Data', DataList)
InstSet = instsetfield(InstSet, 'FieldName', FieldList,
'Data', DataList, 'Index', IndexSet, 'Type', TypeList)

Arguments

InstSet

Variable containing a collection of instruments. Instruments are classified by type; each type can have different data fields. The stored data field is a row vector or string for each instrument. InstSet must be the first argument in the list.

FieldList

String or number of fields (NFIELDS)-by-1 cell array of strings listing the name of each data field. FieldList cannot be named with the reserved names Type or Index.

DataList

Number of instruments (NINST)-by-M array or NFIELDS-by-1 cell array of data contents 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.

IndexSet

NINST-by-1 vector of positions of instruments to work on. If TypeList is also entered, instruments referenced must be one of TypeList types and contained in IndexSet.

TypeList

String or number of types (NTYPES)-by-1 cell array of strings restricting instruments worked on to match one of TypeList types.

Argument value pairs can be entered in any order.

Description

instsetfield sets data for existing instruments in a collection variable.

InstSet = instsetfield(InstSet, 'FieldName', FieldList,
'Data', DataList)
resets or adds fields to every instrument.

InstSet = instsetfield(InstSet, 'FieldName', FieldList,
'Data', DataList, 'Index', IndexSet, 'Type', TypeList)
resets or adds fields to a subset of instruments.

The output InstSet is a new instrument set variable containing the input data.

Examples

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 new field Maturity for the cash instrument.

MDate = datenum('7/1/99');
ISet = instsetfield(ISet, 'Type', 'TBill', 'FieldName',... 
'Maturity','FieldClass', 'date', 'Data', MDate); 
instdisp(ISet) 
Index Type  Price  Maturity      
7     TBill 99     01-Jul-1999   

Create a new 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            

See Also

| | |

Was this topic helpful?