FIXatdl — стандарт, который не взлетел

С ростом популярности алгоритмической торговли Sell-side компании стали предоставлять своим клиентам доступ к своим алгоритмам и к своим системам алгоритмической торговли — этот сервис назывался Direct Strategy Access. Рост конкуренции между брокерами заставлял их предлагать своим клиентам все новые и новые алгоритмы. Каждый новый алгоритм помимо экзотического названия имел еще ряд параметров, а при генерации FIX сообщения от Buy-side к брокеру эти параметры помещались в кастомные теги.

Разработчики алгоритмов посчитали, что всякий раз описывать новые параметры и теги в специальной документации — неудобно. Хоть FIX — простой и расширяемый протокол, чтение документа занимает время, в документ-спецификацию могут вкрасться ошибки, а с обновлением алгоритма обновление документации — занимает время. Кроме того, представьте, что Sell-side работает с несколькими брокерами, и у всех этих брокеров есть алгоритм VWAP. Но у каждого из брокеров этот алгоритм имеет какие-то свои особенные дополнительные параметры, а в FIX сообщении значения этих параметров могут помещаться в разные теги.

История

Возникла идея: а почему бы не передавать описание алгоритма и его параметров в виде XML-файла, который можно было бы автоматически распарсить, преобразовать в ui с нужными полями, кнопками и окошками, а потом на основании этого файла создавать FIX сообщение, которое брокер на своей стороне уже готов принять и обработать. Такие XML-файлы можно было бы скармливать OMS, и та автоматически бы поддерживала новые или измененные алгоритмы без переписывания вручную и редеплоя.

Идея показалась настолько заманчивой, что было решено оформить ее в стандарт. На основании стандарта брокеры могли бы создавать свои xml файлы а вендоры oms писали бы код, который эти файлы парсит и преобразовывает в ui. Так родился стандарт FIXatdl (FIX Algorithmic Trading Definition Language). В 2004 году была сформирована рабочая группа, но первая рабочая спецификация версия 1.0 была опубликована лишь 28 марта 2008 года.

Несмотря на начальный энтузиазм и оптимистичные прогнозы аналитиков спецификация никого не заинтересовала. Некоторые вендоры систем управления ордерами стали ее поддерживать, например, компания ULLINK. Но дальше этого не пошло. Ограничения версии 1.0 попытались преодолеть в новой версии спецификации 1.1, которую представили 23 марта 2010 года. Разработка версии 1.2 ведется, но очень медленно из-за низкого интереса даже к спецификации версии 1.1. Обещают стандарт 1.2 выпустить вот-вот, а пока можно ознакомиться с его предварительной версией.

Если вам интересна эта технология чисто с развлекательной точки зрения, имеются реализации парсеров FIXatdl на Java и на .NET. Если в ваших карьерных планах значится работа с OMS ULLINK, то знание FIXatdl, хотя бы базовое, — пригодится.

atdl4j

На git-странице проекта atdl4j дается краткое описание проекта. Выкачав проект из git-репозитория, проект можно собрать командой:

mvn clean install

После сборки его можно запустить в двух вартиантах. С UI Swing:

mvn exec:java -Pswing

или в варианте SWT:

mvn exec:java -Pswt

На экране появится небольшое окно:

В поле «Load FIXatdl XML file» загрузите файл-пример SampleStrategiesFor-v1.1.xml, который идет с проектом. UI изменится вот так:

Как видите, atdl4j распарсил XML-файл. Вычленил стратегии, в нем описанные (их было в файле всего две), и создал по этому описанию UI с параметрами этих стратегий. Первая стратегия на иллюстрации — это некая выдуманая стратегия Tazer. Если поиграться с параметрами, а потом нажать кнопку Validate Output, в соседнем поле появится FIX-сообщение.

В нем выбранные вами параметры будут помещены в определеные теги, которые были связаны с этими параметрами в XML-описании стратегии.

Вторая стратегия Get Done выглядит так:

Данный пример дает наглядное представление, какие параметры могут быть у стратегий, какая терминология используется при их описании, и как вообще работает спецификация FIXatdl, которая так и не завоевала сердец ни бизнеса, ни технологов.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s