ГлавнаяMarket Maker › Результаты исследований алгоритма маркет-мейкинга.

Результаты исследований алгоритма маркет-мейкинга.

s1 Ymax=20 gamma=0.1  2015.06.30 t=0

Пролог

В результате долгих поисков и исследований алгоритмов, мне не удалось найти что-либо стоящее в торговле интрадей из простых систем. Импульсные стратегии работали короткое время, MeanReversion практически не работали никогда. Исследования с использованием однородных фильтров (скользящих средних), коэффициентами бета, средними регрессий, были очень продолжительными. Они также затронули область многоуровневого маркет-мейкинга, в котором основной вопрос сводился к правильному определению нулевого уровня. До этого применялись достаточно успешно трендовые торговые системы (на длительных интервалах), и парный трейдинг. Основная черта всех торговых стратегий, жёстко алгоритмизированных, состоит в том что рано или поздно они перестают работать. Надо этот факт учитывать в применении торговых систем. С этой точки зрения считаю очень полезной статью которая даёт обоснованный алгоритм оценки работоспособности системы (ссылка на статью http://www.quantalgos.ru/?p=567). Кроме этого, необходимо обязательно диверсифицировать системы по параметрам, и по "движку". Преимущественно методы диверсификации необходимо применять в парном и баскет трейдинге. Часто бытует мнение, что парная торговля это граальные системы. Но разочаровывающий опыт показывает, что только широкая диверсификация и большой капитал способны парную торговлю сделать прибыльной в долговременной перспективе. Тем не менее поиски более эффективной торговли продолжаются. Ниже я приведу результаты исследований стратегии маркет-мейкинга, благожелательно опубликованной автором сайта http://www.quantalgos.ru/,  (начало http://www.quantalgos.ru/?p=51, http://smart-lab.ru/blog/244854.php).

Разобраться в этой статье лично для меня было сложно. Я всё время сталкивался с ошибками и недочётами как в статье (в оригинале), так и с собственными ошибками, допущенными в программе, либо в алгоритме. Пожалуй наибольшее затруднение вызвали некоторые нераскрытые подробности вычисления функции владения. Конечно же незнание ТЭУ добавляли неопределённости в поисках. Кроме того непростой (для меня) математический аппарат также вызывал определённые затруднения. 

Дисбаланс объемов.

"Если ты неуч и молчишь, то ведешь себя умно, если же умен и молчишь, то глупо." Теофраст

В статье рассматривается алгоритма маркет-мейкинга основанный на сигнале дисбаланс объемов. Есть ряд исследований, в которых утверждается что основой движения цен на товарных биржевых рынках является дисбаланс объемов в Limit Order Book, причем дисбаланс Best Bid и Best Ask. На основании этого сигнала и ряда собираемых данных определяется оптимальная функция управления портфелем, которая призвана  максимизировать прибыль участника торгов. Почему дисбаланс объемов? В принципе-это логично. При росте цены, постоянно поступающие биды поглощают аски формируя дисбаланс. Невыполненные агрессивные биды добавляют своё значение к балансу статических бидов. Кроме того очевидный дисбаланс подключает к работе скальперов и фронтраннеров и т.п. Все это очевидно работает на наиболее ликвидных рынках, где по обе стороны от средней цены стоят большие капиталы, которые хотят подешевле купить или продать. На мой взгляд на ФОРТСе этот сигнал слабо эффективен, именно поэтому все исследования и вычисления политик проводились для фьючерса Si, как самого ликвидного фьючерса. 

Для расчётов использовались следующие переменные:

Максимальное количество фьючерсов в портфеле 10.

Количества значений спреда 10.

gamma = 1.

Шаг дискретизации дисбаланса объемов 50.

Максимальное значение дисбаланса объемов 5.

Все расчёты приведены для t=0. Расчёт политик ведётся всего-лишь на несколько секунд, так как в торговле  политики приближающиеся к T (время окончания торгов) используются только при закрытии в данной статье они не рассматриваются.

Смотрим на полученные политики для t=0 (нажмите для увеличения):

s3 2015.06.30 t=0 

Видно, что при нулевом спреде, основная политика это маркет-мейкинг, -в случае отклонения дисбаланса при попадании в синюю зону портфель просто закрывается рыночным ордером. ТЭУ считает, что это оптимально при текущем сигнале и спреде.

s1 2015.06.30 t=0

При спреде =1 появляются пингинг зоны. Зоны, в которых вместо рыночного ордера используется лимитный ордер расположенный на best ask-minstep и bestbid+minstep. Что дешевле, чем использование рыночного ордера. Смотрим как меняются политики при увеличении спреда:

s2 2015.06.30 t=0

s3 2015.06.30 t=0

s4 2015.06.30 t=0

s5 2015.06.30 t=0

s6 2015.06.30 t=0

s7 2015.06.30 t=0

s8 2015.06.30 t=0

s9 2015.06.30 t=0

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

Посмотрим на резултаты бектеста:

бектест без ограничений

Количество сделок 7563, профит=2110.  В таком виде торговать нельзя.  Вводим фильтр - используем Make Strategy только при S>4

бектест фильтр s4

Вот это уже результат, количество сделок = 2531, профит = 1886. С учетом комиссии биржи -632 рубля и брокеру,  получается доходность в размере 500 - 600 рублей. Теперь посмотрим какое количество контрактов использовалось в торговле:

бектест с ограничениями (объем контрактов) 

Видно что в торговле принимало участие не больше 3-х контрактов фьючерса. На мой взгляд, при таком странном сигнале, как дисбаланс объемов получить такую доходность испльзую функцию оптимального управления - это очень хорошо.  

Увеличение количества торгуемых контрактов к сожалению вывело доходность в отрицательную зону. Правда увеличение было осуществленно просто уменьшением коэффициента gamma = 0.1. Этот коэффициент отвечает за риск отводящийся алгоритму. Почему произошло смещение в отрицательную сторону - этот вопрос требует дополнительного исследования. Вероятно предиктивная способность сигнала слаба, в связи с чем взятие высокого риска нецелесообразно.

Ниже функция управления при спреде=1, Max Inventory = 20, gamma=1;

s1 Ymax=20 gamma=0.1  2015.06.30 t=0

бектест фильтр s4 gamma=0.1

бектест фильтр s4 gamma=0.1 объемы

Объем учавствующих контрактов увеличился до 11, но к сожалению стратегия оказалась убыточной при такой gamma. Слишком высокий риск. Очевидно, для увеличения доходности необходимо увеличивать минимальное количество лотов в сделке. Этот факт, требует некоторой доработки алгоритма и программы и в данной статье исследоваться не будет.

Также исследовалось применение усреднения дисбаланса объемов, - к сожалению результаты не оправдали ожиданий, и также не рассматриваются в статье.

Выводы

Как показали исследования, у алгоритма есть потенциал для исследования и использования. Он не прост, как в понимании, так и в реализации. Но возможно простые идеи в интрадей торговле уже не работают. Мною не проводились исследования в области PIN, машинного обучения, нейронных сетей - возможно там потенциал значительно больше. Может быть там скрываются немыслимые торговые секреты, которые могут помочь заработать в процессе интернет трейдинга.

Заключение.

Для страждущих сразу хочу подчеркнуть, что реализовать данную стратегию с прибылью не удалось.  В первую очередь по причине уникальности бектеста. В процессе бектеста есть сигналы которые в реальности не появляются. Вероятно по причине того что данные приходят пакетами. Кроме того, в реальных торгах часто появляются сделки которых нет в бектесте, - по причине того, что заявки не успевают сниматься когда условия их размещения исчезают. Честно говоря расхождения реальных торгов с бектестом несущественные. На медленных стратегиях (около 200-800 сделок в день) совпадение реального тестирования и бектестирования составляет около 90%. Ниже представлены два скрина показывающие насколько реальные трейды (зелёная линия профита) отличаются от бектеста (красная линия профита). 

совпадение реальности и бектеста

ниже (другой инструмент) расхождения очевидны , в сторону ухудшения реальных результатов торгов.

расхождение бектеста

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

В завершении отмечу, что получаемая в результате моделирования функция управления, есть ни что иное, как пулемёт, который говорит когда стрелять,  куда стрелять и сколько стрелять.  Осталось лишь правильно настроить...

zhenwina-s-pulemetom

 

Сообщение

Обратите внимание: вы можете использоватьHTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>