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


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

Теги:


Спасибо:


1 2 3  > >>
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 как Вселенское зло, ибо он позволяет куклу видеть будущее и обижать маленьких. С другой стороны, по моим прикидкам (на РТС не работаю, тонких деталей не знаю, могу и ошибаться) возможен вариант, что ордерлог это просто лог, т.е. история построения текущего агрегированного стакана. Соответственно стакан построенный по ордерлогу будет (в среднем) отставать от текущего агрегированного стакана. Хотя и мельтешит.
Спасибо:
1 2 3  > >>

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

loading
clippy