Товарищи, кто-нибудь задумывался над написанием алгоритма выхода из позиций, адаптивного к текущим рыночным условия?
Общепринято в торговле использовать либо лимитные заявки, либо рыночные. Последние зачастую служат пищей для алгоритмов прожжённых HFT-шников. Есть на этом ресурсе кто-то, кто уже написал или пытался написать алгоритм выхода из текущих позиций, с учётом актуальных волатильностей каждого из инструментов, спрэдов, последних сделок и плотностей стакана?
1 считаешь сколько тиков проходит цена в минуту… для ри например 3
2 затем смотришь сколько лотов всреднем стоит на продажу -покупку… для ри это 20… если поставить лимитку сильно больше этого числа то будут играть от твоей заявки и приказ не исполнится уже точно...
3 итого считаешь какой объем можно протащить в 1ну минуту… 3тика в минуту*20средний лот в стакане=60шт
4 пишешь бота… кторый каждые 60/3=20 секунд ставит лимитку на 20 лотов в стакан...
5 т.е для набора позы в 1000лотов понадобится 1000/60=16 минут
есть проще вариант… ставишь объем лимиткой = 2...3% от объема предыдущей свечи… таймфрейм 1 минута
вариант 2 менее жесткий… и более привязан к текущей ситуации… но технически реализовать сложнее
А если кинуть даже существенно больше маркетом то можно с удивлением обнаружить что реальная ликвидность существенно выше видимой и нафига эти лимитки.
0 да есть такое из-за айсбергов… но мне достаточно видеть шипы на графиках чтоб понять что маркет-приказ это зло
1 когда у меня лимитка, мне не надо контролировать размер спреда… надо только контролировать исполнился приказ или нет...
2 в чем проблема взять и протестить 2 типа исполнения приказов — т.е запускаешь сразу 2 одинаковых бота… с разными способами набора позы и сравнить какой лучше
Инфраструктура сложнее сильно под лимитки и минусы лимиток на волатильном рынке, а так то понятно будет чуть лучше.
Время от времени.
Тут много зависит от целеполагания. При малых объемах достаточно использовать лимитки с заранее заложенным проскальзыванием. Чаще всего исполнение происходит по цене лучше заложенного проскальзывания, а в «горячие» моменты позволяет отработать по допустимым для Вас ценам.
Когда объемы начинают расти, то обычно вырабатывается несколько решений (опять же, в зависимости от задачи):
— разбиение заявки на более мелкие, с последовательным выставлением. после исполнения предыдущей;
— расчет цены лимитной заявки на основании данных в стакане (тупо считаем выставленные объемы и получаем цену по которой исполнится наш объем)
— если сроки исполнения не критичны — ищем «бегемота» и встаем перед ним.
Далее возможны комбинации подходов (например: встаем перед бегемотом, и разбиваем заявку на более мелкие объемы)
https://forum.quik.ru/forum10/topic2630/
http://luaq.ru/sendTransaction.html
Многие просто закрывают позы или даже переворачиваются по контрсигналу, другие делают более сложные сопровождения (самое простое из сложного — трейлингстоп, в т.ч. привязанный к текущей волатильности).
Лучше думайте о ТС, технике рынка, фундаментале, наконец,
а не о способах отдачи приказов.
И не торгуйте там, где можно одной вашей мощной заявкой
распугать весь стакан )))