Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
“Секретные”
технологии
инвестиционных
банков
Алексей Рагозин
В ходе данного доклада никаких секретов, включая
коммерческие и торговые секреты, раскрыто не
будет.
Доклад основан на мат...
“Секретные” технологии
Аналитическая БД
в оперативной памяти
 kX kDB
Система обмена сообщениями
 Informatica Ultra Messa...
kX kdb+
Аналитическая БД
в оперативной памяти
Анализ глубины рынка
Рынок
информирует
подписчиков
о заявках /
сделках в виде
потока событий.
Анализ глубины рынка
Источник - http://www.nanex.net/aqck2/4176.html
Анализ глубины рынка
 Быстрая динамика входных данных
 Анализ исторического окна
 Большое количество арифметики
kX kdb+
Может хранить данные на диске
Интерпретатор языка Q
Q – функциональный язык,
ориентирован на работу с массивами
Ос...
Язык Q
sql-q
select[3;>price] from bids where sym=s,size>0
kX kdb+
Особенности
 Интерпретируемый язык
 Логическая однопоточность
Отдельные операции могут распараллеливаться
 Инте...
Применение kdb+
Аналитика
 Анализ рынка
 Анализ истории сделок
Применение kdb+
Аналитика
 Анализ рынка
 Анализ истории сделок
Анализ логов
 Оптимизация взаимодействия систем
Анализ с...
Дополнительнаяинформация
 Официальный сайт
http://kx.com/
 Доклад про использование kdb+ в Deutsche Bank
http://2013.sec...
Informatica Ultra Messaging
Система обмена
сообщениями
Классика MOM
Store & Forward
Брокер
Источник
Сообщение
Подтверждение
Сообщение
Сообщение
Подтверждение
Потребитель 1
Потре...
Классика MOM
Распределённая транзакция
Гарантия: однократная доставка
База данных Брокер
Бизнес
логика
Сообщение
Запись
По...
Альтернатива 2PC
Сквозная нумерация сообщений
Брокер хранит окно сообщений
 Потребитель может запросить
сообщения с любог...
Reliable multicast
Сообщение N
Сообщение N
Сообщение N
Источник
Потребитель 1
Потребитель N
Replay
Server
Reliable multicast
Гарантия: доставка хотя бы раз
Сообщение N
Сообщение N
Сообщение N
Сообщения M
... N-1
Запрос на
восста...
Informatica Ultra Messaging
 Частично базируется на PGM
Pragmatic General Multicast
https://en.wikipedia.org/wiki/Pragmat...
Informatica Ultra Messaging
Ключевые преимущества
Сквозная нумерация сообщений
 Транзакционные гарантии
Малая задержка
 ...
Отказоустойчивость
Надёжность – вопрос выбора
Локальная сеть - надёжна
 Дублирование оборудования
Сервера / Процессы могу...
Отказоустойчивость
Потребитель 1
Потребитель N
Основной
Датацентр
Резервный
Датацентр
Message
Store
Message
Store
Message
...
Отказоустойчивость
Локальный кворум обеспечивает
гарантию работы при выходе из строя
одного хранилища.
Восстановления потр...
Open Source Аналоги
Apache Kafka
 Publish/Subscribe messaging
 Распределенный журнал сообщений
 Коммуникации через брок...
Архитектура
Фронт-энда для Трейдинга
Complex Event Processing
Фронт-энд для Трейдинга
http://2014.secr.ru/program/submitted-presentations/rapid-development-gui-for-large-data-volumes-w...
Фронт-энд для Трейдинга
Event-Driven
 Даже статические данные меняются
Много источников исходных данных
 Транзакционные ...
