в реальном времени

Томсоновское Агентство Рейтер Elektron данные о рынке в реальном времени

Синтаксис

reqid = realtime(c,seclist,eventhandler)
reqid = realtime(c,r,eventhandler)

Описание

пример

reqid = realtime(c,seclist,eventhandler) возвращает идентификатор запроса в реальном времени с помощью связи Thomson Reuters Elektron®, списка безопасности и функции обработчика событий. Можно получить Томсона Агентство Рейтер Elektron данные о рынке в реальном времени путем доступа к переменным, которые появляются в рабочей области MATLAB®.

пример

reqid = realtime(c,r,eventhandler) получает Томсона Агентство Рейтер Elektron данные о рынке в реальном времени с помощью Агентства Рейтер Томсона Elektron пользовательское сообщение запроса.

Примеры

свернуть все

Во-первых, создайте связь Агентства Рейтер Томсона Elektron. Затем получите данные о рынке в реальном времени. Закройте связь. Данные о рынке в реальном времени, которые вы видите при выполнении этого кода, могут отличаться от выходных данных здесь.

Добавьте Томсона файлы JAR Агентства Рейтер Elektron в динамический путь к классу Java®. Найдите эти файлы JAR в папке установки. Здесь, папкой установки является i:\Elektron.

javaaddpath i:\Elektron\ansipage.jar
javaaddpath i:\Elektron\ema-javadoc.jar
javaaddpath i:\Elektron\ema.jar
javaaddpath i:\Elektron\jdacsUpalib.jar
javaaddpath i:\Elektron\upa.jar
javaaddpath i:\Elektron\upaValueAdd.jar
javaaddpath i:\Elektron\upaValueAddCache.jar
javaaddpath i:\Elektron\commons-configuration-1.10.jar
javaaddpath i:\Elektron\commons-lang-2.6.jar
javaaddpath i:\Elektron\commons-logging-1.2.jar
javaaddpath i:\Elektron\org.apache.commons.collections.jar
javaaddpath i:\Elektron\slf4j-api-1.7.12.jar
javaaddpath i:\Elektron\slf4j-jdk14-1.7.12.jar

Также добавьте эти файлы JAR в статический путь к классу Java. Для получения дополнительной информации о динамических и статических путях к классам, смотрите Путь к классу Java (MATLAB).

Соедините с Томсоном Агентство Рейтер Elektron с помощью сервисного имени и имени пользователя.

c является объектом elektron.

username = 'username';
servicename = 'servicename';

c = elektron(username,servicename);

Получите данные о рынке в реальном времени для безопасности IBM® с помощью связи Агентства Рейтер Томсона Elektron. Используйте функцию обработчика событий в качестве примера elektronExampleListener. Чтобы получить доступ к коду для этой функции, введите edit elektronExampleListener.m.

reqid является структурой, которая содержит эти поля:

  • ReqId — Запросите идентификатор для запроса данных реального времени

  • ReqMsg — Томсоновский объект запроса API сообщения Агентства Рейтер Elektron

  • Объект процесса прослушивателя события Handle — MATLAB

  • Прослушиватель Объект прослушивателя события MATLAB

seclist = 'IBM.N';
eventhandler = @(~,ev)elektronExampleListener(ev);
reqid = realtime(c,seclist,eventhandler)
reqid = 

 struct with fields:

      ReqId: 5
     ReqMsg: [1×1 com.thomsonreuters.ema.access.ReqMsgImpl]
     Handle: [1×1 datafeedElektron]
   Listener: [1×1 handle.listener]

Массив ячеек IBM появляется в рабочем пространстве MATLAB. IBM содержит четыре столбца. Столбцы:

  • Томсоновский идентификатор поля Reuters Elektron

  • Томсоновское имя поля Агентства Рейтер Elektron

  • Томсоновский тип данных поля Reuters Elektron

  • Томсоновское значение данных реального времени поля Reuters Elektron

Доступ к данным реального времени в массиве ячеек. Доступ к имени поля Агентства Рейтер Томсона Elektron во втором столбце и текущему значению данных в четвертом столбце.

