Создание и управление порядком Bloomberg EMSX

В этом примере показано, как подключиться к Bloomberg® EMSX, создайте порядок и взаимодействуйте с порядком.

Для получения дополнительной информации о Bloomberg EMSX смотрите Руководство программиста EMSX API с помощью опции WAPI <GO> от терминала Bloomberg.

Подключиться к Bloomberg EMSX

Подключитесь к тестовой службе 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.

Настройка подписки на заказ

Подпишитесь на события заказа с помощью c подключения Bloomberg EMSX связана с этими полями Bloomberg EMSX.

fields = {'EMSX_TICKER','EMSX_AMOUNT','EMSX_FILL'};

[events,subs] = orders(c,fields)
events = 

                       MSG_TYPE: {'E'}
                   MSG_SUB_TYPE: {'O'}
                   EVENT_STATUS: 4
                   ...

subs =
 
com.bloomberglp.blpapi.SubscriptionList@4bc3dc78

events содержит поля для событий, связанных с существующими порядками Bloomberg EMSX. subs содержит объект списка подписок Bloomberg EMSX.

Создание порядка

Создайте структуру запроса на заказ order для порядка на покупку 400 акций IBM®. Укажите брокера следующим EFIX, используйте любую ручную инструкцию и установите время в силе DAY.

order.EMSX_ORDER_TYPE = 'MKT';
order.EMSX_SIDE = 'BUY';
order.EMSX_TICKER = 'IBM';
order.EMSX_AMOUNT = int32(400);
order.EMSX_BROKER = 'EFIX';
order.EMSX_HAND_INSTRUCTION = 'ANY';
order.EMSX_TIF = 'DAY';

Создайте порядок с помощью c подключения Bloomberg EMSX и структуру запроса порядка order.

events = createOrder(c,order)
order_events = 
    
		EMSX_SEQUENCE: 354646
		      MESSAGE: 'Order created'

Обработчик событий по умолчанию обрабатывает события, связанные с созданием порядка. createOrder возвращает events как структура, содержащая эти поля:

  • Блумберг Номер порядка EMSX

  • Сообщение Bloomberg EMSX

Изменение порядка

Определите структуру modorder который содержит следующие поля:

  • Блумберг EMSX порядка порядковый номер EMSX_SEQUENCE

  • Блумберг EMSX тикер символ EMSX_TICKER

  • Количество акций Bloomberg EMSX EMSX_AMOUNT

Этот код изменяет порядок номер <reservedrangesplaceholder0> за 200 акций IBM. Преобразуйте числа в 32-битные целые числа со знаком с помощью int32.

modorder.EMSX_SEQUENCE = int32(354646);
modorder.EMSX_TICKER = 'IBM';
modorder.EMSX_AMOUNT = int32(200);

Измените порядок с помощью c подключения Bloomberg EMSX и изменение структуры порядка modorder.

events = modifyOrder(c,modorder)
events = 

    EMSX_SEQUENCE: 354646
          MESSAGE: 'Order Modified'

Обработчик событий по умолчанию обрабатывает события, связанные с изменением порядка. modifyOrder возвращает events как структура, содержащая эти поля:

  • Блумберг Номер порядка EMSX

  • Сообщение Bloomberg EMSX

Удаление порядка

Определите структуру ordernum который содержит порядковый номер порядка 354646 для порядка на удаление. Удалите порядок с помощью c подключения Bloomberg EMSX и структуру номера порядка на удаление ordernum.

ordernum.EMSX_SEQUENCE = 354646;

events = deleteOrder(c,ordernum)
events = 
    
      STATUS: '0'
     MESSAGE: 'Order deleted'

Обработчик событий по умолчанию обрабатывает события, связанные с удалением порядка. deleteOrder возвращает events как структура, содержащая эти поля:

  • Блумберг Статус EMSX

  • Сообщение Bloomberg EMSX

Остановить подписку порядок

Отписаться от событий порядка с помощью объекта списка подписок Bloomberg EMSX subs.

c.Session.unsubscribe(subs)

Закройте соединение EMSX Bloomberg

close(c)

См. также

| | | | |

Похожие примеры

Подробнее о

Внешние веб-сайты

Для просмотра документации необходимо авторизоваться на сайте