Данные из инструментальной переменной
[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