Как вы оцениваете задержки и проскальзывания ордеров?
Всем привет!
Есть задача оптимизировать исполнение ордеров. Для этого надо собрать аналитику по ордерам. Главный критерий — это, конечно, проскальзывание. Насколько хуже исполнили ордер по сравнению с тем, если бы сразу просто кинули в рынок по маркету. Также нужна вспомогательная инфа по задержкам доставки ордеров на биржу, латенси. С помощью этой аналитики можно определить какие квики (коннекторы) более медленные и сделать соответствующие выводы.
Для оценки проскальзывания можно сравнивать лучшую встречную котировку в момент создания ордера и итоговое исполнение.
Задержки (латенси) можно померить через разницу локального времени отправки на биржу и ответом (round trip).
Когда я кидал заявки в рынок, я в комменте заявки указывал цену, по которой робот принял решение на вход, например S90000. Потом вечером из квика выгружал сделки и считал разницу факта и цены в комментарии. Тогда меня расхождения устраивали.
Теперь, когда торгую лимитками, у меня прога исполнитель заявок получает заявку из бота, и исполнитель ведет учет разницы цены бота и цены по которой заявка исполнилась после перестановок. И накапливает статистику по этой величине. Ранее я приводил цифры из этой статистике для каждого тикера, тут в моем блоге должно быть. Кстати давно не заглядывал в эту цифру, надо будет обновить информацию.
yurikon, ну это когда по рынку кидал. А как потом совместить таблицу из ОДБС с логом робота? Понятно, что они должны быть один в один, но время может точно не совпасть для join. А если какие-нибудь обрывы связи, или что еще.
А так, к вечеру уже готовая таблицы в квике, ничего джойнить не нужно.
SergeyJu, проверил, ошибки не нашел.
Итак, логика расчета, которую я смог реализовать следующая:
У меня исполнитель заявок получает от роботов сводную позицию и выводит ее на рынок. У него на входе, допустим позиция 50 Si, а в квике 39 Si, его задача докупить 11. Он фиксирует цену по которой он мог зайти по рынку (поле «ЦРынок») и выставляет лимитную заявку например в лучший бид или аск (с отступом или без, в зависимости от настроек) цена фиксируется в поле «ЦОрдер». Если не исполнилась через определенное время, перемещает ее в новый спред и фиксирует новую «ЦОрдер». В конце считает результат и суммирует его накопительно в первое поле «Проск», а кол-во контрактов в «Конт». В последнем поле считает 100*«Проск»/«Конт», т.е. сколько проскальзывает в % на один контракт.
Минус это убыток, плюс это значит входит лучше, чем кидать по рынку.
В акциях картина другая. Там почти всегда минус от 0 до -0.3% проскальзывание, т.е. постоянно приходится догонять сред. А фьючи более «дерганные», что-ли и проскальзывание около сейчас 0 получается.
T-800, логика понятная, собственно, она годится для отработки параметров простого алгоритма выставления заявок. Есть правда еще задержка между моментом получения данных и моментом выставления ордера.
Жаль, что предсказать, как увеличатся потери при росте объема выставляемых заявок, сложно.
А то, что проскальзывание в акциях много больше, чем во фьючах, результат естественный. Я так и закладываюсь обычно при расчетах.
SergeyJu, да, тут задержка есть, она от 1-2 секунд даже. Для моих алгоритмов это не критично, т.к. ТФ 5-60 мин. и он сдвинут на 2 минуты, чтобы сделки не совпадали с большинством, кто торгует на стандартных таймфреймах, чтобы не попадать на всплеск заявок, например по завершению часа.
Я сам капитал размазываю по облаку параметров (чтобы по частям заходить и общая эквити сглаживается). Для фьючей некритично, а вот в акциях второго эшелона бывает ордер вывалишь и видно, что влияешь на рынок своим объемом.
SergeyJu, при условии, что теоретический результат вы можете воспроизвести весь в точности и за любой период в прошлом. Когда коды систем модифицируются, это не всегда становится возможным.
Ну а как вам надо??
Микросекунды выигрывать??
Попробуйте обойти задержки на пром серверах брокеров (ну где проверяется ваша платежеспособность)
Они самое из Кремля горлышко системы.
Но у ключевых блокеров они на «МТ -Финанс» Провайдере, если у вас сервер выставляющий заявку выше уровня (например бункер ГПКС в Лосином острове) то вы в разы быстрее всех остальных будете выставляться…
Но вопрос зачем это всё?
Лимитка с моб у Алор+ ставится прекрасно для си — норм…
Sergio Fedosoni, ответ — хочу войти в сделку с лимитника и не заплатить комиссию и чтобы цена убежала не больше, чем комиссия + проскольз в момент сигнала. Это если вкратце :-)
Давно не считал проскальзывание. У меня в теории оно 0,2% на операцию для отбора системы, а сейчас, когда в одной стоп-лимит заявке не больше 20 млн. руб. по номиналу, ставлю для лимита покупки стоп+0.1% (для продажи -0.1%) для Сбербанка, Газпрома и Лукойла, плюс-минус 0.01 руб. для цены юаня и плюс-минус 50 пунктов для фьючерса на индекс РТС. Несрабатываний не было уже год с лишним точно.
yurikon, я не один ордер в сумме на эту сумму кидаю, а 5-6. Ну а про проскальзывание в конкретных инструментах при кидании этих ордеров от стопов я и написал.
__rtx, да, у объекта ордер есть несколько временных меток — создан, отправлен, зареган, зафилен и тд. По ним потом можно будет задержки мерить мин, макс, среднюю.
По задержкам: можно подбивать статистику «с какой попытки удалось всунуть BoC ордер». Если 90% не ставятся с 1-го раза, терминал лагает и все время смотрит в устаревший стакан.
Волатильность на валютном рынке сохранится в начале недели, в дальнейшем ждем ее ослабления, рассчитывая на подстройку каналов притока валюты и не исключая поддержки со стороны ЦБ - ПСБ Биржевой курс...
Волатильность на валютном рынке сохранится в начале недели, в дальнейшем ждем ее ослабления, рассчитывая на подстройку каналов притока валюты и не исключая поддержки со стороны ЦБ - ПСБ Биржевой курс...
Ой, вэй!, Мечел, Евротранс, ГТМ, Сегежа, М-Видео, РУСС-ИНВЕСТ, ЗПИФ Первичных размещений, СПб Биржа. Думаю, они хорошо подрастут на окончании конфликта и на развороте жесткого цикла ДКП. Подрастут ...
Сегодня микроцератопсы жуют травку и смотрят вверх. Раптор стоит за деревом и наблюдает. Микроцератопсы рассуждают о кубышке, префах, обычке, дивах, сравнивают. Всё будет хорошо. Безответственный прог...
Русал принял решение об оптимизации мощностей по производству алюминия: первый этап программы предусматривает сокращение производства алюминия на 250 тыс т Москва, 25 ноября 2024 года – РУСАЛ, один из...
Транснефть ободрали! Кто на очереди? Итак, на прошлой неделе было 2 главных новости — падение «Орешника» в Днепропетровске и падение акций Транснефти в портфелях инвесторов.Первую новость сегодня оста...
Теперь, когда торгую лимитками, у меня прога исполнитель заявок получает заявку из бота, и исполнитель ведет учет разницы цены бота и цены по которой заявка исполнилась после перестановок. И накапливает статистику по этой величине. Ранее я приводил цифры из этой статистике для каждого тикера, тут в моем блоге должно быть. Кстати давно не заглядывал в эту цифру, надо будет обновить информацию.
А так, к вечеру уже готовая таблицы в квике, ничего джойнить не нужно.
Итак, логика расчета, которую я смог реализовать следующая:
У меня исполнитель заявок получает от роботов сводную позицию и выводит ее на рынок. У него на входе, допустим позиция 50 Si, а в квике 39 Si, его задача докупить 11. Он фиксирует цену по которой он мог зайти по рынку (поле «ЦРынок») и выставляет лимитную заявку например в лучший бид или аск (с отступом или без, в зависимости от настроек) цена фиксируется в поле «ЦОрдер». Если не исполнилась через определенное время, перемещает ее в новый спред и фиксирует новую «ЦОрдер». В конце считает результат и суммирует его накопительно в первое поле «Проск», а кол-во контрактов в «Конт». В последнем поле считает 100*«Проск»/«Конт», т.е. сколько проскальзывает в % на один контракт.
Минус это убыток, плюс это значит входит лучше, чем кидать по рынку.
В акциях картина другая. Там почти всегда минус от 0 до -0.3% проскальзывание, т.е. постоянно приходится догонять сред. А фьючи более «дерганные», что-ли и проскальзывание около сейчас 0 получается.
Жаль, что предсказать, как увеличатся потери при росте объема выставляемых заявок, сложно.
А то, что проскальзывание в акциях много больше, чем во фьючах, результат естественный. Я так и закладываюсь обычно при расчетах.
Я сам капитал размазываю по облаку параметров (чтобы по частям заходить и общая эквити сглаживается). Для фьючей некритично, а вот в акциях второго эшелона бывает ордер вывалишь и видно, что влияешь на рынок своим объемом.
Микросекунды выигрывать??
Попробуйте обойти задержки на пром серверах брокеров (ну где проверяется ваша платежеспособность)
Они самое из Кремля горлышко системы.
Но у ключевых блокеров они на «МТ -Финанс» Провайдере, если у вас сервер выставляющий заявку выше уровня (например бункер ГПКС в Лосином острове) то вы в разы быстрее всех остальных будете выставляться…
Но вопрос зачем это всё?
Лимитка с моб у Алор+ ставится прекрасно для си — норм…