Этот пример показывает, как соединиться с Thomson Reuters Elektron® и инициировать решение покупки для нескольких RICs использование Томсона в реальном времени Агентство Рейтер Elektron последняя торговая цена.
Пример использует демонстрационную функцию обработчика событий elektronExampleListener
, чтобы получить данные реального времени для нескольких ценных бумаг в соответствующих переменных рабочей области MATLAB®. Используйте эту функцию обработчика событий или запишите пользовательскую функцию обработчика событий. Для получения дополнительной информации смотрите Запись и Выполнение Пользовательских Функций обработчика событий.
Чтобы получить доступ к коду для этого примера, введите edit ElektronWorkflow.m
.
Добавьте Томсона файлы 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® и ценных бумаг Microsoft® с помощью связи Агентства Рейтер Томсона Elektron. Используйте функцию обработчика событий в качестве примера elektronExampleListener
. Функция realtime
возвращает переменную reqid
как структуру, которая содержит эти поля:
ReqId
— Запросите идентификатор для запроса данных реального времени
ReqMsg
— Томсоновский объект запроса API сообщения Агентства Рейтер Elektron
Объект процесса прослушивателя события Handle
— MATLAB
Прослушиватель
Объект прослушивателя события MATLAB
seclist = {'IBM.N','MSFT.O'}; 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
и MSFT
появляются в рабочем пространстве MATLAB. Каждый массив ячеек содержит те же четыре столбца. Столбцы:
Томсоновский идентификатор поля Reuters Elektron
Томсоновское имя поля Агентства Рейтер Elektron
Томсоновский тип данных поля Reuters Elektron
Томсоновское значение данных реального времени поля Reuters Elektron
Примите ценовой порог 175$ для безопасности IBM. Определите, составляет ли последняя торговая цена меньше чем 175$. Установите индикатор buynow
покупки на true
, когда порогу будут соответствовать. Первый столбец в массиве ячеек IBM
содержит полевой идентификатор. Четвертый столбец в массиве ячеек содержит значение поля. Найдите Агентство Рейтер Томсона Elektron последней торговой ценой полевым идентификатором 6
.
for i = 1:length(IBM) if (IBM{i,1} == 6) % Find last trade price if (IBM{i,4} < 175) % Trigger buy price threshold buynow = true; end end end
Используйте индикатор покупки, чтобы создать приказ на покупку для долей IBM в торговой системе по вашему выбору.
Примите ценовой порог 75$ для Защиты Microsoft. Определите, составляет ли последняя торговая цена меньше чем 75$. Установите индикатор buynow
покупки на true
, когда порогу будут соответствовать. Первый столбец в массиве ячеек MSFT
содержит полевой идентификатор. Четвертый столбец в массиве ячеек содержит значение поля. Найдите Агентство Рейтер Томсона Elektron последней торговой ценой полевым идентификатором 6
.
for i = 1:length(MSFT) if (MSFT{i,1} == 6) % Find last trade price if (MSFT{i,4} < 75) % Trigger buy price threshold buynow = true; end end end
Используйте индикатор покупки, чтобы создать приказ на покупку для долей Microsoft в торговой системе по вашему выбору.
delete(reqid.Listener)
close(c)