Фронт-энд для Трейдинга
Реляционная алгебра как универсальный
инструмент работы с данными
 Нет доменных объектов (есть сх...
Continuous Event Processing
 Event Driven
 Соединение данных из разных источников
 Включая реляционные джойны
 Агрегац...
CEP Движок для Фронт-энда
 Внутренняя разработка
 Обработка данных в памяти
 Инкрементальная обработка событий
 Фильтр...
Спасибо
Алексей Рагозин
alexey.ragozin@gmail.com
http://blog.ragozin.info
Upcoming SlideShare
Loading in …5
×

«Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

980 views

Published on

Как правило, такое базовое ПО, как языки программирования, системы управления базами данных, брокеры сообщений, используется в разных индустриях и не имеет ярко выраженной бизнес-специализации. Java, Python, MySQL и не только находят применение повсюду, начиная с больших корпораций, заканчивая стратапами и видеоиграми.

Тем не менее, встречаются исключения. В докладе пойдёт речь о технологиях, получивших распространение в инвестиционных банках и не слишком известных за их пределами. Хотя прямого отношения к торговле финансовыми инструментами сами по себе эти технологии не имеют.

Тезисы - http://www.highload.ru/2015/abstracts/1888.html

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

«Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

  1. 1. “Секретные” технологии инвестиционных банков Алексей Рагозин
  2. 2. В ходе данного доклада никаких секретов, включая коммерческие и торговые секреты, раскрыто не будет. Доклад основан на материалах доступных из открытых источников.
  3. 3. “Секретные” технологии Аналитическая БД в оперативной памяти  kX kDB Система обмена сообщениями  Informatica Ultra Messaging Complex Event Processing  Внутренняя разработка
  4. 4. kX kdb+ Аналитическая БД в оперативной памяти
  5. 5. Анализ глубины рынка Рынок информирует подписчиков о заявках / сделках в виде потока событий.
  6. 6. Анализ глубины рынка Источник - http://www.nanex.net/aqck2/4176.html
  7. 7. Анализ глубины рынка  Быстрая динамика входных данных  Анализ исторического окна  Большое количество арифметики
  8. 8. kX kdb+ Может хранить данные на диске Интерпретатор языка Q Q – функциональный язык, ориентирован на работу с массивами Основная обработка данных в памяти
  9. 9. Язык Q sql-q select[3;>price] from bids where sym=s,size>0
  10. 10. kX kdb+ Особенности  Интерпретируемый язык  Логическая однопоточность Отдельные операции могут распараллеливаться  Интерпретатор < 500 KiB  Манипуляция массивами  Глубокая оптимизация под архитектуру процессора
  11. 11. Применение kdb+ Аналитика  Анализ рынка  Анализ истории сделок
  12. 12. Применение kdb+ Аналитика  Анализ рынка  Анализ истории сделок Анализ логов  Оптимизация взаимодействия систем Анализ сетевого трафика  Оптимизация сетевых задержек
  13. 13. Дополнительнаяинформация  Официальный сайт http://kx.com/  Доклад про использование kdb+ в Deutsche Bank http://2013.secr.ru/invited-speakers/andrey-babanin Альтернативы  J аналог языка K (предтече Q) https://en.wikipedia.org/wiki/J_%28programming_language%29
  14. 14. Informatica Ultra Messaging Система обмена сообщениями
  15. 15. Классика MOM Store & Forward Брокер Источник Сообщение Подтверждение Сообщение Сообщение Подтверждение Потребитель 1 Потребитель N
  16. 16. Классика MOM Распределённая транзакция Гарантия: однократная доставка База данных Брокер Бизнес логика Сообщение Запись Подтверждение Двух фазный коммит
  17. 17. Альтернатива 2PC Сквозная нумерация сообщений Брокер хранит окно сообщений  Потребитель может запросить сообщения с любого номера Потребитель хранит номер последнего обработанного сообщения Распределённая транзакция не требуется
  18. 18. Reliable multicast Сообщение N Сообщение N Сообщение N Источник Потребитель 1 Потребитель N Replay Server
  19. 19. Reliable multicast Гарантия: доставка хотя бы раз Сообщение N Сообщение N Сообщение N Сообщения M ... N-1 Запрос на восстановление #M Источник Потребитель 1 Потребитель N Replay Server
  20. 20. Informatica Ultra Messaging  Частично базируется на PGM Pragmatic General Multicast https://en.wikipedia.org/wiki/Pragmatic_General_Multicast  Несколько реализаций транспорта UDP multicast – минимальнаязадержка UDP unicast TCP  Реализация дискового eplay server
  21. 21. Informatica Ultra Messaging Ключевые преимущества Сквозная нумерация сообщений  Транзакционные гарантии Малая задержка  Прямая передача от источника получателю  Мультикаст
  22. 22. Отказоустойчивость Надёжность – вопрос выбора Локальная сеть - надёжна  Дублирование оборудования Сервера / Процессы могут падать Резервный датацентр – холодный  Исключительная ситуация  Полуавтоматическая процедура
  23. 23. Отказоустойчивость Потребитель 1 Потребитель N Основной Датацентр Резервный Датацентр Message Store Message Store Message Store Message Store Message Store Message Store Источник Подтверждение иерархическим кворумом
  24. 24. Отказоустойчивость Локальный кворум обеспечивает гарантию работы при выходе из строя одного хранилища. Восстановления потребителя происходит из всех хранилищ Хранилища могут иметь “дырки” “Дырки” сами не восстанавливаются
  25. 25. Open Source Аналоги Apache Kafka  Publish/Subscribe messaging  Распределенный журнал сообщений  Коммуникации через брокера Apache Bookkeeper/HedWig  Распределённый журнал  Основан на Zookeeper  Коммуникации через брокера ZeroMQ  Реализация PGM  Нет инфраструктуры восстановления
  26. 26. Архитектура Фронт-энда для Трейдинга Complex Event Processing
  27. 27. Фронт-энд для Трейдинга http://2014.secr.ru/program/submitted-presentations/rapid-development-gui-for-large-data-volumes-with-cqrs Контролер Шина обмена сообщениями ШлюзШлюз Кэш
  28. 28. Фронт-энд для Трейдинга Event-Driven  Даже статические данные меняются Много источников исходных данных  Транзакционные данные  Справочники (статические данные)  Котировки Таблицы на входе, таблицы на выходе  Основная визуализация - таблицы  Исходные данные - таблицы
  29. 29. Фронт-энд для Трейдинга Реляционная алгебра как универсальный инструмент работы с данными  Нет доменных объектов (есть схема)  Формирования UI по метаданным  Удобный энричмент данных  Быстрая разработка Нужна непрерывная обработка запросов Continuous Query
  30. 30. Continuous Event Processing  Event Driven  Соединение данных из разных источников  Включая реляционные джойны  Агрегация данных  Инкрементальные алгоритмы Чего не хватает традиционным CEP?  В традиционных CEP – преобразования статичны.  Для UI нужна возможность строить запросы на лету.
  31. 31. CEP Движок для Фронт-энда  Внутренняя разработка  Обработка данных в памяти  Инкрементальная обработка событий  Фильтрация / Джойны / Агрегация  Быстрая инициализация новых запросов  Переиспользованиеэквивалентных операторов между запросами  Поисковые индексы
  32. 32. Спасибо Алексей Рагозин alexey.ragozin@gmail.com http://blog.ragozin.info

×