Архив метки: fix-protocol

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

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

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

Читать далее

Симвология: CUSIP, SEDOL, RIC, ISIN

Обязательные атрибуты любого ордера, его ключевые параметры это ответы на вопросы: «что?», «продать или купить?», «в каком количестве?» и «по чем?».

«Что» — обозначает сам предмет сделки — название ценной бумаги. Чтобы не получилось так, что устно по телефону клиент сказал купить акции «Гугла», а брокер купил акции «Мугла», ордера передаются электронно, а предмет сделки имеет некий универсальный идентификатор, который однозначно определяет ценную бумагу для обоих сторон сделки.

В качестве такого идентификатора ценной бумаги используется определенный уникальный набор символов. Этих идентификаторов может быть несколько. А весь этот набор идентификаторов в биржевой среде называется симвология (symbology).

Читать далее

Почему нельзя использовать double для финансовых расчетов

В финансовых расчетах часто приходится оперировать дробными числами. Например, на некоторых рынках цены на опционы и фьючерсы могут иметь два и даже три знака после запятой. Цены на некоторые акции могут выражаться в пенни, так называемые penny-stocks. Для валидации ордеров перед отправкой на рынок надо проверять, не выходит ли указанная цена ордера за определенные пределы (price limits), рассчитанные от текущей рыночной цены инструмента. Например, надо вычислить +/-5% от цены 1.005. Казалось бы для выражения цены в Java идеально подходит примитивный тип double. Но это крупная, опасная ошибка!

Читать далее

Что такое FIX-engine

FIX-движок (FIX-engine) — это компонент торговой системы, обеспечивающий связь с другими системами по протоколу FIX. Этот компонент отвечает за преобразование внутренних структур приложения в исходящие FIX-сообщения и за конвертацию входящих FIX-сообщений во внутренние структуры данного приложения.

Читать далее

Просмотр FIX-сообщений в логах

Часто при поддержке работы торговой системы бывает важно быстро посмотреть логи на PROD, чтобы найти в логах FIX-сообщений информацию о каком-то определенном ордере, по которому возникли вопросы. Так как чаще всего торговые системы работают на Linux, знание командной строки Linux и его главных утилит очень желательно и полезно.

Читать далее