field = IBM{1,2}; 
value = IBM{1,4};

Для событий, которые не имеют имени события или которые не сопоставлены с безопасностью, объект ElektronExampleData появляется в рабочем пространстве MATLAB. Этот объект содержит декодируемые данные о событиях. Просмотрите содержимое этого объекта. Содержимое этого объекта отличается в зависимости от события Thomson Reuters Elektron.

ElektronExampleData
ElektronExampleData =

UpdateMsg
    streamId="10"
    domain="MarketPrice Domain"
    updateTypeNum="1"
    Payload dataType="FieldList"
        FieldList
            FieldEntry fid="22" name="BID" dataType="Real" value="57.1"
            FieldEntry fid="25" name="ASK" dataType="Real" value="57.11"
            FieldEntry fid="30" name="BIDSIZE" dataType="Real" value="22.0"
            FieldEntry fid="31" name="ASKSIZE" dataType="Real" value="39.0"
            FieldEntry fid="11683" name="BIDFINMMID" dataType="Rmtes" value="(blank data)"
            FieldEntry fid="11684" name="ASKFINMMID" dataType="Rmtes" value="(blank data)"
            FieldEntry fid="3298" name="BIDXID" dataType="Enum" value="43"
            FieldEntry fid="3297" name="ASKXID" dataType="Enum" value="6"
            FieldEntry fid="6579" name="BID_COND_N" dataType="Rmtes" value="R"
            FieldEntry fid="6580" name="ASK_COND_N" dataType="Rmtes" value="R"
            FieldEntry fid="293" name="BID_MMID1" dataType="Rmtes" value="NAS"
            FieldEntry fid="296" name="ASK_MMID1" dataType="Rmtes" value="XPH"
            FieldEntry fid="1000" name="GV1_TEXT" dataType="Rmtes" value="A"
            FieldEntry fid="8937" name="LIMIT_INDQ" dataType="Enum" value="25"
            FieldEntry fid="3887" name="SEQNUM_QT" dataType="Real" value="1.6923329E7"
            FieldEntry fid="118" name="PRC_QL_CD" dataType="Enum" value="0"
            FieldEntry fid="3264" name="PRC_QL3" dataType="Enum" value="0"
            FieldEntry fid="8406" name="QTE_ORIGIN" dataType="Rmtes" value=" "
            FieldEntry fid="1041" name="GV1_FLAG" dataType="Rmtes" value=" "
            FieldEntry fid="12783" name="NBBO_IND" dataType="Enum" value="5"
            FieldEntry fid="3855" name="QUOTIM_MS" dataType="UInt" value="62664591"
            FieldEntry fid="1025" name="QUOTIM" dataType="Time" value="17:24:24:000:000:000"
            FieldEntry fid="14238" name="ORDRECV_MS" dataType="Time" value="17:24:24:590:000:000"
            FieldEntry fid="14246" name="ORDREC2_MS" dataType="Time" value="(blank data)"
        FieldListEnd
    PayloadEnd
UpdateMsgEnd

Остановите подписку данных реального времени.

delete(reqid.Listener)

Закройте связь Агентства Рейтер Томсона Elektron.

close(c)

Во-первых, создайте связь Агентства Рейтер Томсона Elektron. Затем получите последние торговые ценовые данные в реальном времени. Закройте связь. Данные о рынке в реальном времени, которые вы видите при выполнении этого кода, могут отличаться от выходных данных здесь.

Добавьте Томсона файлы JAR Агентства Рейтер Elektron в динамический путь к классу Java. Найдите эти файлы JAR в папке установки. Здесь, папкой установки является i:\Elektron.

javaaddpath i:\Elektron\ansipage.jar
javaaddpath i:\Elektron\ema-javadoc.jar
javaaddpath i:\Elektron\ema.jar
javaaddpath i:\Elektron\jdacsUpalib.jar
javaaddpath i:\Elektron\upa.jar
javaaddpath i:\Elektron\upaValueAdd.jar
javaaddpath i:\Elektron\upaValueAddCache.jar
javaaddpath i:\Elektron\commons-configuration-1.10.jar
javaaddpath i:\Elektron\commons-lang-2.6.jar
javaaddpath i:\Elektron\commons-logging-1.2.jar
javaaddpath i:\Elektron\org.apache.commons.collections.jar
javaaddpath i:\Elektron\slf4j-api-1.7.12.jar
javaaddpath i:\Elektron\slf4j-jdk14-1.7.12.jar

