В этом примере показано, как соединиться с 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
Listener
— Объект прослушивателя события 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)