orekton
orekton личный блог
21 июня 2012, 13:47

Робот Spreader - разгоним неликвид

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

Чтобы было понятно, о чем речь, приведу несколько примеров инструментов со значительными спредами. На рис. 1 стакан фьчерса на доллар 9.15 (срок исполнения — сентябрь 2015 года).

Робот Spreader - разгоним неликвид
Рис. 1. Стакан фьючерса на доллар 9.15

Как видим, спрэд составляет более 1000 рублей, за день было продано 5 контрактов (по состоянию на 13 июня 2012 года, 18:13). Возьмем другой инструмент: HYDR-9.12 (фьючерс на акции «РусГидро»). На рис. 2 вы видите его стакан. Тут спред гораздо меньше, порядка 30-40 рублей, но зато и объемы торгов выше. Так, с начала торгов до 18.20 13 июня 2012 года оборот составил 1034 контракта.

Робот Spreader - разгоним неликвид
Рис. 2. Стакан фьючерса на РусГидро срок исполнения сентябрь 2012 года.

Таким образом, просматривая различные инструменты, мы можем подобрать инструмент с приемлемым для нас спредом и объемом торгов. Торговать спреды можно и руками, но такая работа требует постоянного внимания к тому, что происходит в стакане, а также большого числа ручных операций по вводу и снятию заявок. Успех торговли во многом будет зависеть от выбора инструмента, а вот совершения самих операций вполне можно доверить роботу, которого мы напишем на языке Qpile для терминала Quik.

Работает робот следующим образом: делает запрос номеров выставленных заявок и стакана, вычисляет текущий размер спреда. Далее идет проверка, надо ли закрывать позицию (вышло время или спред меньше критического). Если позиция подлежит закрытию, то выставленные заявки удаляются, а существующие позиции закрываются по рынку.

Затем робот проверяет, надо ли передвигать существующие заявки. Сдвиг осуществляет в том случае, если поменялись лучшие цены на покупку или на продажу. При сдвиге старая заявка удаляется, а новая выставляется с учетом текущего остатка, так как пока заявка висела, она могла частично исполниться.

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

Будем наводить движуху в неликвиде.
Код робота и его описание robostroy.ru/community/Article.aspx?id=358
15 Комментариев
  • Twilight_reg73
    21 июня 2012, 13:55
    Эххх как давно это было когда на Фьючерсе РТС был спред 80-150 пунктов, ставь по краям и стреги бабло лопатами =)
    Сейчас такой халявы давно нету даже на таких низколеквидных бумагах.
  • Dirk
    21 июня 2012, 14:03
    А думаете мало роботов на этих неликвидных контрактах уже сидит? Попробуйте поставьте лучшую заявку в спред, сразу же переставятся перед вами. Так что идея неактуальна. Такой халявы давным-давно нету.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн