SlideShare une entreprise Scribd logo
1  sur  23
Тестирование систем
электронной торговли ценными
бумагами, использующих
протокол FIX
Никита Налютин
Deutsche Bank
Содержание
• Бизнес-потоки
• Программная поддержка
• Протокол FIX
• Тестовая среда
• Типы тестирования
Торговля ценными бумагами
LSE
NASDAQ
NYSE
DBSI
ITG
Клиент
Брокеры
Биржи
Downstream - orders
Upstream – execution reports
Orderbook
Stock: GOOG.O Price: 384.9000 Orders: 1295622 Volume: 2791809
BUY SELL
Price Shares Price Shares
100384.82 384.95 500
100384.82 385.01 100
300384.81 385.05 200
100384.81 385.46 100
500384.80 385.51 100
100384.79 385.60 400
200384.77 385.62 100
100384.75 385.63 200
Электронная торговля ценными бумагами
LSE
NASDAQ
NYSEКлиент
Брокеры Биржи
Соединениесклиентом
Соединениесбиржей
DMA
Order
Management
System
Execution
Management
System
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
Pending
New
Acked
Partially
Filled
Fully
Filled
Cancelled Partially
Cancelled
Replaced
Rejected
Соединение с клиентом
• Специфичные для клиента теги
• Структура клиента (трейдеры, дески,
аккаунты)
• Symbology (RIC, ISIN, SEDOL, ….)
• Типы ценных бумаг
• Тип соединения (прямое/копия)
• Время соединения
• Восстановление при сбоях
Соединение с клиентом и с биржей
PT Desk
ARB Desk
Соединениесклиентом
Order Management
System A
Order Management
System B
Соединениесбиржей
LSE
NASDAQ
NYSE
Торговый поток
Торговый поток
Спасибо за внимание
Никита Налютин
Deutsche Bank

Contenu connexe

Similaire à Sqadays2010 nalyutin

Никита Налютин -- Тестирование систем электронной торговли ценными бумагами
Никита Налютин -- Тестирование систем электронной торговли ценными бумагамиНикита Налютин -- Тестирование систем электронной торговли ценными бумагами
Никита Налютин -- Тестирование систем электронной торговли ценными бумагами
sqadays8
 
Высоконагруженные трейдинговые системы и их тестирование
Высоконагруженные трейдинговые системы и их тестирование Высоконагруженные трейдинговые системы и их тестирование
Высоконагруженные трейдинговые системы и их тестирование
Iosif Itkin
 
IATE Lecture 1: Quality Assurance for Highload Systems
IATE Lecture 1: Quality Assurance for Highload SystemsIATE Lecture 1: Quality Assurance for Highload Systems
IATE Lecture 1: Quality Assurance for Highload Systems
Iosif Itkin
 
Как автоматизировать торговлю в облаке
Как автоматизировать торговлю в облакеКак автоматизировать торговлю в облаке
Как автоматизировать торговлю в облаке
MoySklad
 
анатомия баннерной системы
анатомия баннерной системыанатомия баннерной системы
анатомия баннерной системы
petrovicho
 
архитектура системы Linemedia автоэксперт 4.0
архитектура системы Linemedia автоэксперт 4.0архитектура системы Linemedia автоэксперт 4.0
архитектура системы Linemedia автоэксперт 4.0
Vlad Silbers
 
AggreGate Network Manager. Мониторинг IT и управление сетями
AggreGate Network Manager. Мониторинг IT и управление сетямиAggreGate Network Manager. Мониторинг IT и управление сетями
AggreGate Network Manager. Мониторинг IT и управление сетями
Tibbo
 
Cti контактный центр_по_запросу_10.06.2014
Cti контактный центр_по_запросу_10.06.2014Cti контактный центр_по_запросу_10.06.2014
Cti контактный центр_по_запросу_10.06.2014
Tim Parson
 
Internet-Trading on PFTS
Internet-Trading on PFTSInternet-Trading on PFTS
Internet-Trading on PFTS
Alexander Kulko
 
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Ontico
 

Similaire à Sqadays2010 nalyutin (20)

Никита Налютин -- Тестирование систем электронной торговли ценными бумагами
Никита Налютин -- Тестирование систем электронной торговли ценными бумагамиНикита Налютин -- Тестирование систем электронной торговли ценными бумагами
Никита Налютин -- Тестирование систем электронной торговли ценными бумагами
 
Высоконагруженные трейдинговые системы и их тестирование
Высоконагруженные трейдинговые системы и их тестирование Высоконагруженные трейдинговые системы и их тестирование
Высоконагруженные трейдинговые системы и их тестирование
 
Услуга контактный центр по запросу
Услуга контактный центр по запросуУслуга контактный центр по запросу
Услуга контактный центр по запросу
 
