Блог им. yurikon

Как вы оцениваете задержки и проскальзывания ордеров?

    • 08 октября 2024, 07:52
    • |
    • yurikon
  • Еще
Всем привет!

Есть задача оптимизировать исполнение ордеров. Для этого надо собрать аналитику по ордерам. Главный критерий — это, конечно, проскальзывание. Насколько хуже исполнили ордер по сравнению с тем, если бы сразу просто кинули в рынок по маркету. Также нужна вспомогательная инфа по задержкам доставки ордеров на биржу, латенси. С помощью этой аналитики можно определить какие квики (коннекторы) более медленные и сделать соответствующие выводы.

Для оценки проскальзывания можно сравнивать лучшую встречную котировку в момент создания ордера и итоговое исполнение.
Задержки (латенси) можно померить через разницу локального времени отправки на биржу и ответом (round trip).

Какие метрики еще посоветуете ?

Всех благ.
25 комментариев
Когда я кидал заявки в рынок, я в комменте заявки указывал цену, по которой робот принял решение на вход, например S90000. Потом вечером из квика выгружал сделки и считал разницу факта и цены в комментарии. Тогда меня расхождения устраивали.

Теперь, когда торгую лимитками, у меня прога исполнитель заявок получает заявку из бота, и исполнитель ведет учет разницы цены бота и цены по которой заявка исполнилась после перестановок. И накапливает статистику по этой величине. Ранее я приводил цифры из этой статистике для каждого тикера, тут в моем блоге должно быть. Кстати давно не заглядывал в эту цифру, надо будет обновить информацию.
avatar
T-800, с ценой в коммент заявки — дешево и сердито ;-). Можно просто в ОДБЦ таблицу выгружать и потом запрос легко посчитать.
avatar
yurikon, ну это когда по рынку кидал. А как потом совместить таблицу из ОДБС с логом робота? Понятно, что они должны быть один в один, но время может точно не совпасть для join. А если какие-нибудь обрывы связи, или что еще.
А так, к вечеру уже готовая таблицы в квике, ничего джойнить не нужно.
avatar
T-800, когда и если обновите, пожалуйста, опубликуйте здесь снова.
avatar
SergeyJu, хорошо
avatar
SergeyJu, сейчас посмотрел, слишком статистика хорошая получилась, возможно ошибка, буду перепроверять.
avatar
SergeyJu, проверил, ошибки не нашел.
Итак, логика расчета, которую я смог реализовать следующая:
У меня исполнитель заявок получает от роботов сводную позицию и выводит ее на рынок. У него на входе, допустим позиция 50 Si, а в квике 39 Si, его задача докупить 11. Он фиксирует цену по которой он мог зайти по рынку (поле  «ЦРынок») и выставляет лимитную заявку например в лучший бид или аск (с отступом или без, в зависимости от настроек) цена фиксируется в поле «ЦОрдер». Если не исполнилась через определенное время, перемещает ее в новый спред и фиксирует новую «ЦОрдер». В конце считает результат и суммирует его накопительно в первое поле «Проск», а кол-во контрактов в «Конт». В последнем поле считает 100*«Проск»/«Конт», т.е. сколько проскальзывает в % на один контракт.

Минус это убыток, плюс это значит входит лучше, чем кидать по рынку.
В акциях картина другая. Там почти всегда минус от 0 до -0.3% проскальзывание, т.е. постоянно приходится догонять сред. А фьючи более «дерганные», что-ли и проскальзывание около сейчас 0 получается.
avatar
T-800, логика понятная, собственно, она годится для отработки параметров простого алгоритма выставления заявок. Есть правда еще задержка между моментом получения данных и моментом выставления ордера. 
Жаль, что  предсказать, как увеличатся потери при росте объема выставляемых заявок, сложно. 
А то, что проскальзывание в акциях много больше, чем во фьючах, результат естественный. Я так и закладываюсь обычно при расчетах. 
avatar
SergeyJu, да, тут задержка есть, она от 1-2 секунд даже. Для моих алгоритмов это не критично, т.к. ТФ 5-60 мин. и он сдвинут на 2 минуты, чтобы сделки не совпадали с большинством, кто торгует на стандартных таймфреймах, чтобы не попадать на всплеск заявок, например по завершению часа.

Я сам капитал размазываю по облаку параметров (чтобы по частям заходить и общая эквити сглаживается). Для фьючей некритично, а вот в акциях второго эшелона бывает ордер вывалишь и видно, что влияешь на рынок своим объемом. 
avatar
а просто посчитать потери относительно теоретического результата недостаточно? 
avatar
SergeyJu, при условии, что теоретический результат вы можете воспроизвести весь в точности и за любой период в прошлом. Когда коды систем модифицируются, это не всегда становится возможным.
avatar
Ну а как вам надо??
Микросекунды выигрывать??
Попробуйте обойти задержки на пром серверах брокеров (ну где проверяется ваша платежеспособность)
Они самое из Кремля горлышко системы.
Но у ключевых блокеров они на «МТ -Финанс» Провайдере, если у вас сервер выставляющий заявку выше уровня (например бункер ГПКС в Лосином острове) то вы в разы быстрее всех остальных будете выставляться…
Но вопрос зачем это всё?
Лимитка с моб у Алор+ ставится прекрасно для си — норм…
avatar
Sergio Fedosoni, ответ — хочу войти в сделку с лимитника и не заплатить комиссию и чтобы цена убежала не больше, чем комиссия + проскольз в момент сигнала. Это если вкратце :-)
avatar
Хотите быстро и дешего Алор фаст или АПИ + мт-финанс rdp
avatar
Давно не считал проскальзывание. У меня в теории оно 0,2% на операцию для отбора системы, а сейчас, когда в одной стоп-лимит заявке не больше 20 млн. руб. по номиналу, ставлю для лимита покупки стоп+0.1% (для продажи -0.1%) для Сбербанка, Газпрома и Лукойла, плюс-минус 0.01 руб. для цены юаня и плюс-минус 50 пунктов для фьючерса на индекс РТС. Несрабатываний не было уже год с лишним точно.
avatar
А. Г., боюсь, что кидать в рынок ордер на 20 млн руб не самая оптимальная стратегия 
avatar
yurikon, я не один ордер в сумме на эту сумму кидаю, а 5-6. Ну а про проскальзывание в конкретных инструментах при кидании этих ордеров от стопов я и написал.
avatar
А. Г., Вы ордера по рынку кидаете?
avatar
T-800, нет, я стоп-лимиты ставлю в Квики.
avatar
Негативно.
avatar
  
avatar
__rtx, да, у объекта ордер есть несколько временных меток — создан, отправлен, зареган, зафилен  и тд. По ним потом можно будет задержки мерить мин, макс, среднюю.
avatar
  
avatar
По задержкам: можно подбивать статистику «с какой попытки удалось всунуть BoC ордер».  Если 90% не ставятся с 1-го раза, терминал лагает и все время смотрит в устаревший стакан.
avatar
Кирилл Гудков, ага, добавил флаг BOC в таблицу архивных ордеров. Потом по доле реджектов можно будет оценить качество. Спасибо.
avatar

теги блога yurikon

....все тэги



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