Лог заявок (full order log -> анонимный order log)
Atom Ответить
14.02.2012


Добавил эту поддержку несколько дней назад. Сейчас данные транслируются как заявки и собственные сделки с анонимным портфелем. Появилось желание сделать опцию для построения стаканов из лог заявок. Сделал и это, но не до конца. Стакан строится как-то криво, с захлестами бидов на офферов. Если есть желание у кого-то, милости прощу доделать.

Теги:


Спасибо:




45 Ответов
1 2  >
Alexander

Фотография
Дата: 16.02.2012
Ответить


Вчера начал заниматься этим, но не закончил.
Столкнулся со следующими проблемами:

1) Первоначально, до начала сессии, стакан уже некий существует - его надо получить и именно им инициализировать стакан инструмента.
2) Далее начинается анализ потока заявок - есть 3 статуса -
а) добавлена
б) отменена
в) сведена в сделку.


а) Заявка может быть добавлена с любой абсолютно ценой. К примеру, у нас в стакане офер на 11, бид на 9. Мы легко можем послать заявку бай с ценой 15.
тогда в ордер_лог будет как раз:
<добавлена> 15
Нам же для этого случая (цена > офера) не надо добавлять бид с ценой 15, нам надо просто запомнить что такая заявка есть. Иначе у нас поплывёт весь стакан и мы неправильно будем дальше его строить - Лучший_бид \ лучший_аск, биды, аски будут абсолютно неверными.

б) Отменена - тут всё понятно - просто cancel, удаляем нужный объём.

в) Сведена - тоже понятно, просто уменьшаем на сведённый объём.




Есть вопрос по реализации пункта 1) и по тому как корректно реализовать 2а).
Свой вариант для 2а) положил на codeplex, но считаю его далеко не оптимальным.

И самый главный вопрос - так ли нам нужно построение стакана по полному ордер_логу?
Слишком он большой для прокачки. Если включаем не с начала дня, то прокачивает с час.
Спасибо:

Alexander

Фотография
Дата: 08.04.2012
Ответить


С помощью Limfocit добавлена поддержка построения стакана по полному ордер логу. Cool
Спасибо:

transdex

Фотография
Дата: 11.04.2012
Ответить


Alexander Mukhanchikov Перейти
С помощью Limfocit добавлена поддержка построения стакана по полному ордер логу. Cool


Ну и как, сильно отличается от стакана, построенного обычным образом?
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 11.04.2012
Ответить


transdex Перейти

Ну и как, сильно отличается от стакана, построенного обычным образом?


Скажу как чайник. Мельтешит так, что пришлось в примере снова сделать интервальное обновление стакана. Иначе просто зависало.
Автор топика
Спасибо:

transdex

Фотография
Дата: 11.04.2012
Ответить


Так Вы что, каждую заявку отдельно обрабатываете? Т.е. не так как в ядре РТС?
Спасибо:

Alexander

Фотография
Дата: 11.04.2012
Ответить


transdex Перейти
Так Вы что, каждую заявку отдельно обрабатываете? Т.е. не так как в ядре РТС?


приходит ордер лог - он обрабатывается
от стакана построенного обычным образом ничем не отличается и отличаться кроме скорости и синхронизации с заявками не должно
Спасибо:

transdex

Фотография
Дата: 11.04.2012
Ответить


Alexander Mukhanchikov Перейти

приходит ордер лог - он обрабатывается

Давайте точнее выражаться. Приходит отдельные заявки или пакеты (очереди заявок)за некоторый интервал времени?
Спасибо:

Alexander

Фотография
Дата: 11.04.2012
Ответить


transdex Перейти
Alexander Mukhanchikov Перейти

приходит ордер лог - он обрабатывается

Давайте точнее выражаться. Приходит отдельные заявки или пакеты (очереди заявок)за некоторый интервал времени?


приходит новая порция данных по таблице ордер_лога от биржи.
она обрабатывается, соответствующим образом меняется стакан

если интересно ещё точнее - подпишитесь на событие добавление новой записи в таблицу ордер лога и смотрите что присылает биржа.
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 12.04.2012
Ответить


transdex Перейти
Так Вы что, каждую заявку отдельно обрабатываете? Т.е. не так как в ядре РТС?


Если учитывать, что ядро РТС строит стаканы так, что оно по тайм стемпу не совпадает со сделками, то да, мы не так как в РТСBigGrin
Автор топика
Спасибо:

transdex

Фотография
Дата: 13.04.2012
Ответить


Мой интерес отнюдь не праздный. Порожден он призывами ( раздающимися на некоторых форумах - rts.ru, smart-lab.ru) запретить Full_Order_Log как Вселенское зло, ибо он позволяет куклу видеть будущее и обижать маленьких. С другой стороны, по моим прикидкам (на РТС не работаю, тонких деталей не знаю, могу и ошибаться) возможен вариант, что ордерлог это просто лог, т.е. история построения текущего агрегированного стакана. Соответственно стакан построенный по ордерлогу будет (в среднем) отставать от текущего агрегированного стакана. Хотя и мельтешит.
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 13.04.2012
Ответить


transdex Перейти
Соответственно стакан построенный по ордерлогу будет (в среднем) отставать от текущего агрегированного стакана.


Про Ахиллеса и черепаху слышали?
Автор топика
Спасибо:

transdex

Фотография
Дата: 13.04.2012
Ответить


Mikhail Sukhov Перейти


Про Ахиллеса и черепаху слышали?


