SlideShare a Scribd company logo
1 of 23
Тестирование систем электронной торговли ценными бумагами, использующих протокол FIX Никита Налютин Deutsche Bank
Содержание Бизнес-потоки Программная поддержка Протокол FIX Тестовая среда Типы тестирования
Торговля ценными бумагами Downstream - orders LSE Клиент DBSI Брокеры NYSE ITG NASDAQ Биржи Upstream – execution reports
Orderbook Stock: GOOG.O Price: 384.9000 Orders: 1295622 Volume: 2791809 BUY SELL Price Shares Price Shares 100 384.82 384.95 500 100 384.82 385.01 100 300 384.81 385.05 200 100 384.81 385.46 100 500 384.80 385.51 100 100 384.79 385.60 400 200 384.77 385.62 100 100 384.75 385.63 200
Электронная торговля ценными бумагами Соединение с биржей Соединение с клиентом LSE DMA NYSE Клиент Order Management System Execution Management System NASDAQ Рыночные данные Отчеты Регуляторы FINRA Брокеры Биржи
Что такое FIX? FIX – Financial eXchange Protocol – протокол обмена финансовой информацией Международный отраслевой стандарт Спецификация свободно доступна Поддерживается FIX Protocol Ltd. Только протокола FIX недостаточно для описания интерфейса между участниками торгов. В документе Rules of Engagement описаны правила использования протокола http://www.fixprotocol.org
Версии FIX Version 4.0: 1996 – акции Version 4.1: 1998 Version 4.2: 2000 – акции+FX Version 4.3: 2001 Version 4.4: 2003 – акции+FX+данные рынка Version 5.0: 2006 – разделение уровней протокола
Приложение Соединение FIX FIX engine: Поддержка протокола Установление соединения Поддержание сессии Валидация сообщений Аудит Приложение Сеть 	Сеть FIX engine FIX engine DMZ
Сообщение FIX Два уровня: сессионный и уровень приложения Каждое сообщение – набор пар 55=EUR Тег Значение
Сообщение FIX 8=FIX.4.29=0398  35=D  115=onBehalfOfComp  128=deliverToComp  116=onBehalfOfSub  129=deliverToSub  34=334  49=SRC  56=TGT  52=20101106-10:05:16  1=DEFAULT  11=test106  21=1  38=1000.0  40=1  44=92.10009002685547  47=U  63=1  54=1  55=VOD.L  58=text  59=0  60=20101106-10:05:16.341  10302=1  10=227 
Сообщение FIX Заголовок 8 (BeginString) = FIX4.2 9 (BodyLength) = 213 35 (MsgType) = D 49 (SenderCompId) = BUYSIDE 56 (TargetCompId) = SELLSIDE 52 (SendingTime) = 20101106-09:00:00.00 Тело 55 (Symbol) = VOD.L 1 (Account) = ACC1 11 (ClOrdId) = OrderId_A 54 (Side) = 1 40 (OrdType) = 1 Хвост 10 (CheckSum) = 0559
Что тестируем? Модификация ордера и отчетов о выполнении (Enrichment) FIX-сценарии (FIX flow) Состояния ордера Соглашения о соединении с клиентом (Rules of engagement) Соглашения о соединении с биржей Производительность
Тестовая среда Симулятор трейдера Order Management System Симулятор клиента Симулятор стратегий Симулятор биржи Симулятор upstream систем Симулятор downstream систем Виртуальные биржевые данные Виртуальные статические данные Анализатор отчетов
Enrichment Клиент FIX engine Клиентский роутер Order manager Биржевой роутер Биржа Идентификация Валидация Роутинг Состояния Разбиение
Enrichment: пример Идентификация клиента Применение параметров клиента Получение данных сессии клиента Нормализация инструментов Обработка типа сообщения Роутинг на трейдера
Сценарии обмена Обычный ордер Отмена Замена (увеличение, уменьшение количества) Последовательность замен и отмен Односторонняя отмена и замена Отказ Статусные сообщения Многодневные сообщения Исправления отчетов
Сценарии обмена: обычный ордер FIX-шлюз Клиент NewOrderSingle (MsgType = D) PendingNew (MsgType = 8,OrderStatus,ExecType = PendingNew) Ack (MsgType= 8,OrderStatus,ExecType = New) Partial Fill (MsgType= 8,OrderStatus,ExecType = PartiallyFilled) Fill Bust (MsgType= 8, ExecType = Cancelled, ExecId= “MKTID”) Partial Fill (MsgType= 8,OrderStatus,ExecType = PartiallyFilled) Partial Fill (MsgType= 8,OrderStatus,ExecType = Filled)
Сценарии обмена: изменение и отмена FIX-шлюз Клиент NewOrderSingle (ClOrdId = Ord1) Ack (ClOrdId = Ord1) Partial Fill (ClOrdId = Ord1) CancelReplace (MsgType=G, OrigClOrdId = Ord1, ClOrdId=Ord1n) Ack (ClOrdId = Ord1n, OrigClOrdId = Ord1, OrdState = Replaced) Partial Fill (ClOrdId = Ord1n) Cancel (MsgType=F, OrigClOrdId = Ord1n, ClOrdId=Ord1c) Ack (ClOrdId = Ord1c, OrigClOrdId = Ord1n, OrdState = Cancelled)
Сценарии обмена: односторонняя отмена FIX-шлюз Клиент NewOrderSingle (ClOrdId = Ord1) Ack (ClOrdId = Ord1) Partial Fill (ClOrdId = Ord1) UnsolicitedCancelAck (MsgType=8, Status=Cancelled, Text=“CNCL”
Состояния ордера New Replaced Pending New Acked Partially Filled Rejected Fully Filled Cancelled Partially Cancelled
Соединение с клиентом Специфичные для клиента теги Структура клиента (трейдеры, дески, аккаунты) Symbology (RIC, ISIN, SEDOL, ….) Типы ценных бумаг Тип соединения (прямое/копия) Время соединения Восстановление при сбоях
Соединение с клиентом и с биржей PT Desk Соединение с клиентом Order Management System A Соединение с биржей Торговый поток LSE NYSE ARB Desk Order Management System B Копии NASDAQ Торговый поток
Спасибо за внимание Никита Налютин Deutsche Bank

More Related Content

Similar to Никита Налютин -- Тестирование систем электронной торговли ценными бумагами

Microsoft Master Data Services - Master Data Management Tool
Microsoft Master Data Services - Master Data Management ToolMicrosoft Master Data Services - Master Data Management Tool
Microsoft Master Data Services - Master Data Management ToolМаксим Остархов
 
TMPA-2015: Automated process of creating test scenarios for financial protoco...
TMPA-2015: Automated process of creating test scenarios for financial protoco...TMPA-2015: Automated process of creating test scenarios for financial protoco...
TMPA-2015: Automated process of creating test scenarios for financial protoco...Iosif Itkin
 
TMPA-2015 > Автомитизирование создание тест-кейсов для тестирования соединени...
TMPA-2015 > Автомитизирование создание тест-кейсов для тестирования соединени...TMPA-2015 > Автомитизирование создание тест-кейсов для тестирования соединени...
TMPA-2015 > Автомитизирование создание тест-кейсов для тестирования соединени...Anna Toropova
 
IBA RUS: ECM и СЭД - практика применения.
IBA RUS: ECM и СЭД -  практика применения.IBA RUS: ECM и СЭД -  практика применения.
IBA RUS: ECM и СЭД - практика применения.Expolink
 
Услуга контактный центр по запросу от CTI
Услуга контактный центр по запросу от CTIУслуга контактный центр по запросу от CTI
Услуга контактный центр по запросу от CTICTI2014
 
TMPA-2013 Sharov: Client Certification
TMPA-2013 Sharov: Client CertificationTMPA-2013 Sharov: Client Certification
TMPA-2013 Sharov: Client CertificationIosif Itkin
 
архитектура системы Linemedia автоэксперт 4.0
архитектура системы Linemedia автоэксперт 4.0архитектура системы Linemedia автоэксперт 4.0
архитектура системы Linemedia автоэксперт 4.0Vlad Silbers
 
Услуга контактный центр по запросу
Услуга контактный центр по запросуУслуга контактный центр по запросу
Услуга контактный центр по запросуCTI2014
 
Testing of a Risk Control System Implementation for High-Load Exchange and Br...
Testing of a Risk Control System Implementation for High-Load Exchange and Br...Testing of a Risk Control System Implementation for High-Load Exchange and Br...
Testing of a Risk Control System Implementation for High-Load Exchange and Br...Iosif Itkin
 
Risk Control System Implementation at TMPA-2014 (Trading Systems Testing)
Risk Control System Implementation at TMPA-2014 (Trading Systems Testing)Risk Control System Implementation at TMPA-2014 (Trading Systems Testing)
Risk Control System Implementation at TMPA-2014 (Trading Systems Testing)Iosif Itkin
 
Презентация платёжного решения beGateway для рынка Беларуси
Презентация платёжного решения beGateway для рынка БеларусиПрезентация платёжного решения beGateway для рынка Беларуси
Презентация платёжного решения beGateway для рынка БеларусиAlexander Shostak
 
Продукты и решения Informatica
Продукты и решения  InformaticaПродукты и решения  Informatica
Продукты и решения InformaticaNatasha Zaverukha
 
02.11 II Ukrainian Procurement Forum 2013 - Дмитрий Прядко - Электронные сист...
02.11 II Ukrainian Procurement Forum 2013 - Дмитрий Прядко - Электронные сист...02.11 II Ukrainian Procurement Forum 2013 - Дмитрий Прядко - Электронные сист...
02.11 II Ukrainian Procurement Forum 2013 - Дмитрий Прядко - Электронные сист...Space.ua
 
Сеть как сенсор и как регулятор
Сеть как сенсор и как регуляторСеть как сенсор и как регулятор
Сеть как сенсор и как регуляторCisco Russia
 
презентация для Telco
презентация для Telcoпрезентация для Telco
презентация для TelcoAskold.K
 
Астор:Торговая сеть
Астор:Торговая сеть Астор:Торговая сеть
Астор:Торговая сеть Denvic
 
Wms для логистических операторов
Wms для логистических операторовWms для логистических операторов
Wms для логистических операторовOlga Bezotosnaya
 
Селезнев Сергей, коммерческий директор. Презентация "Фокус на будущее. Новая ...
Селезнев Сергей, коммерческий директор. Презентация "Фокус на будущее. Новая ...Селезнев Сергей, коммерческий директор. Презентация "Фокус на будущее. Новая ...
Селезнев Сергей, коммерческий директор. Презентация "Фокус на будущее. Новая ...journalrubezh
 

Similar to Никита Налютин -- Тестирование систем электронной торговли ценными бумагами (20)

Microsoft Master Data Services - Master Data Management Tool
Microsoft Master Data Services - Master Data Management ToolMicrosoft Master Data Services - Master Data Management Tool
Microsoft Master Data Services - Master Data Management Tool
 
TMPA-2015: Automated process of creating test scenarios for financial protoco...
TMPA-2015: Automated process of creating test scenarios for financial protoco...TMPA-2015: Automated process of creating test scenarios for financial protoco...
TMPA-2015: Automated process of creating test scenarios for financial protoco...
 
TMPA-2015 > Автомитизирование создание тест-кейсов для тестирования соединени...
TMPA-2015 > Автомитизирование создание тест-кейсов для тестирования соединени...TMPA-2015 > Автомитизирование создание тест-кейсов для тестирования соединени...
TMPA-2015 > Автомитизирование создание тест-кейсов для тестирования соединени...
 
IBA RUS: ECM и СЭД - практика применения.
IBA RUS: ECM и СЭД -  практика применения.IBA RUS: ECM и СЭД -  практика применения.
IBA RUS: ECM и СЭД - практика применения.
 
Услуга контактный центр по запросу от CTI
Услуга контактный центр по запросу от CTIУслуга контактный центр по запросу от CTI
Услуга контактный центр по запросу от CTI
 
TMPA-2013 Sharov: Client Certification
TMPA-2013 Sharov: Client CertificationTMPA-2013 Sharov: Client Certification
TMPA-2013 Sharov: Client Certification
 
архитектура системы Linemedia автоэксперт 4.0
архитектура системы Linemedia автоэксперт 4.0архитектура системы Linemedia автоэксперт 4.0
архитектура системы Linemedia автоэксперт 4.0
 
Услуга контактный центр по запросу
Услуга контактный центр по запросуУслуга контактный центр по запросу
Услуга контактный центр по запросу
 
Testing of a Risk Control System Implementation for High-Load Exchange and Br...
Testing of a Risk Control System Implementation for High-Load Exchange and Br...Testing of a Risk Control System Implementation for High-Load Exchange and Br...
Testing of a Risk Control System Implementation for High-Load Exchange and Br...
 
Risk Control System Implementation at TMPA-2014 (Trading Systems Testing)
Risk Control System Implementation at TMPA-2014 (Trading Systems Testing)Risk Control System Implementation at TMPA-2014 (Trading Systems Testing)
Risk Control System Implementation at TMPA-2014 (Trading Systems Testing)
 
Boss2 thelast2 ppt
Boss2 thelast2 pptBoss2 thelast2 ppt
Boss2 thelast2 ppt
 
Презентация платёжного решения beGateway для рынка Беларуси
Презентация платёжного решения beGateway для рынка БеларусиПрезентация платёжного решения beGateway для рынка Беларуси
Презентация платёжного решения beGateway для рынка Беларуси
 
Продукты и решения Informatica
Продукты и решения  InformaticaПродукты и решения  Informatica
Продукты и решения Informatica
 
02.11 II Ukrainian Procurement Forum 2013 - Дмитрий Прядко - Электронные сист...
02.11 II Ukrainian Procurement Forum 2013 - Дмитрий Прядко - Электронные сист...02.11 II Ukrainian Procurement Forum 2013 - Дмитрий Прядко - Электронные сист...
02.11 II Ukrainian Procurement Forum 2013 - Дмитрий Прядко - Электронные сист...
 
Сеть как сенсор и как регулятор
Сеть как сенсор и как регуляторСеть как сенсор и как регулятор
Сеть как сенсор и как регулятор
 
презентация для Telco
презентация для Telcoпрезентация для Telco
презентация для Telco
 
Naumen Network Manager. Мониторинг, понятный и так нужный Бизнесу
Naumen Network Manager. Мониторинг, понятный и так нужный БизнесуNaumen Network Manager. Мониторинг, понятный и так нужный Бизнесу
Naumen Network Manager. Мониторинг, понятный и так нужный Бизнесу
 
Астор:Торговая сеть
Астор:Торговая сеть Астор:Торговая сеть
Астор:Торговая сеть
 
Wms для логистических операторов
Wms для логистических операторовWms для логистических операторов
Wms для логистических операторов
 
Селезнев Сергей, коммерческий директор. Презентация "Фокус на будущее. Новая ...
Селезнев Сергей, коммерческий директор. Презентация "Фокус на будущее. Новая ...Селезнев Сергей, коммерческий директор. Презентация "Фокус на будущее. Новая ...
Селезнев Сергей, коммерческий директор. Презентация "Фокус на будущее. Новая ...
 

More from sqadays8

Александр Александров -- Дефектные дефекты
Александр Александров -- Дефектные дефектыАлександр Александров -- Дефектные дефекты
Александр Александров -- Дефектные дефектыsqadays8
 
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?sqadays8
 
Михаил Мериин -- Размышления об аутсорсинге
Михаил Мериин  -- Размышления об аутсорсингеМихаил Мериин  -- Размышления об аутсорсинге
Михаил Мериин -- Размышления об аутсорсингеsqadays8
 
Юрий Ковалев -- Нагрузочное тестирование без границ
Юрий Ковалев -- Нагрузочное тестирование без границЮрий Ковалев -- Нагрузочное тестирование без границ
Юрий Ковалев -- Нагрузочное тестирование без границsqadays8
 
Наталья Руколь -- Карьера в тестировании
Наталья Руколь -- Карьера в тестированииНаталья Руколь -- Карьера в тестировании
Наталья Руколь -- Карьера в тестированииsqadays8
 
Надежда Серкова -- Автоматическая генерация Perl скриптов для тестирования си...
Надежда Серкова -- Автоматическая генерация Perl скриптов для тестирования си...Надежда Серкова -- Автоматическая генерация Perl скриптов для тестирования си...
Надежда Серкова -- Автоматическая генерация Perl скриптов для тестирования си...sqadays8
 
Михаил Павлов -- Отвечает ли тестировщик за качество?
Михаил Павлов -- Отвечает ли тестировщик за качество?Михаил Павлов -- Отвечает ли тестировщик за качество?
Михаил Павлов -- Отвечает ли тестировщик за качество?sqadays8
 
Игорь Любин -- Об опыте тестирования программного компонента без пользователь...
Игорь Любин -- Об опыте тестирования программного компонента без пользователь...Игорь Любин -- Об опыте тестирования программного компонента без пользователь...
Игорь Любин -- Об опыте тестирования программного компонента без пользователь...sqadays8
 
Евгения Фирсова -- Нерелизное тестирование
Евгения Фирсова -- Нерелизное тестированиеЕвгения Фирсова -- Нерелизное тестирование
Евгения Фирсова -- Нерелизное тестированиеsqadays8
 
Денис Бесков -- Послание аналитиков тестировщикам
Денис Бесков -- Послание аналитиков тестировщикамДенис Бесков -- Послание аналитиков тестировщикам
Денис Бесков -- Послание аналитиков тестировщикамsqadays8
 
Владимир Вахлов -- Тестирование производительности всерьёз
Владимир Вахлов -- Тестирование производительности всерьёзВладимир Вахлов -- Тестирование производительности всерьёз
Владимир Вахлов -- Тестирование производительности всерьёзsqadays8
 
Анна Кербель -- Risk driven testing
Анна Кербель -- Risk driven testingАнна Кербель -- Risk driven testing
Анна Кербель -- Risk driven testingsqadays8
 
Андрей Кузьмичев -- Танки в лунапарке – нагрузочное тестирование в яндексе
Андрей Кузьмичев -- Танки в лунапарке – нагрузочное тестирование в яндексеАндрей Кузьмичев -- Танки в лунапарке – нагрузочное тестирование в яндексе
Андрей Кузьмичев -- Танки в лунапарке – нагрузочное тестирование в яндексеsqadays8
 
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...sqadays8
 
Александр Орлов -- Лидерство в тестировании
Александр Орлов -- Лидерство в тестированииАлександр Орлов -- Лидерство в тестировании
Александр Орлов -- Лидерство в тестированииsqadays8
 
Александр Александров -- Надёжный тест-дизайн (мастер-класс)
Александр Александров -- Надёжный тест-дизайн (мастер-класс)Александр Александров -- Надёжный тест-дизайн (мастер-класс)
Александр Александров -- Надёжный тест-дизайн (мастер-класс)sqadays8
 
Эвелина Тананаева -- Мобильные технологии: тестирование - с чего начать?
Эвелина Тананаева -- Мобильные технологии: тестирование - с чего начать?Эвелина Тананаева -- Мобильные технологии: тестирование - с чего начать?
Эвелина Тананаева -- Мобильные технологии: тестирование - с чего начать?sqadays8
 

More from sqadays8 (17)

Александр Александров -- Дефектные дефекты
Александр Александров -- Дефектные дефектыАлександр Александров -- Дефектные дефекты
Александр Александров -- Дефектные дефекты
 
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
 
Михаил Мериин -- Размышления об аутсорсинге
Михаил Мериин  -- Размышления об аутсорсингеМихаил Мериин  -- Размышления об аутсорсинге
Михаил Мериин -- Размышления об аутсорсинге
 
Юрий Ковалев -- Нагрузочное тестирование без границ
Юрий Ковалев -- Нагрузочное тестирование без границЮрий Ковалев -- Нагрузочное тестирование без границ
Юрий Ковалев -- Нагрузочное тестирование без границ
 
Наталья Руколь -- Карьера в тестировании
Наталья Руколь -- Карьера в тестированииНаталья Руколь -- Карьера в тестировании
Наталья Руколь -- Карьера в тестировании
 
Надежда Серкова -- Автоматическая генерация Perl скриптов для тестирования си...
Надежда Серкова -- Автоматическая генерация Perl скриптов для тестирования си...Надежда Серкова -- Автоматическая генерация Perl скриптов для тестирования си...
Надежда Серкова -- Автоматическая генерация Perl скриптов для тестирования си...
 
Михаил Павлов -- Отвечает ли тестировщик за качество?
Михаил Павлов -- Отвечает ли тестировщик за качество?Михаил Павлов -- Отвечает ли тестировщик за качество?
Михаил Павлов -- Отвечает ли тестировщик за качество?
 
Игорь Любин -- Об опыте тестирования программного компонента без пользователь...
Игорь Любин -- Об опыте тестирования программного компонента без пользователь...Игорь Любин -- Об опыте тестирования программного компонента без пользователь...
Игорь Любин -- Об опыте тестирования программного компонента без пользователь...
 
Евгения Фирсова -- Нерелизное тестирование
Евгения Фирсова -- Нерелизное тестированиеЕвгения Фирсова -- Нерелизное тестирование
Евгения Фирсова -- Нерелизное тестирование
 
Денис Бесков -- Послание аналитиков тестировщикам
Денис Бесков -- Послание аналитиков тестировщикамДенис Бесков -- Послание аналитиков тестировщикам
Денис Бесков -- Послание аналитиков тестировщикам
 
Владимир Вахлов -- Тестирование производительности всерьёз
Владимир Вахлов -- Тестирование производительности всерьёзВладимир Вахлов -- Тестирование производительности всерьёз
Владимир Вахлов -- Тестирование производительности всерьёз
 
Анна Кербель -- Risk driven testing
Анна Кербель -- Risk driven testingАнна Кербель -- Risk driven testing
Анна Кербель -- Risk driven testing
 
Андрей Кузьмичев -- Танки в лунапарке – нагрузочное тестирование в яндексе
Андрей Кузьмичев -- Танки в лунапарке – нагрузочное тестирование в яндексеАндрей Кузьмичев -- Танки в лунапарке – нагрузочное тестирование в яндексе
Андрей Кузьмичев -- Танки в лунапарке – нагрузочное тестирование в яндексе
 
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...
Анатолий Любомиров -- Тестирование пользовательского интерфейса – как это дел...
 
Александр Орлов -- Лидерство в тестировании
Александр Орлов -- Лидерство в тестированииАлександр Орлов -- Лидерство в тестировании
Александр Орлов -- Лидерство в тестировании
 
Александр Александров -- Надёжный тест-дизайн (мастер-класс)
Александр Александров -- Надёжный тест-дизайн (мастер-класс)Александр Александров -- Надёжный тест-дизайн (мастер-класс)
Александр Александров -- Надёжный тест-дизайн (мастер-класс)
 
Эвелина Тананаева -- Мобильные технологии: тестирование - с чего начать?
Эвелина Тананаева -- Мобильные технологии: тестирование - с чего начать?Эвелина Тананаева -- Мобильные технологии: тестирование - с чего начать?
Эвелина Тананаева -- Мобильные технологии: тестирование - с чего начать?
 

Никита Налютин -- Тестирование систем электронной торговли ценными бумагами

  • 1. Тестирование систем электронной торговли ценными бумагами, использующих протокол FIX Никита Налютин Deutsche Bank
  • 2. Содержание Бизнес-потоки Программная поддержка Протокол FIX Тестовая среда Типы тестирования
  • 3. Торговля ценными бумагами Downstream - orders LSE Клиент DBSI Брокеры NYSE ITG NASDAQ Биржи Upstream – execution reports
  • 4. Orderbook Stock: GOOG.O Price: 384.9000 Orders: 1295622 Volume: 2791809 BUY SELL Price Shares Price Shares 100 384.82 384.95 500 100 384.82 385.01 100 300 384.81 385.05 200 100 384.81 385.46 100 500 384.80 385.51 100 100 384.79 385.60 400 200 384.77 385.62 100 100 384.75 385.63 200
  • 5. Электронная торговля ценными бумагами Соединение с биржей Соединение с клиентом LSE DMA NYSE Клиент Order Management System Execution Management System NASDAQ Рыночные данные Отчеты Регуляторы FINRA Брокеры Биржи
  • 6. Что такое FIX? FIX – Financial eXchange Protocol – протокол обмена финансовой информацией Международный отраслевой стандарт Спецификация свободно доступна Поддерживается FIX Protocol Ltd. Только протокола FIX недостаточно для описания интерфейса между участниками торгов. В документе Rules of Engagement описаны правила использования протокола http://www.fixprotocol.org
  • 7. Версии FIX Version 4.0: 1996 – акции Version 4.1: 1998 Version 4.2: 2000 – акции+FX Version 4.3: 2001 Version 4.4: 2003 – акции+FX+данные рынка Version 5.0: 2006 – разделение уровней протокола
  • 8. Приложение Соединение FIX FIX engine: Поддержка протокола Установление соединения Поддержание сессии Валидация сообщений Аудит Приложение Сеть Сеть FIX engine FIX engine DMZ
  • 9. Сообщение FIX Два уровня: сессионный и уровень приложения Каждое сообщение – набор пар 55=EUR Тег Значение
  • 10. Сообщение FIX 8=FIX.4.29=0398  35=D  115=onBehalfOfComp  128=deliverToComp  116=onBehalfOfSub  129=deliverToSub  34=334  49=SRC  56=TGT  52=20101106-10:05:16  1=DEFAULT  11=test106  21=1  38=1000.0  40=1  44=92.10009002685547  47=U  63=1  54=1  55=VOD.L  58=text  59=0  60=20101106-10:05:16.341  10302=1  10=227 
  • 11. Сообщение FIX Заголовок 8 (BeginString) = FIX4.2 9 (BodyLength) = 213 35 (MsgType) = D 49 (SenderCompId) = BUYSIDE 56 (TargetCompId) = SELLSIDE 52 (SendingTime) = 20101106-09:00:00.00 Тело 55 (Symbol) = VOD.L 1 (Account) = ACC1 11 (ClOrdId) = OrderId_A 54 (Side) = 1 40 (OrdType) = 1 Хвост 10 (CheckSum) = 0559
  • 12. Что тестируем? Модификация ордера и отчетов о выполнении (Enrichment) FIX-сценарии (FIX flow) Состояния ордера Соглашения о соединении с клиентом (Rules of engagement) Соглашения о соединении с биржей Производительность
  • 13. Тестовая среда Симулятор трейдера Order Management System Симулятор клиента Симулятор стратегий Симулятор биржи Симулятор upstream систем Симулятор downstream систем Виртуальные биржевые данные Виртуальные статические данные Анализатор отчетов
  • 14. Enrichment Клиент FIX engine Клиентский роутер Order manager Биржевой роутер Биржа Идентификация Валидация Роутинг Состояния Разбиение
  • 15. Enrichment: пример Идентификация клиента Применение параметров клиента Получение данных сессии клиента Нормализация инструментов Обработка типа сообщения Роутинг на трейдера
  • 16. Сценарии обмена Обычный ордер Отмена Замена (увеличение, уменьшение количества) Последовательность замен и отмен Односторонняя отмена и замена Отказ Статусные сообщения Многодневные сообщения Исправления отчетов
  • 17. Сценарии обмена: обычный ордер FIX-шлюз Клиент NewOrderSingle (MsgType = D) PendingNew (MsgType = 8,OrderStatus,ExecType = PendingNew) Ack (MsgType= 8,OrderStatus,ExecType = New) Partial Fill (MsgType= 8,OrderStatus,ExecType = PartiallyFilled) Fill Bust (MsgType= 8, ExecType = Cancelled, ExecId= “MKTID”) Partial Fill (MsgType= 8,OrderStatus,ExecType = PartiallyFilled) Partial Fill (MsgType= 8,OrderStatus,ExecType = Filled)
  • 18. Сценарии обмена: изменение и отмена FIX-шлюз Клиент NewOrderSingle (ClOrdId = Ord1) Ack (ClOrdId = Ord1) Partial Fill (ClOrdId = Ord1) CancelReplace (MsgType=G, OrigClOrdId = Ord1, ClOrdId=Ord1n) Ack (ClOrdId = Ord1n, OrigClOrdId = Ord1, OrdState = Replaced) Partial Fill (ClOrdId = Ord1n) Cancel (MsgType=F, OrigClOrdId = Ord1n, ClOrdId=Ord1c) Ack (ClOrdId = Ord1c, OrigClOrdId = Ord1n, OrdState = Cancelled)
  • 19. Сценарии обмена: односторонняя отмена FIX-шлюз Клиент NewOrderSingle (ClOrdId = Ord1) Ack (ClOrdId = Ord1) Partial Fill (ClOrdId = Ord1) UnsolicitedCancelAck (MsgType=8, Status=Cancelled, Text=“CNCL”
  • 20. Состояния ордера New Replaced Pending New Acked Partially Filled Rejected Fully Filled Cancelled Partially Cancelled
  • 21. Соединение с клиентом Специфичные для клиента теги Структура клиента (трейдеры, дески, аккаунты) Symbology (RIC, ISIN, SEDOL, ….) Типы ценных бумаг Тип соединения (прямое/копия) Время соединения Восстановление при сбоях
  • 22. Соединение с клиентом и с биржей PT Desk Соединение с клиентом Order Management System A Соединение с биржей Торговый поток LSE NYSE ARB Desk Order Management System B Копии NASDAQ Торговый поток
  • 23. Спасибо за внимание Никита Налютин Deutsche Bank