Добрый день. Решил написать о прорывных стратегиях для алгоритмического трейдинга. Эта статья будет интересна только ботоводам. Я рассматриваю только биржу Bitmex, под неё и заточены боты.
Итак, прорывные стратегии, или стратегии прорыва - это отдельный вид алгоритма, который торгует прорыв определенных уровней, т.е. сделку открывает при пересечении ценой заданного уровня. Если цена проходит верхний уровень снизу вверх, открывается сделка на покупку, и остаётся открытой до момента пересечения нижнего уровня, который меняется со временем. При пересечении нижнего уровня закрывается сделка на покупку и открывается сделка на продажу, и так далее.
Самый простой вариант такой стратегии выложен в разделе “Built-in” стандартных индикаторов Tradingview. Называется ChannelBreakoutStrategy. Алгоритм простой - берутся простые максимумы и минимумы за определенный, заданный в параметрах, период, и эти экстремумы и являются теми самыми границами канала. Такая же стратегия есть у Noro, но с ограничителями по времени действия и с прикрученным мартингейлом, называется Breakout Strategy. Бот на такой стратегии показывает прекрасные результаты на 4-хчасовых таймфреймах. За 10 месяцев 2018 года даёт 464% прибыли с учётом комиссии биржи 0,075%, с просадкой в 18%. Однако основной заработок тут получается в начале года, когда волатильность была высокой, и отрицательный результат во время флэта, например в сентябре. Я пробовал эту стратегию на малых таймфреймах, например 5 минут и 7 минут. Однако в этом случае необходимо пользоваться антикомиссией маркетмейкера, имеющейся на бирже Bitmex, ибо иначе комиссия биржи съедает всю прибыль. Тут более сложный механизм выставления ордеров, ведь помимо выставления самого ордера необходимо, чтобы бот следил за его положением в стакане и всегда держал его в самом верху стакана. Такой бот принес мне ошеломительные 12х в июле, хотя основная заслуга тут в очень агрессивном использовании , но начал приносить существенные убытки в августе и сентябре во время изнуряющего флэта. Причем бэктестинг показывает прибыль и во время флэта. Однако сквизы убивают всю прибыль, ведь маркетмейкеру важно не только выставить ордер, но и чтобы этот ордер кто-то исполнил.
Таким образом я пришел к выводу, что данная стратегия работает только на больших таймфреймах, таких как 1 час и больше, когда экономически целесообразно платить комиссию бирже для немедленного исполнения заявок по маркету.
Я пошел дальше, и решил попробовать иные варианты построения каналов для данного алгоритма. Один из таких вариантов - стратегия прорыва волатильности. Скрипт стратегии я приложил к данной статье. Стратегия называется Low Volatility v2.0. Принцип я подсмотрел на одном американском сайте. Я немного усовершенствовал стратегию, поэтому она имеет версию 2.0. Принцип довольно простой - верхняя граница канала является high последней свечи плюс значение индекса ATR(Average True Range), умноженный на коэффициент, задаваемый в параметрах. Длина индекса также задается в параметрах. Нижняя граница канала - Low последней свечи минус индекс ATR, также умноженный на коэффициент. Этот алгоритм, как и простой Breakout, плохо работает на малых таймфреймах и даёт приличный результат на больших. Прибыль за 10 месяцев 2018 года 308%.
Есть и другие варианты построения каналов. Например скользящая средняя, построенная по хаям свечей и по лоям. Однако тут лучше всего подходит “хитрая” скользящая средняя, ибо обычные или экспоненциальные слишком отстают от движения цены. Даже адаптивные скользящие средние, например МА Юрика, не дают хорошего результата, хотя я тут еще буду экспериментировать.
Но самый лучший результат у меня получился при использовании линейной регрессии для построения канала. Ведь, как известно, линейная регрессия лучше всех остальных инструментов реагирует на изменение тренда. О вариантах применения линейной регрессии я расскажу в других постах, если будет интерес читателей.
Есть еще один вариант использования прорывной стратегии - прорыв индикатора ZigZag. Такую стратегию предложил Noro. Стратегия даёт шикарный результат при очень малой просадке.
Важно понимать один факт. Все виды прорывных стратегий хорошо работают только на высоковолатильном рынке и дают убыток во время флета, ведь шорт открывается по нижней границе канала, а лонг - по верхней границе. Поэтому слепо верить в прорывные стратегии не стоит.
Также стоит отметить, что при оценке эффективности стратегии самым весомым параметром является не доходность, а максимальная просадка, которую допускает стратегия на исторических данных. Я придумал показатель, характеризующий стратегию. Он равен доходности стратегии в процентах, деленный на максимальную просадку. Ниже я привожу таблицу сравнения прорывных стратегий, которые я либо подсмотрел у кого-то, либо придумал сам. Все стратегии пока не выкладываю, выкладываю одну, ибо хорошего понемногу). Бэктестинг проводил на паре XBTUSD на бирже Битмекс за 10 месяцев 2018 года, все на 4хчасовом таймфрейме с наилучшими найденными мной параметрами, без плеча, с комиссией биржи 0,075%. Первое число - доходность стратегии, второе число - максимальная просадка, третье - мой показатель привлекательности стратегии, равный доходности, разделенной на максимальную просадку.
Breakout Strategy 464.67% 18.03% 25.772
Breakout MA Strategy 646.18% 17.77% 36.364
Low Volatility Strategy v2.0 308.73% 16.64% 18.553
ZZBreakout Strategy 558.6% 11.88% 47.02
LRBreakout Strategy v1.0 1226.11% 17.97% 68.231
LRBreakout Strategy v1.5 1470.4% 18.38% 80
Вывод из данного сравнения можно сделать следующий. Все прорывные стратегии хороши, и использовать можно и нужно их все для диверсификации. Ведь средний процент доходности будет довольно внушительный (получается примерно 780% за десять месяцев, если депозит распределить равномерно). Однако стоит учесть, что есть ещё другие пары, не только биткоин/доллар. Тесты показывают, что на эфире доходность ещё выше, но история тут мала для полноценного анализа, ведь пара эфир/доллар появилась на битмексе только в августе 2018 года. Кроме того, если торговать с плечом, доходность вырастет в разы, хотя и просадка тоже. Торговать с плечом больше 3-4х я бы не рекомендовал, появляется риск слива всего депозита, хотя при должной диверсификации это не так и страшно.
К каждой из этих стратегий можно прикрутить мартингейла, что даст значительное улучшение результатов, но увеличивает также и просадку, что негативно сказывается на показателе привлекательности стратегии. Кроме того, в таком случае повышается риск слива всего депозита. И да, с мартингейлом депозит рано или поздно все равно сольется.
В этом месте можно неплохо поэкспериментировать, ведь есть разные варианты мартингейла - анти-мартингейл, адаптивный мартингейл, мартингейл с использованием коэффициента Хёрста и прочее, но это тема отдельного исследования и отдельного поста.
А может у читателей будут новые интересные идеи, какие еще уровни можно прорывать в стратегиях?
Если будет интерес, я выложу другие стратегии, рассмотренные в посте.