dr-mart

Маркетдата СПБ биржи. Протокол FIX/FAST

Алгодобрые люди, подскажите советом плиз.

Задача: взять котировки у СПБ биржи и показывать их на смартлабе и в ваших портфелях.

СПБ биржи отдает данные только через протокол FIX/FAST. Для сайта это суровое черезжопное решение — нам надо брать и с нуля писать на C++/C# engine под этот протокол, либо дорабатывать скачанные где-то библиотеки, а потом переписывать под себя, чтобы данные через протокол попадали в нашу базу данных. Решение геморройное и недешевое.

Как нам быть? Итак, пока мы видим следующие решения, может подскажете оптимальный алгритм...

1️⃣ Писать коннектор FIX/FAST
2️⃣ Поставить QUIK на сервер, и тянуть данные оттуда, написать приблуду на Lua
3️⃣ Парсить данные с сайта СПБ https://spbexchange.ru/ru/market-data/ 😁
4️⃣ Забрать данные через АПИ дата провайдеров, например tinkoff API etc.

Я честно говоря в шоке, что есть только такой интерфейс, потому что например у МОЕХ есть белый и пушистый json формат, который удобно брать и делать с ним что угодно.
★6
28 комментариев
Котировки с СПБ обязательно нужны
@Тимофей,
не нужно писать самим FIX коннектор. Возьмите готовый — QuikFix. Максимум что может потребоваться подправить словарь фикс сообщений, но для котировок наверное и этого не потребуется
www.quickfixengine.org/


avatar
Alexey, спасибо, посмотрим
QuickFix python\ruby поддерживает
avatar
третий вариант, самый оптимальный и дешевый, остальные требуют обслуживания т.к. то соединение отвалится то протокол обновят
avatar
Андрей Иванов, 
хрень, а не вариант. Зачем городить костыли, когда есть нормальные решения с фиксом и готовая библиотека, которая широко используется в индустрии
В общем, я бы вообще закрыл вопрос, т.к. ответ был дан.
QuikFix под конкретный проект настраивается за 1-3 дня.
avatar
Alexey, спасибо
Alexey, не в российских реалиях. Сделал и забыл не получится
avatar
Alexey, абстракный программист только неделю читать будет, чтобы понять что такое фикс.
avatar
Андрей Иванов, третий тоже требует обслуживания, т.к. если нет открытого API, и парсить надо будет напрямую, то любое изменение верстки, уронит работу парсера, и нужно будет исправлять правила
avatar
Не тот сайт смотришь!
У них на сайте виджет TradingView 
 investcab.ru/ru/inmarket/torg_instruments/card.aspx?issue=3704


avatar
Тимофей активизировался) Байкал разозлил походу) У тебя же административный ресурс — накидай себе рейтинга)) Делов то)
avatar
А не проще с TradingView договориться?
avatar
Насколько помню есть коннекторы на шарпе к фикс-фаст, как и коннекторы на шарпе к квику. В обоих случаях придется работать со сделками, чтобы мониторить цену.
Про вторые могу сказать — работают очень хорошо.
Оба этих решения нужны, если планируешь делать портфели с пересчетом быстрее чем 100-200мс.
В остальных случаях лучше что-нибудь попроще и без дополнительного зоопарка технологий.
avatar
Делать/Купить прямой коннектор. Кроилово ведет к попадалову.
avatar
Вот не пойму, чем квик-то не устраивает. Неужели задержка в доли секунды  кого-то парит, кроме ХФТ? 
avatar
SergeyJu, да меня даже задержка в 15 минут устроит
Тимофей Мартынов, ну и пишите в базу с квика.
avatar
5 вариант : 

— создать тайный консорциум в партнерстве с МосБиржей
— привлечь внутреннее/внешнее финансирование под операцию
— развернуть черный пиар питерской биржи 
— дождаться массового оттока клиентов
— вынудить акционеров продать акции за бесценок вашему консорциуму 
— ликвидировать/поглотить конкурента по вкусу


avatar

1) Если выберешь свой коннектор, это будет самый надежный путь. Ни от кого не зависишь. Но опыт последних лет нашей биржи теперь говорит о говорит о том, что постоянно придется поддерживать этот вариант. Биржа вносит раз в квартал какие то изменения, нужно адаптировать часто свою разработку. Как это будет в СПБ пока не известно. Если что, алготрейдеры много лет юзали эту либу под c++. Чтобы запустить, нужно повозиться, зато потом все просто, даже при изменениях биржи.

objectcomputing.github.io/mFAST/

 

2) Чужое API, которые ты перечислил, сыроваты, на первый год наверянка поимеешь доп работы частые. Не получится — сделал и забыл.

 

3) Квик прикольное решение. Если твое железо потянет постоянно гонять квик и парсить от туда, почему бы нет.

4) Парсить сайт самое изящное решение. Главный минус — вдруг биржа поменяет  структуру таблицы. Опять садиться переделывать. Нужно качественно подойти к выбору существующих парсеров, чтобы потом на пару лет забыть об этом вопросе. 

avatar
Андрей К, спасибо
Андрей К, 
хотел спросить про с++.
Вы на каком С++ работаете, какой компилятор ?
Я хотел постепенно вернуться на C++.
Посмотрел интернет на эту тему, — масса всякой всячины.
С++ и Qt, С++ и Boost. Компиляторов разных до хрена.
Какой оптимальный набор средств для среднего уровня?
На STL раньше работал, так что вспомнить точно смогу.
А вот остальное, что-то все незнакомым кажется.
avatar
Тимофей, здравствуйте!
У нас как раз есть маркетдата в формате пушистого JSON: https://alor.dev/docs
А котировки с задержкой в 15+ минут можно получать вообще без авторизации.

Да и в целом готовы помочь)
avatar
Extred, ничего себе круто
спасибо
а ограничения по частоте и количеству запросов есть?
Тимофей Мартынов, прям по количеству пока не режем. Но если от кого-то очень много запросов, то снижаем приоритет обработки.
avatar
Главное  в этом деле внимательно читать договора с поставщиками данных относительно пунктов о нераспространении информации.
avatar

теги блога Тимофей Мартынов

....все тэги



UPDONW
Новый дизайн