Слышал, но здесь (возможно) более подходит случай морковки (агрегированный стакан) и осла (стакан построенный по ордерлогу). Очень хотелось бы разобраться.
Спасибо:

vlad1024

Фотография
Автор статей
Дата: 13.04.2012
Ответить


обычно орделог это и есть первичная информация по которой сводятся заявки и которую отдает ядро, а стаканы вообще может сводить уже брокер и раздавать клиентам, по крайней мере такая ситуация на многих западных площадках.
Спасибо:

transdex

Фотография
Дата: 13.04.2012
Ответить


vlad1024 Перейти
обычно орделог это и есть первичная информация по которой сводятся заявки и которую отдает ядро, а стаканы вообще может сводить уже брокер и раздавать клиентам, по крайней мере такая ситуация на многих западных площадках.

Вопрос в том - когда отдает ядро? Раньше чем агрегированый стакан или одновременно? Одновременно - значит в конце интервала накопления ордеров они обрабатываются ядром практически мгновенно и наступает момент рассылки анонимных данных - одновременно уходит пачка апдейтов переводящих предыдущее состояние агрегированного стакана в текущее, пачка ордеров, обработка которых на месте также переводит предыдущее состояние стакана в текущее и пачка сделок меченных одним временем.
Спасибо:

Макс

Фотография
Дата: 13.04.2012
Ответить


А в тестовом доступе на Плазу транслируется FullOrderLog ?
Спасибо:

Alexander

Фотография
Дата: 13.04.2012
Ответить


transdex Перейти
vlad1024 Перейти
обычно орделог это и есть первичная информация по которой сводятся заявки и которую отдает ядро, а стаканы вообще может сводить уже брокер и раздавать клиентам, по крайней мере такая ситуация на многих западных площадках.

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



мне кажется проще самому сделать быстрый тест получения стакана и всё встанет на свои места,подобные вопросы отпадут
Спасибо:

Alexander

Фотография
Дата: 13.04.2012
Ответить


Макс Перейти
А в тестовом доступе на Плазу транслируется FullOrderLog ?


да
Спасибо: Макс

Макс

Фотография
Дата: 14.04.2012
Ответить


Alexander Mukhanchikov Перейти
Макс Перейти
А в тестовом доступе на Плазу транслируется FullOrderLog ?


да

Есть ли пример или описание как получить доступ к нему (FullOrderLog через s#)?

Спасибо:

Alexander

Фотография
Дата: 14.04.2012
Ответить


Макс Перейти
Alexander Mukhanchikov Перейти
Макс Перейти
А в тестовом доступе на Плазу транслируется FullOrderLog ?


да

Есть ли пример или описание как получить доступ к нему (FullOrderLog через s#)?



SampleGui
Спасибо:

Liberal

Фотография
Дата: 24.05.2012
Ответить


Alexander Mukhanchikov Перейти
С помощью Limfocit добавлена поддержка построения стакана по полному ордер логу. Cool


Не могли бы показать место в документации, с функциями построения стаканов по ордер логу? Есть ли возможность по логу заявок, скачанному вот отсюда: http://ftp.rts.ru/pub/info/historical_data/ строить стаканы? Я в процессе написания соответствующего кода, но что-то нет уверенности в его корректной работе.
Спасибо:

Alexander

Фотография
Дата: 24.05.2012
Ответить


Liberal Перейти
Alexander Mukhanchikov Перейти
С помощью Limfocit добавлена поддержка построения стакана по полному ордер логу. Cool


Не могли бы показать место в документации, с функциями построения стаканов по ордер логу? Есть ли возможность по логу заявок, скачанному вот отсюда: https://ftp.rts.ru/pub/info/historical_data/ строить стаканы? Я в процессе написания соответствующего кода, но что-то нет уверенности в его корректной работе.


PlazaTrader.CreateDepthFromOrdersLog
Спасибо: Liberal

VirKato

Фотография
Дата: 18.06.2012
Ответить


Два вопроса:
1)После объединения micex предоставляет full order log по основной площадке?
2)Где можно купить ордер лог по фондовой секции micex (интересуют синие чипсы)?
Спасибо!
Спасибо:

Alexander

Фотография
Дата: 18.06.2012
Ответить


нет \ нигде, нет в природе. по крайней мере в открытом доступе для покупки
Спасибо:

VirKato

Фотография
Дата: 18.06.2012
Ответить


т.е. максимум, что провайдит micex это обычный стакан который мы видим в квике?
http://rts.micex.ru/a235
Цитата:

ММВБ Уровень 2
Информация о сделках и очереди заявок (стакан) по рынкам ММВБ: индексы, фондовый рынок,
государственные облигации, срочный рынок, валютный рынок, товарный рынок.
Спасибо:

FiNick

Фотография
Благотворитель
Дата: 02.07.2012
Ответить


Alexander Mukhanchikov Перейти
Макс Перейти
А в тестовом доступе на Плазу транслируется FullOrderLog ?


да


Версия 4.1.1. Подключаюсь к тестовому контуру. Подписываюсь на plaza.NewOrderLogItems, на старте выполняю plaza.RegisterOrderLog(security). Событие NewOrderLogItems не приходит, хотя стакан обновляется.

Пробовал подключиться к тестовому контуру гидрой. В логе огромное число ошибок типа:
02:46:58.0813267 Plaza Сохранение лога заявок для LKU2@RTS
02:46:58.0823267 Plaza System.ArgumentOutOfRangeException: Неправильный объем заявки.
Parameter name: items
Actual value was 0.
Спасибо:
1 2  >

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy