Способ настройки робота для запуска в реальную торговлю

Время на чтение: 8 минут

Алгоритмический трейдинг

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

Содержание

В качестве подопытного алгоритма возьмем робот с индикатором MACD в основе. Он протестирован на небольшом историческом окне в 9 месяцев (с марта 2019). Однако этого окна хватает, чтобы судить о возможностях нашей стратегии, т.к. в среднем каждая модификация этого робота делает по 7 сделок в месяц — это почти 2 в неделю.

Всего протестировано 168 модификаций. Никакого «дата-майнинга»! Из изученных 168-ми настроек более четверти прибыльные, неплохо.

Что это за робот: он торгует глядя на линию MACD (выше или ниже нуля) и разворот гистограммы. На самом деле в роботе предусмотрена как трендовая торговля, так и «перевертыш», который торгует ровно наоборот по тем же сигналам. Однако нас больше всего интересует не торговый алгоритм, а то, как каждая настройка робота влияла на его доходность и как из этих настроек выбрать что-то для реальной торговли.

Настройки робота состоят из:

  • входы: трендовые и «перевертыш»;
  • рабочий таймфрейм: 1-часовой и 4-часовой;
  • размер стоп-лосса: измеряется в ATR от 1.5 до 4 с шагом 0.5;
  • размер тейк-профита: измеряется в тейк-профитах от 1 до 4 с шагом 0.5

Так получаем 2 * 2 * 6 * 7 = 168 конфигураций робота.

150 минут видео о создании торговых роботов доступно бесплатно и без регистрации

Не упустите возможность автоматизировать ваши торговые стратегии для финансовых рынков.

Подбор идеальной настройки робота. Часть 1

Сперва мы можем просмотреть, как меняется доходность, если варьировать каждую настройку в отдельности. Перед нами несколько диаграмм, где показана сама настройка робота и его доходность на 70% тестового участка. Т.е. выбрав что-то понравившееся, мы можем узнать, как эта конфигурация робота вела себя на 30% остального времени — такой себе форвард-тест.

Сначала рассмотрим «трендовый» (1) и «контртрендовый» (2) вариант робота.

Алгоритмический трейдинг
1 — трендовый; 2 — контртрендовый.

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

Смотрим, как стоп-лосс определяет доходность.

Алгоритмический трейдинг
Стоп-лосс от 1.5 до 4 ATR’ов.

Стоп-лосс в этом роботе измеряется ATR’ами. Выбрать его можно только исходя из системы ценностей каждого трейдера. Кому-то нужно сократить отрицательную часть (точки слева от вертикальной черты), кому-то — положительную улучшить. Для первого случая подходят крупные стоп-лоссы, по 4 АТR’a. Для второго — в районе 2.5.

Как тейк-профит определяет доходность?

Алгоритмический трейдинг
Тейк-профит от 1-го до 4-х стоп-лоссов.

Это снова зависит от системы ценностей трейдера. Сократить отрицательную часть можно выбрав ТП в районе «2». Увеличить положительную — только увеличением тейк-профита. Кстати, здесь тейк-профит измеряется в стоп-лоссах.

Теперь таймфрейм, как он предопределяет доходность?

Алгоритмический трейдинг
Таймфрейм: 1- и 4-часовой.

1-часовой таймфрейм дает больше точек как слева, так и справа от вертикальной оси. 4-часовой фрейм чуть более стабильный и стремится к вертикальной оси.

Какой итог? Предположим, мы выбираем каждую настройку исходя из максимальной прибыльности. Тогда это робот такой:

  • трендовый;
  • стоп-лосс = 2.5;
  • тейк-профит = 4;
  • таймфрейм 1-часовой.

Как он повел себя на остальных 30% времени? Итог = -14.52% годовых. См. ту часть кривой капитала, что справа от красной линии.

Алгоритмический трейдинг
Выбранная настройка на всем промежутке с марта по конец ноября 2019 года. Доходность по итогам дня.

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

Переходим ко второй части, где мы более полно используем идею форвард-теста, т.е. будем подбирать настройки так, чтобы они и в условном «будущем» давали лучший результат. Опытный алготрейдер/математик назовет это оверфитом (подгонкой под историю), но, применив этот метод, мы посмотрим, как отобранная настройка отработала 3 недели реальных торгов, которые не входили в исторический период, на котором тестировался робот.