Также добавьте эти файлы JAR в статический путь к классу Java. Для получения дополнительной информации о динамических и статических путях к классам, смотрите Путь к классу Java (MATLAB).

Соедините с Томсоном Агентство Рейтер Elektron с помощью сервисного имени и имени пользователя.

c является объектом elektron.

username = 'username';
servicename = 'servicename';

c = elektron(username,servicename);

Получите данные о рынке в реальном времени для безопасности IBM с помощью связи Агентства Рейтер Томсона Elektron. Используйте функцию обработчика событий в качестве примера elektronPriceTableListener. Чтобы получить доступ к коду для этой функции, введите edit elektronPriceTableListener.m.

reqid является структурой, которая содержит эти поля:

  • ReqId — Запросите идентификатор для запроса данных реального времени

  • ReqMsg — Томсоновский объект запроса API сообщения Агентства Рейтер Elektron

  • Объект процесса прослушивателя события Handle — MATLAB

  • Прослушиватель Объект прослушивателя события MATLAB

seclist = 'IBM.N';
eventhandler = @(~,ev)elektronPriceTableListener(ev,seclist);
reqid = realtime(c,seclist,eventhandler)
reqid = 

 struct with fields:

      ReqId: 5
     ReqMsg: [1×1 com.thomsonreuters.ema.access.ReqMsgImpl]
     Handle: [1×1 datafeedElektron]
   Listener: [1×1 handle.listener]

Таблица PriceTable появляется в рабочем пространстве MATLAB. PriceTable содержит эти переменные:

  • RIC — RIC для безопасности IBM

  • TRDPRC_1 — В последний раз торгуйте ценовыми данными

Томсоновское Агентство Рейтер Elektron постоянно обновляет переменную TRDPRC_1 с последней торговой ценой в строке таблицы.

Доступ к последней торговой цене в режиме реального времени за безопасность IBM.

PriceTable.TRDPRC_1
ans =

  163.2600

Остановите подписку данных реального времени.

delete(reqid.Listener)

Закройте связь Агентства Рейтер Томсона Elektron.

close(c)

Во-первых, создайте связь Агентства Рейтер Томсона Elektron. Затем получите данные реального времени с помощью пользовательского сообщения запроса. Закройте связь. Данные о рынке в реальном времени, которые вы видите при выполнении этого кода, могут отличаться от выходных данных здесь.

Добавьте Томсона файлы JAR Агентства Рейтер Elektron в динамический путь к классу Java. Найдите эти файлы JAR в папке установки. Здесь, папкой установки является i:\Elektron.

javaaddpath i:\Elektron\ansipage.jar
javaaddpath i:\Elektron\ema-javadoc.jar
javaaddpath i:\Elektron\ema.jar
javaaddpath i:\Elektron\jdacsUpalib.jar
javaaddpath i:\Elektron\upa.jar
javaaddpath i:\Elektron\upaValueAdd.jar
javaaddpath i:\Elektron\upaValueAddCache.jar
javaaddpath i:\Elektron\commons-configuration-1.10.jar
javaaddpath i:\Elektron\commons-lang-2.6.jar
javaaddpath i:\Elektron\commons-logging-1.2.jar
javaaddpath i:\Elektron\org.apache.commons.collections.jar
javaaddpath i:\Elektron\slf4j-api-1.7.12.jar
javaaddpath i:\Elektron\slf4j-jdk14-1.7.12.jar

Также добавьте эти файлы JAR в статический путь к классу Java. Для получения дополнительной информации о динамических и статических путях к классам, смотрите Путь к классу Java (MATLAB).

Соедините с Томсоном Агентство Рейтер Elektron с помощью сервисного имени и имени пользователя.

c является объектом elektron.

username = 'username';
servicename = 'servicename';

c = elektron(username,servicename);

Создайте пользовательское сообщение запроса для безопасности Apple. Введите этот код API сообщения Агентства Рейтер Томсона Elektron.

import com.thomsonreuters.ema.access.*;
import com.thomsonreuters.ema.access.OmmConsumerConfig.*;

r = EmaFactory.createReqMsg;
r.serviceName(c.Service).name('AAPL.O');

Получите последние торговые ценовые данные с помощью связи Агентства Рейтер Томсона Elektron и пользовательского сообщения запроса. Используйте функцию обработчика событий в качестве примера elektronExampleListener. Чтобы получить доступ к коду для этой функции, введите edit elektronExampleListener.m.

reqid является структурой, которая содержит эти поля:

  • ReqId — Запросите идентификатор для запроса данных реального времени

  • ReqMsg — Томсоновский объект запроса API сообщения Агентства Рейтер Elektron

  • Объект процесса прослушивателя события Handle — MATLAB

  • Прослушиватель Объект прослушивателя события MATLAB

eventhandler = @(~,ev)elektronExampleListener(ev);
reqid = realtime(c,r,eventhandler)
reqid = 

 struct with fields:

      ReqId: 5
     ReqMsg: [1×1 com.thomsonreuters.ema.access.ReqMsgImpl]
     Handle: [1×1 datafeedElektron]
   Listener: [1×1 handle.listener]

Массив ячеек AAPL появляется в рабочем пространстве MATLAB.

Доступ к данным реального времени в массиве ячеек. Доступ к имени поля Агентства Рейтер Томсона Elektron во втором столбце и текущему значению данных в четвертом столбце.

field = AAPL{1,2}; 
value = AAPL{1,4};

Остановите подписку данных реального времени.

delete(reqid.Listener)

Закройте связь Агентства Рейтер Томсона Elektron.

close(c)

Входные параметры

свернуть все

Томсоновская связь Агентства Рейтер Elektron, заданная как объект elektron, создала использование функции elektron.

Томсоновский список безопасности Агентства Рейтер Elektron, заданный как вектор символов, представляет в виде строки скаляр, массив ячеек из символьных векторов или массив строк. Задайте ценные бумаги в списке безопасности как:

  • Вектор символов или строка для одной безопасности.

  • Массив ячеек из символьных векторов или массив строк для нескольких ценных бумаг. Каждый вектор символов в массиве ячеек или каждая строка в массиве строк являются безопасностью Агентства Рейтер Томсона Elektron.

Безопасность является Инструментальным Кодом Reuters® (RIC). Для получения дополнительной информации о RICs, свяжитесь с Thomson Reuters®.

Пример: {'IBM.N','MSFT.O'}

Типы данных: cell | char | string

Томсоновское сообщение запроса Агентства Рейтер Elektron, заданное как объект запроса API сообщения Агентства Рейтер Томсона Elektron. Чтобы создать этот объект, используйте код API сообщения Агентства Рейтер Томсона Elektron. Для получения дополнительной информации смотрите Томсона Агентство Рейтер Elektron . Этот объект задает данные и параметры для пользовательского запроса сообщения.

Обработчик событий, заданный как указатель на функцию. Можно использовать функции обработки событий в качестве примера elektronExampleListener или elektronPriceTableListener, чтобы обработать Томсоновские события Reuters Elektron Message API в реальном времени. Или, можно задать пользовательскую функцию обработчика событий, чтобы обработать события по вашему выбору. Для получения дополнительной информации смотрите Запись и Выполнение Пользовательских Функций обработчика событий.

Функция обработчика событий elektronExampleListener создает массив ячеек для каждой безопасности во входном параметре seclist. Массив ячеек содержит данные реального времени для безопасности. Например, если seclist содержит 'IBM.N', то массив ячеек под названием IBM появляется в рабочем пространстве MATLAB.

Для событий без имени или которые не сопоставлены с RIC, функция обработчика событий создает объект под названием ElektronExampleData в рабочем пространстве MATLAB. Этот объект содержит декодируемые данные для этих событий. Тип объекта отличается в зависимости от текущего Томсоновского Reuters Elektron Message API вывод. Для получения дополнительной информации об этом объекте, смотрите Томсона Агентство Рейтер Elektron .

Эта таблица описывает столбцы в массивах ячеек для каждой безопасности, которые появляются в рабочем пространстве MATLAB.

Столбец массива ячеекОписание

Первый столбец

Томсоновский идентификатор поля Reuters Elektron

Второй столбец

Томсоновское имя поля Агентства Рейтер Elektron

Третий столбец

Томсоновский тип данных Агентства Рейтер Elektron поля Thomson Reuters Elektron

Четвертый столбец

Текущий Томсон значение данных Агентства Рейтер Elektron

elektronExampleListener функции обработчика событий имеет входной параметр ev, который задан как массив с четырьмя ячейками столбца, который содержит:

  • Декодируемые данные

  • Томсоновский объект-событие API сообщения Агентства Рейтер Elektron

  • Сообщение о событии

  • EventName

Другая функция обработчика событий elektronPriceTableListener составляет таблицу под названием PriceTable в рабочем пространстве MATLAB. Эта таблица содержит последнюю торговую цену за каждую безопасность во входном параметре seclist. Таблица содержит две переменные, RIC для безопасности и TRDPRC_1 за последнюю торговую цену соответствующей безопасности:

  • RIC возвращен как массив ячеек одного или нескольких векторов символов, которые зависят от количества ценных бумаг в списке безопасности.

  • TRDPRC_1 возвращен в виде числа для одной безопасности, или массив удваивается, который имеет значение для каждой безопасности в RIC.

Функция обработчика событий elektronPriceTableListener имеет список безопасности как дополнительный входной параметр. Список безопасности совпадает с содержимым seclist.

Чтобы получить доступ к коду для функции обработчика событий elektronExampleListener, введите edit elektronExampleListener.m. Чтобы получить доступ к коду для функции обработчика событий elektronPriceTableListener, введите edit elektronPriceTableListener.m.

Например, чтобы получить данные реального времени для IBM и ценных бумаг Microsoft®, введите этот код, который принимает установленного Томсона связь Агентства Рейтер Elektron c.

seclist = {'IBM.N','MSFT.O'};
reqId = realtime(c,seclist,@(~,ev)elektronExampleListener(ev));

Пример: @(~,ev)elektronExampleListener(ev)

Типы данных: function_handle

Выходные аргументы

свернуть все

Идентификатор запроса в реальном времени, возвращенный как структура с этими полями.

Поле Описание

ReqId

Запросите идентификатор для запроса данных реального времени

ReqMsg

Томсоновский объект запроса API сообщения Агентства Рейтер Elektron

Handle

Объект процесса прослушивателя события MATLAB

Listener

Объект прослушивателя события MATLAB

Для получения дополнительной информации об идентификаторе запроса и объекте запроса, смотрите Томсона Агентство Рейтер Elektron .

Для получения дополнительной информации о прослушивателях события MATLAB, см. Обзор событий и Прослушиватели (MATLAB).

Используйте идентификатор запроса в реальном времени, чтобы остановить подписку данных реального времени; например:

delete(reqid.Listener)

Советы

  • Если вы сталкиваетесь с проблемами с Томсоном поиск данных Агентства Рейтер Elektron, смотрите содержимое объекта ElektronExampleData в рабочем пространстве MATLAB. Например, если вы вводите недопустимый RIC, объект ElektronExampleData содержит сообщение о состоянии, которое указывает, что RIC не может быть найден. Чтобы получить такую информацию автоматически, запишите пользовательскую функцию обработчика событий, которая анализирует сообщения о состоянии в объекте ElektronExampleData. Для получения дополнительной информации о пользовательских функциях обработчика событий, смотрите Запись и Выполнение Пользовательских Функций обработчика событий. Для получения дополнительной информации о сообщениях о состоянии, смотрите Томсона Агентство Рейтер Elektron .

Введенный в R2017a