Данные из инструментальной переменной
[Data_1,Data_2,...,Data_n] = instget(InstSet,'FieldName',FieldList,'Index',IndexSet,'Type',TypeList)
| Переменная, содержащая набор инструментов. Инструменты классифицируются типом; каждый тип может иметь различные поля данных. Сохраненное поле данных является вектором-строкой или вектором символов для каждого инструмента. |
| (Необязательно) Количество полей, заданных как |
| (Необязательно) Количество инструментов, заданных как |
| (Необязательно) Количество типов, заданных как |
Пары значения аргумента могут быть введены в любой порядок. InstSet
переменная должна быть первым аргументом.
[Data_1,Data_2,...,Data_n] = instget(InstSet,'FieldName',FieldList,'Index',IndexSet,'Type',TypeList)
получает массивы данных из инструментальной переменной.
Data_1
NINST
- M
массив содержимого данных для первого поля в FieldList
. Каждая строка соответствует отдельному инструменту в IndexSet
. Недоступные данные возвращены как NaN
или как пробелы.
Data_n
NINST
- M
массив содержимого данных для последнего поля в FieldList
.
Получите инструментальный набор ExampleInst
из файла данных. InstSetExamples.mat
. ExampleInst
содержит три типа инструментов: Option
, Futures
, и 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
Извлеките цену из всех инструментов.
P = instget(ExampleInst,'FieldName','Price')
P = 12.2000 9.2000 6.8000 NaN 7.4000 2.9000 99.0000
Получите все цены и количество сохраненных контрактов.
[P,C] = instget(ExampleInst, 'FieldName', {'Price', 'Contracts'})
P = 12.2000 9.2000 6.8000 Nan 7.4000 2.9000 99.0000 C = 0 0 1000 -1000 -1000 0 6
Вычислите значение V
. Создайте новую переменную ISet
это добавляет V
к ExampleInst
.
V = P.*C ISet = instsetfield(ExampleInst, 'FieldName', 'Value', 'Data',... V); instdisp(ISet)
Index Type Strike Price Opt Contracts Value 1 Option 95 12.2 Call 0 0 2 Option 100 9.2 Call 0 0 3 Option 105 6.8 Call 1000 6800 Index Type Delivery F Contracts Value 4 Futures 01-Jul-1999 104.4 -1000 NaN Index Type Strike Price Opt Contracts Value 5 Option 105 7.4 Put -1000 -7400 6 Option 95 2.9 Put 0 0 Index Type Price Maturity Contracts Value 7 TBill 99 01-Jul-1999 6 594
Посмотрите только на инструменты, которые имеют ненулевой Contracts
.
Ind = find(C ~= 0)
Ind = 3 4 5 7
Получите Type
и Opt
параметры от тех инструментов. (Только опции имеют сохраненный 'Opt'
поле .
[T,O] = instget(ExampleInst, 'Index', Ind, 'FieldName',... {'Type', 'Opt'})
T = Option Futures Option TBill O = Call Put
Создайте отчет активов Type
, Opt
, и Value
.
rstring = [T, O, num2str(V(Ind))]
rstring = Option Call 6800 Futures NaN Option Put -7400 TBill 594