В этом примере показано, как подключиться к Bloomberg ® EMSX, настроить заказ и маршрутизацию подписки, создать и маршрутизировать заказ и взаимодействовать с маршрутом.
Для получения подробной информации о Bloomberg EMSX см. Руководство программиста EMSX API с использованием опции WAPI < GO > на терминале Bloomberg.
Подключитесь к тестовой службе Bloomberg EMSX. Отображение текущего содержимого очереди событий с помощью processEvent.
c = emsx('//blp/emapisvc_beta');
processEvent(c)c =
emsx with properties:
Session: [1x1 com.bloomberglp.blpapi.Session]
Service: [1x1 com.bloomberglp.blpapi.impl.aQ]
Ipaddress: 'localhost'
Port: 8194
SessionConnectionUp = {
server = localhost/127.0.0.1:8194
}
SessionStarted = {
}
ServiceOpened = {
serviceName = //blp/emapisvc_beta
} Возврат MATLAB ®c в качестве соединения с тестовым сервисом Bloomberg EMSX со следующим:
Объект сеанса EMSX Bloomberg
Объект сервиса Bloomberg EMSX
IP-адрес машины, на которой запущена служба тестирования Bloomberg EMSX
Номер порта машины, на которой запущена служба тестирования Bloomberg EMSX
processEvent отображает события, связанные с подключением к Bloomberg EMSX.
Подписаться на заказ событий с помощью подключения Bloomberg EMSX c связанные с этими полями Bloomberg EMSX.
fields = {'EMSX_TICKER','EMSX_AMOUNT','EMSX_FILL'};
[events,osubs] = orders(c,fields)events =
MSG_TYPE: {'E'}
MSG_SUB_TYPE: {'O'}
EVENT_STATUS: 4
...
osubs =
com.bloomberglp.blpapi.SubscriptionList@4bc3dc78
events содержит поля для событий, связанных с существующими заказами Bloomberg EMSX. osubs содержит объект списка подписок Bloomberg EMSX.
Подписаться на маршрутизацию событий для полей Bloomberg EMSX EMSX_BROKER и EMSX_WORKING с помощью подключения Bloomberg EMSX c. Возвращает статус для существующих маршрутов.
fields = {'EMSX_BROKER','EMSX_WORKING'};
[events,rsubs] = routes(c,fields)events =
MSG_TYPE: {5x1 cell}
MSG_SUB_TYPE: {5x1 cell}
EVENT_STATUS: [5x1 int32]
...
rsubs =
com.bloomberglp.blpapi.SubscriptionList@463b9287events содержит поля для событий, находящихся в данный момент в очереди событий. rsubs содержит объект списка подписок Bloomberg EMSX.
Создание структуры запроса заказа order для определения параметров заказа. Этот код создает заказ на покупку 100 акций IBM ®. Этот код использует брокерBB с действующим временем, равным DAY и любую ручную инструкцию. Преобразование количества общих ресурсов в 32-разрядное целое число со знаком с помощью int32.
order.EMSX_TICKER = 'IBM'; order.EMSX_AMOUNT = int32(100); order.EMSX_ORDER_TYPE = 'MKT'; order.EMSX_BROKER = 'BB'; order.EMSX_TIF = 'DAY'; order.EMSX_HAND_INSTRUCTION = 'ANY'; order.EMSX_SIDE = 'BUY';
Создание и маршрутизация заказа с помощью соединения Bloomberg EMSX c и структура запроса заказа order.
events = createOrderAndRoute(c,order)
events =
EMSX_SEQUENCE: 335877
EMSX_ROUTE_ID: 1
MESSAGE: 'Order created and routed' Обработчик событий по умолчанию обрабатывает события, связанные с созданием и маршрутизацией заказа. createOrderAndRoute прибыль events как структура, содержащая следующие поля:
Номер заказа Bloomberg EMSX
Идентификатор маршрута Bloomberg EMSX
Сообщение Bloomberg EMSX
Определите modroute структура, содержащая следующие поля:
Порядковый номер заказа Bloomberg EMSX EMSX_SEQUENCE
Символ бегущей строки Bloomberg EMSX EMSX_TICKER
Количество акций Bloomberg EMSX EMSX_AMOUNT
Идентификатор маршрута Bloomberg EMSX EMSX_ROUTE_ID
Этот код изменяет маршрут на 50 акций IBM для порядкового номера заказа 335877 и идентификатор маршрута 1. Преобразование чисел в 32-разрядные целые числа со знаком с помощью int32.
modroute.EMSX_SEQUENCE = int32(335877)
modroute.EMSX_TICKER = 'IBM';
modroute.EMSX_AMOUNT = int32(50);
modroute.EMSX_ROUTE_ID = int32(1);Изменение маршрута с помощью соединения Bloomberg EMSX c и изменить запрос маршрута modroute.
events = modifyRoute(c,modroute)
events =
EMSX_SEQUENCE: 0
EMSX_ROUTE_ID: 0
MESSAGE: 'Route modified'
Обработчик событий по умолчанию обрабатывает события, связанные с изменением маршрута. modifyRoute прибыль events как структура, содержащая следующие поля:
Номер заказа Bloomberg EMSX
Идентификатор маршрута Bloomberg EMSX
Сообщение Bloomberg EMSX
Определение структуры routenum который содержит порядковый номер заказа EMSX_SEQUENCE для маршрутизируемого заказа и номера маршрута EMSX_ROUTE_ID.
routenum.EMSX_SEQUENCE = 0; routenum.EMSX_ROUTE_ID = 0;
Удаление маршрута с помощью соединения Bloomberg EMSX c и удалить структуру номеров маршрутов routenum.
events = deleteRoute(c,routenum)
events =
STATUS: '1'
MESSAGE: 'Route cancellation request sent to broker'
Обработчик событий по умолчанию обрабатывает события, связанные с удалением маршрута. deleteRoute прибыль events как структура, содержащая следующие поля:
Bloomberg EMSX статус
Сообщение Bloomberg EMSX
Отменить подписку на события заказа и маршрутизации с помощью объектов списка подписки Bloomberg EMSX osubs и rsubs. Этот код предполагает, что orders создает osubs и routes создает rsubs.
c.Session.unsubscribe(osubs) c.Session.unsubscribe(rsubs)
close(c)
close | createOrderAndRoute | deleteRoute | emsx | modifyRoute | orders | routes