TMPA-2015: FPGA-Based Low Latency Sponsored Access
TMPA-2015: FPGA-Based Low Latency Sponsored AccessTMPA-2015: FPGA-Based Low Latency Sponsored Access
TMPA-2015: FPGA-Based Low Latency Sponsored Access
 
IATE Lecture 1: Quality Assurance for Highload Systems
IATE Lecture 1: Quality Assurance for Highload SystemsIATE Lecture 1: Quality Assurance for Highload Systems
IATE Lecture 1: Quality Assurance for Highload Systems
 
Услуга контактный центр по запросу от CTI
Услуга контактный центр по запросу от CTIУслуга контактный центр по запросу от CTI
Услуга контактный центр по запросу от CTI
 
Автоматизация закупок для предприятий и организаций
Автоматизация закупок для предприятий и организаций Автоматизация закупок для предприятий и организаций
Автоматизация закупок для предприятий и организаций
 
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 > Автомитизирование создание тест-кейсов для тестирования соединени...
 
SalesLab: Евгений Горбачёв (Terrasoft) - Управление идеальным путешествием кл...
SalesLab: Евгений Горбачёв (Terrasoft) - Управление идеальным путешествием кл...SalesLab: Евгений Горбачёв (Terrasoft) - Управление идеальным путешествием кл...
SalesLab: Евгений Горбачёв (Terrasoft) - Управление идеальным путешествием кл...
 
Как автоматизировать торговлю в облаке
Как автоматизировать торговлю в облакеКак автоматизировать торговлю в облаке
Как автоматизировать торговлю в облаке
 
Единый центр технической поддержки
Единый центр технической поддержкиЕдиный центр технической поддержки
Единый центр технической поддержки
 
Exante. Народная опционная конференция 2014 (НОК-8). Строим торговую инфрастр...
Exante. Народная опционная конференция 2014 (НОК-8). Строим торговую инфрастр...Exante. Народная опционная конференция 2014 (НОК-8). Строим торговую инфрастр...
Exante. Народная опционная конференция 2014 (НОК-8). Строим торговую инфрастр...
 
анатомия баннерной системы
анатомия баннерной системыанатомия баннерной системы
анатомия баннерной системы
 
архитектура системы Linemedia автоэксперт 4.0
архитектура системы Linemedia автоэксперт 4.0архитектура системы Linemedia автоэксперт 4.0
архитектура системы Linemedia автоэксперт 4.0
 
Контроль подрядчиков в крупнораспределенной сети с помощью Service Desk
Контроль подрядчиков в крупнораспределенной сети с помощью Service DeskКонтроль подрядчиков в крупнораспределенной сети с помощью Service Desk
Контроль подрядчиков в крупнораспределенной сети с помощью Service Desk
 
AggreGate Network Manager. Мониторинг IT и управление сетями
AggreGate Network Manager. Мониторинг IT и управление сетямиAggreGate Network Manager. Мониторинг IT и управление сетями
AggreGate Network Manager. Мониторинг IT и управление сетями
 
Cti контактный центр_по_запросу_10.06.2014
Cti контактный центр_по_запросу_10.06.2014Cti контактный центр_по_запросу_10.06.2014
Cti контактный центр_по_запросу_10.06.2014
 
Internet-Trading on PFTS
Internet-Trading on PFTSInternet-Trading on PFTS
Internet-Trading on PFTS
 
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
 

Plus de Alexei Lupan

Алексей Лупан - Да перестаньте уже автоматизировать
Алексей Лупан - Да перестаньте уже автоматизироватьАлексей Лупан - Да перестаньте уже автоматизировать
Алексей Лупан - Да перестаньте уже автоматизировать
Alexei Lupan
 
Serious+performance+testing
Serious+performance+testingSerious+performance+testing
Serious+performance+testing
Alexei Lupan
 
Oleynikov sqa days 8_deck
Oleynikov sqa days 8_deckOleynikov sqa days 8_deck
Oleynikov sqa days 8_deck
Alexei Lupan
 
Sqadays 8-barancev
Sqadays 8-barancevSqadays 8-barancev
Sqadays 8-barancev
Alexei Lupan
 
Ui testing how intel does this
Ui testing   how intel does thisUi testing   how intel does this
Ui testing how intel does this
Alexei Lupan
 
сергей андреев
сергей андреевсергей андреев
сергей андреев
Alexei Lupan
 
павел мильков знания и умения тестировщиков
павел мильков   знания и умения тестировщиковпавел мильков   знания и умения тестировщиков
павел мильков знания и умения тестировщиков
Alexei Lupan
 
ирина карачунская что ждет тестировщика итог-Fin
ирина карачунская   что ждет тестировщика итог-Finирина карачунская   что ждет тестировщика итог-Fin
ирина карачунская что ждет тестировщика итог-Fin
Alexei Lupan
 