Подбор идеальной настройки робота. Часть 2

Посмотрим, насколько стабильной остается доходность робота в «прошлом» (это первые 70% исторического периода — с марта 2019 года) и в «будущем» (остальные 30% в сентябре-ноябре 2019), если варьировать 4 настройки робота.

Алгоритмический трейдинг
Бэк-тест и форвард-тест — доходность по осям Х и Y соответственно.

Так выглядят все доходности в «прошлом» против «будущего» — оси Х и Y соответственно.

Смотрим, как они меняются, если выбирать между трендовым и контртрендовым вариантом робота.

Алгоритмический трейдинг
Настройка трендовая (1) против контртрендовой (2).

Отлично видна разница: 2-я диаграмма более стабильна — это контртрендовый подход.

Теперь таймфреймы: 1-часовой и 4 часовой.

Алгоритмический трейдинг
Таймфреймы: 1-часовой (1) и 4-часовой (2).

Выигрывает снова 4-часовой.

Теперь поварьируем стоп-лосс от 1.5 до 4.0 с шагом 0.5.

Алгоритмический трейдинг
Стоп-лосс от 1.5 до 4.0 ATR’ов при всех остальных настройках.

Поскольку здесь замешаны остальные настройки, выбрать один вариант сложновато!

Теперь варьируем тейк-профит от 1.0 до 4.0 с шагом 0.5.

Алгоритмический трейдинг
Тейк-профит от одного до четырех стоп-лоссов при всех остальных настройках.

Снова нет однозначного ответа, т.к. замешаны все таймфреймы и оба подхода.

Вернемся к тому, что контртрендовый подход оказался лучше, и выберем настройки там.

Поварьируем таймфреймы: 1 или 4?

Алгоритмический трейдинг
Контртрендовый робот: таймфрейм 1-часовой (1) и 4-часовой (2).

Выигрывает 2-я диаграмма с 4-часовым таймфреймом. Теперь осталось подобрать стоп-лосс и тейк-профит.

Варьируем стоп-лосс от 1.5 до 4.0 с шагом 0.5.

Алгоритмический трейдинг
Контртрендовый робот на 4-часовом таймфрейме. Варьируется стоп-лосс.

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

Теперь варьируем тейк-профит от 1.0 до 4.0 с шагом 0.5.

Алгоритмический трейдинг
Контртрендовый робот на 4-часовом таймфрейме. Варьируется тейк-профит.

Самым симпатичным оказался короткий тейк-профит в районе 1.0-1.5. Короткий. Поскольку на 1.0 некоторые точки в правой части диаграммы уходят вниз, остановимся на 1.5.

Итого, в конце ноября 2019 года получаем робота, готового к живой торговле с настройками:

  • контртрендовый;
  • 4-часовой таймфрейм;
  • стоп-лосс 1.5;
  • тейк-профит 1.5.

Проверим его на декабре месяце. На скриншоте — бэктест за конец ноября и декабрь.

Алгоритмический трейдинг
Результативность выбранной настройки в конце ноября — декабре 2019. Бэктест (симуляция).

В реальном времени с конца ноября сделки этого робота выглядят так — отмечены на скриншоте желтыми стрелками, т.к. с ним торговал еще один робот.

Алгоритмический трейдинг
Сделки выбранной настройки в конце ноября — декабре 2019, совершенные в реальном времени (желтые стрелки) выбранными настройками робота.

Заключение

Можно ли объяснить успешную работу этого алгоритма только магией оптимизации и методом выбора настройки для лайва? Думаю, что нет, поскольку этот робот фундаментально настроен на работу во флэтах. Евро в этом году — как раз флэтовый рынок.

С помощью описанного метода отбора нам удалось отбросить заведомо плохие настройки. В дальнейшем мы планируем применять и развивать этот метод.

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

Поделиться статьей

Поделиться в facebook
Поделиться в vk
Поделиться в twitter
Поделиться в telegram

С радостью ответим на ваши комментарии

Читайте также

Scroll Up
Поделиться в facebook
Поделиться в vk
Поделиться в twitter
Поделиться в telegram