Доработки в роботе_1 (уходим от проскальзывания)

  • 119 Views
  • Последнее сообщение 23 декабря 2015
xf170 posted this 15 декабря 2015

Добрый вечер! 

Вчера перекладывался в новые контракты, у меня более 30 стратегий и многие так сказать набрали позу. Чтобы переложиться нужно было все продать в связи с этим у меня возникло "не большое" проскальзывание по некоторым стратегиям, так как при нажатии "выйти из всех позиций" робот лупит в рыно!

Просьба реализовать выход либо по одной цене, либо ограниченными лотами, в общем по максимуму уйти от проскальзывания. 

А то вечером отчеты брокера расстраивают =) 

admin posted this 15 декабря 2015

Робот по рынку не выходит. Заявки выставляются по текущим ценам, но лимитированно. Если робот работает с дискретой в 1 секунду, то заявка на каждой зоне выставляется с дискретой в 1 секунду. В стратегии Арбитраж 2.0 предусмотрена настройка "Максимальное число реализованных зон за один проход" - это число заявок, которое робот может выставить за один такт (1 секунду). По умолчанию стоит 1. Если заявка не успела пройти, или прошла частично, то через некоторое время робот снимает эти заявки и выставляет снова новые с той же дискретой.

Кнопка "Продать все" задумывалась, как экстренная, то есть быстро выйти, но не по рынку. Проблема проскальзывания не так просто решается, а если быть точнее, то вообще не решается. Заявку можно выставить и не снимать вообще, но возникает риск попасть на еще бОльшие проскальзывания, если рынок уйдет. Тут надо с другой стороны подойти к проблеме. При экспирации нужно выйти из одного фьючерса и войти в другой. Сейчас процесс происходит грубо: продаем все с одной стороны и покупаем с другой. Мысли в слух, если, например, стратегию научить выходить и входить по-зонно с коррекцией среднепокупной цены без перенастройки стратегии, то процесс перехода на новую экспирацию можно сгладить. Открытым тогда остается вопрос, как по-зонно переходить на новый фьючерс? с дискретой в одну секунду принудительно, или ждать наиболее удачного момента? А если его не будет? Что, если старый и новый фьючерс значительно отличается по цене (тогда разумно еще и границы подкорректировать)?

Предлагаю на эту тему подискутировать.

nikolai posted this 16 декабря 2015

С моей точки зрения процесс должен выглядеть так. 

Пользователь помимо основного фьючерса  настраивается и стратегию по фьючесу с более поздним сроком экспирации. Работает стратегия по основному фьючерсу. ПОльзователь, в роботе в настройках стратегии по основному фьючерсу перед экспирацией устаналивает флажок Отслеживать переход к другому фьючерсу.  ТОгда робот начинает сранивать цены старого и нового фьючерса и при соблюдении условий перехода робот продает старые фьючерсы и покупает новые. новые купленные фьючерсы регистрируются в стратегии с более поздним сроком экспирации. Как только переход весь закончен старая стратегия отключается новая включается.   Это как бы механизм перехода. Он не устраняет проблему поскальзывания, но автоматизирует процесс перехода. Это как вариант.

 

 

 

  • В избранное
  • Svaroge70
tritolo posted this 23 декабря 2015

согласен с Николаем. для начала нужна просто автоматизация процесса при которой робот переходит из одной стратегии в другую. Попробуем сформулировать условия роллирования: создано две стретегии с одинаковыми инструментами (различия только в дате их экспирации на один квартал), одинаковое количество зон и количество контрактов на зону. Ширина диапазона, значение центра стратегии и ширины зон не принципиально более того центр в новой стратегии скорее всего будет отличаться.  Для того чтобы не усложнять стратегии Арбитраж2 нужно создать стратегию Роллирование, входными параметрами для которой будут названия стратегий из которой и в которую происходит переход, и время между покупкой/продажей зон (на мой взгляд раз в секунду брать зоны на еще неликвидных на момент роллирования инструментах часто). Старая стратегия работает в обычном режиме с галкой При выходе останавливать, новая запускается с галкой запрета входа в позиции, после чего запускается стратегия роллирование и она берет ближайшую к центру непустую зону, продает ее и покупает в новой стратегии зону с тем же номером. При этом убыток возникающий в старой стратегии от действий стратегии Роллирование должен записываться не на старую, а на стратегию Роллирование чтобы оставалась статистика  сколько заработала старая стратегия за время своего существования и какие потери принесла перекладка в новую. Пользователь сам решает когда пришло время роллироваться и если посчитает, что нужно приостановить на время роллирование, то просто остановит стратегию Роллирование при этом она завершает роллирование текущей зоны и останавливается, а старая и новая стратегии продолжают работать. После того как все зоны старой стратегии проданы ее и стратегию Роллирование можно удалить (данные по ним останутся в архиве). В новой стратегии снимается галка Запретить вход и она живет дальше своей жизнью. 

Close