павел мильков знания и умения тестировщиков
павел мильков   знания и умения тестировщиковпавел мильков   знания и умения тестировщиков
павел мильков знания и умения тестировщиков
Alexei Lupan
 
евгения фирсова нерелизное тестирование
евгения фирсова   нерелизное тестированиеевгения фирсова   нерелизное тестирование
евгения фирсова нерелизное тестирование
Alexei Lupan
 
андрей дмитриев взгляд со стороны разработчика
андрей дмитриев взгляд со стороны разработчикаандрей дмитриев взгляд со стороны разработчика
андрей дмитриев взгляд со стороны разработчика
Alexei Lupan
 
сергей андреев
сергей андреевсергей андреев
сергей андреев
Alexei Lupan
 
Наталья Руколь - Sqamaps
Наталья Руколь - SqamapsНаталья Руколь - Sqamaps
Наталья Руколь - Sqamaps
Alexei Lupan
 
размышления об аутсорсинге Sqa days 2010
размышления об аутсорсинге Sqa days 2010размышления об аутсорсинге Sqa days 2010
размышления об аутсорсинге Sqa days 2010
Alexei Lupan
 
Андрей Кузьмичев - яндекс в городе
 Андрей Кузьмичев - яндекс в городе Андрей Кузьмичев - яндекс в городе
Андрей Кузьмичев - яндекс в городе
Alexei Lupan
 

Plus de Alexei Lupan (20)

Когда требования никакие (Dump 2015)
Когда требования никакие (Dump 2015)Когда требования никакие (Dump 2015)
Когда требования никакие (Dump 2015)
 
Мелочь пузатая или Объем тест кейса против его содержательности
Мелочь пузатая или Объем тест кейса против его содержательностиМелочь пузатая или Объем тест кейса против его содержательности
Мелочь пузатая или Объем тест кейса против его содержательности
 
Алексей Лупан - Да перестаньте уже автоматизировать
Алексей Лупан - Да перестаньте уже автоматизироватьАлексей Лупан - Да перестаньте уже автоматизировать
Алексей Лупан - Да перестаньте уже автоматизировать
 
(Seleniumcamp) Selenium IDE как артефакт пикника на обочине
(Seleniumcamp) Selenium IDE как артефакт пикника на обочине(Seleniumcamp) Selenium IDE как артефакт пикника на обочине
(Seleniumcamp) Selenium IDE как артефакт пикника на обочине
 
Serious+performance+testing
Serious+performance+testingSerious+performance+testing
Serious+performance+testing
 
Oleynikov sqa days 8_deck
Oleynikov sqa days 8_deckOleynikov sqa days 8_deck
Oleynikov sqa days 8_deck
 
Sqa8 urazov
Sqa8 urazovSqa8 urazov
Sqa8 urazov
 
Sqadays 8-barancev
Sqadays 8-barancevSqadays 8-barancev
Sqadays 8-barancev
 
Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)
 
Ui testing how intel does this
Ui testing   how intel does thisUi testing   how intel does this
Ui testing how intel does this
 
сергей андреев
сергей андреевсергей андреев
сергей андреев
 
павел мильков знания и умения тестировщиков
павел мильков   знания и умения тестировщиковпавел мильков   знания и умения тестировщиков
павел мильков знания и умения тестировщиков
 
ирина карачунская что ждет тестировщика итог-Fin
ирина карачунская   что ждет тестировщика итог-Finирина карачунская   что ждет тестировщика итог-Fin
ирина карачунская что ждет тестировщика итог-Fin
 
павел мильков знания и умения тестировщиков
павел мильков   знания и умения тестировщиковпавел мильков   знания и умения тестировщиков
павел мильков знания и умения тестировщиков
 
евгения фирсова нерелизное тестирование
евгения фирсова   нерелизное тестированиеевгения фирсова   нерелизное тестирование
евгения фирсова нерелизное тестирование
 
андрей дмитриев взгляд со стороны разработчика
андрей дмитриев взгляд со стороны разработчикаандрей дмитриев взгляд со стороны разработчика
андрей дмитриев взгляд со стороны разработчика
 
сергей андреев
сергей андреевсергей андреев
сергей андреев
 
Наталья Руколь - Sqamaps
Наталья Руколь - SqamapsНаталья Руколь - Sqamaps
Наталья Руколь - Sqamaps
 
размышления об аутсорсинге Sqa days 2010
размышления об аутсорсинге Sqa days 2010размышления об аутсорсинге Sqa days 2010
размышления об аутсорсинге Sqa days 2010
 
Андрей Кузьмичев - яндекс в городе
 Андрей Кузьмичев - яндекс в городе Андрей Кузьмичев - яндекс в городе
Андрей Кузьмичев - яндекс в городе
 

Sqadays2010 nalyutin