Тестирование 2-ой версии стратегии на индикаторах Heikin Ashi и Donchian Channel
Трендоследящие стратегии признаются самыми прибыльными в долгосроке и самыми легкими в разработке и исполнении. Давайте построим еще одну трендовую стратегию и потестируем ее на прошлых ценовых данных.
Полезные материалы, которые хорошо бы изучить перед продолжением:
- Свечи Хейкен Аши и результаты торговой стратегии на их основе.
- Тренд — лучшее, что вы можете использовать в своей торговле. Исследования тренд-аномалий за 136 лет.
- Тестирование торговых стратегий на исторических данных (бэктест) — почему это так важно?
- Высокая волатильность на рынке FOREX: научный подход
.
Содержание
- Видео.
- Торговая гипотеза и описание стратегии.
- Правила торговой стратегии.
- Какой софт используется.
- Параметры бэк-теста.
- Форвард-тест: тренировочный, валидационный периоды, и их оптимальное соотношение.
- Форвард-тест: как выбрать лучшего робота на тренировочном периоде?
- Результаты форвардного анализа.
- Примеры форвард-тестов
- Выводы.
- Материалы.
Видео
Торговая гипотеза и описание стратегии
Торговля будет вестись в направлении долгосрочного тренда, который будем измерять простым трендовым индикатором. Стоп-лосс будет зависеть от волатильности. Ордер всегда будет перемещаться за ценой, но на приличном расстоянии, чтобы рынок его случайно не зацепил.
Что касается тейк-профита — это открытый вопрос, его эффективность зависит от стратегии. В нашем случае тейк-профит не используется.
За 1 час поможем разобраться с факторами успеха и причинами неудач на финансовых рынках
6 уроков онлайн-курса и 50 минут видео подскажут, как не терять деньги при трейдинге и куда следовать для эффективного развития.
Правила торговой стратегии
Оригинальные правила из версии 1 выглядят примитивно: торгуем в направлении трендового индикатора, держим сделку, пока индикатор не сменит направление.
В версии 2 сохраним первоначальные правила и добавим пользовательский трейлинг-стоп: его будем держать на некотором расстоянии от последнего максимума (для длинных сделок) или минимума (для коротких).
Полный набор правил:
- Стратегия открывает позицию в направлении индикатора Heikin Ashi на дневном или недельном графике.
- Величина стоп-лосса зависит от дневного ATR.
- Тейк-профит не используется.
- Пользовательский трейлинг-стоп всегда держим на расстоянии нескольких ATR-ов от последнего ценового пика (недавний максимум для сделок лонг и недавний минимум для сделок шорт).
- Для быстрого получения недавнего ценового пика возьмем индикатор Donchian Channel с периодом 5.
- Пользовательский трейлинг-стоп перемещается только в направлении сделки и никогда в обратную сторону.
- Трейлинг перемещается только в том случае, когда цена выше средней линии Donchian Channel (для сделки лонг) или ниже ее (для сделки шорт).
Таким образом, мы даем сделкам пространство для маневра, а пока идет тренд, мы не будем торговать прямо слишком активно.
Какой софт используется
Для разработки стратегии мы используем, как всегда (пока), визуальный конструктор стратегий Visual JForex от Dukascopy.
Все бэктесты выполнены в платформе JForex этого же банка.
Результаты бэк-тестов обрабатываются и оцениваются в Excel с помощью собственной разработки — макроса GetStats_BackTest (ссылки на скачивание в конце статьи).
Форвард-тесты выполняются в Excel с помощью макросов GetStats_WFA.
Как создавать торговые стратегии на основе статистики и данных, способных автоматизированно работать 24/5
Не упустите возможность получить прибыльные торговые стратегии.
Параметры бэк-теста
Версию 1 мы тестировали в 56-ти конфигурациях (рабочий ТФ, стоп-лосс, трендовый режим вкл/выкл).
Теперь больше поэкспериментируем с трейлингом. Также мы убрали мелкие ТФ из первой версии — это Н1 и Н4. Остаются только дневной и недельный ТФ.
Всего получаем 200 комбинаций. Интересно, что можно было бы и увеличить их число и так расширить поле параметров. Но такой подход увеличит шансы на подгонку (оверфит), а сами тесты и обработка результатов займут гораздо больше времени.
Историческое окно: 4 января 2010 — 7 февраля 2021.
Инструменты: 28 валютных пар, 2 драгметалла.
Форвард-тест: тренировочный, валидационный периоды, и их оптимальное соотношение
Несмотря на прекрасные отзывы о форвардном анализе (метод WFA), само форвардное тестирование может быть весьма сложным. Почему сложным: потому что не существует универсального правила, как подобрать лучшую комбинацию тренировочного и валидационного периодов. Есть трейдеры, которые придерживаются системы «5 лет + 1», потому что за 5 лет рынок успевает побывать в основных циклах и состояниях. Другие трейдеры считают, что, чем длиннее тренировочный период, тем лучше. Пока и мы на их стороне.
Имея на руках почти 11 лет данных из бэк-тестов, мы можем комбинировать эти периоды и увидеть, что работает, а что нет.
В нашем случае самый короткий тренировочный период — 2 года (104 недели), самый короткий валидационный — полгода (26 недель). Самый длинный тренировочный период — 8 лет (416 недель), самый длинный валидационный — 3 года (156 недель). Мы измеряем все периоды в неделях ради простоты в программировании процедур форвард-тестирования.
Всего получаем 20 комбинаций тренировочных/валидационных периодов.
В нашем Telegram-канале есть то, чего не публикуем на сайте 👇
Форвард-тест: как выбрать лучшего робота на тренировочном периоде?
Мы столкнулись с первой сложностью — как подобрать величины периодов тренировочного и валидационного. Следующий вопрос: как отбирать лучшие настройки роботов на тренировочном?
Обычная логика подсказывает выбирать ту настройку, которая на прошлом периоде принесла наибольший доход. Но только этого недостаточно: высокая доходность может достигаться одной-двумя сделками, в то время как кривая капитала может выглядеть сильно нестабильно с множеством неприятных просадок.
Поэтому мы вводим дополнительные критерии отбора лучшей настройки на прошлом (тренировочный период). Они помогут найти тот алгоритм, который будет «торговать» на валидационном периоде.
Мы используем такие критерии:
- TPM (trades per month) — сделок в месяц. Опыт показывает, что продвижение часто торгующего алгоритма на валидацию или в лайв дает отрицательные результаты.
- RF (recovery factor) — фактор восстановления. Этот показатель охватывает как убыточную, так и прибыльную сторону кривой капитала. Это соотношение среднего годового дохода и максимальной просадки.
- R-квадрат. Он показывает гладкость кривой капитала и принимает значения от 0 до 1. R-квадрат на уровне 1 означает, что наша кривая капитала идет по прямой линии.
Задав минимальные и максимальные значения трех критериев, получаем несколько их комбинаций. В нашем случае 32.
А всего получилось 640 разных настроек для форвардного тестирования (20 на 32).
Результаты форвардного анализа
Запуская форвард-тесты, мы видим, как бы мы «прожили» будущие рынки с разными подходами к отбору алгоритмов на «прошлых» периодах и продвижению лучших кандидатов в лайв (валидационный период).
По логике можно было ожидать, что, варьируя периоды «тренировочный + валидационный», а также критерии отбора, можно легко найти выигрышную комбинацию. Однако в нашей базе всех статегий более чем в половине случаев форвардные тесты отрицательные.
Вот такая жесткая реальность почти по всем форвард-тестам. Пока разрабатываешь или бэк-тестируешь стратегию, еще сохраняешь надежду на хороший результат. Но в большинстве случаев получается что-то наподобие примера выше.
Такой опыт наглядно демонстрирует, почему дискуссии в среде трейдеров не могут претендовать на полную откровенность и правдивость.
Речь о том, что трейдеры с энтузиазмом дискутируют о стратегиях, делятся скриншотами удачных сделок, но реальность прячется за оптимистичными беседами и красивыми скриншотами, и она не всегда лицеприятна.
Могу предположить, только судя по тщательным бэк- и форвард-тестам, что 95% трейдеров проигрывают деньги, а общение с коллегами-трейдерами поддерживают ради социальных моментов, например, ради чувства причастности к сообществу.
Выполнение подобных тестов и просмотр результатов помогают нам стать более реалистичными и профессиональными.
Примеры форвард-тестов
Рассмотрим несколько отдельных форвард-тестов из 640-ка.
Здесь имеем хороший пример с кривой капитала, построенной по объединенным валидационным участкам. В таблице они отмечены как «OS» (out-of-sample — вне выборки). Период «в выборке» (in-sample), или тренировочный, длится 416 недель (8 лет). Валидационный период занимает 156 недель (3 года).
Требования к тренировочному периоду весьма низкие: фактор восстановления от 0.01 до 0.5 означает, что в лайв (валидацию) мы продвигаем не самые красивые кривые капитала из тренировочного периода.
И судя по среднему годовому доходу это самый удачный форвард-тест: 6.3% годовых с просадкой 11.4%.
Посмотрим на тест по методу «5+1». Самая высокая годовая доходность -2.5%.
На этом тесте только в одном валидационном периоде были сделки. Это значит, что, применяя такие требования (ячейки «А3:В8»), мы не продвигаем ни одного робота на валидацию, кроме одного случая.
Интересно будет сравнить первый пример «8+3» с такими же критериями на «5+1». Требования к тренировочным периодам идентичны (TPM, RF, R-квадрат). На всех валидационных отрезках были сделки. Но кривая капитала идет вниз.
Такие результаты всегда заставляют задуматься. Ты вроде бы настраиваешь тест, как по учебнику, но результат отрицательный. Именно это алготрейдеры могут чаще получить в реальном трейдинге.
Выводы
Проблема с отрицательными результатами на форвард-тесте заключается не в настройках форвард-теста. Мне кажется, проблема в самой стратегии. Стратегия — это первый элемент в цепочке «стратегия >> бэк-тест >> форвард-тест >> лайв трейдинг». Если стратегия как главный источник несет в себе проблемы, то никакое количество тестов и изменения настроек этих тестов не сделают из нее прибыльного алгоритма.
Всегда после тщательных тестов непонятно, почему результат получился отрицательным. Но такие тесты дают хороший урок на будущее для разработки стратегий: методы входа и выхода, трейлинг-стопы, трендовые фильтры и так далее.
Несмотря на отрицательные результаты теста, общий результат считаю положительным: мы исключили еще одну слабую стратегию из живого трейдинга и получили несколько ценных уроков по улучшению всей технологической цепочки от торговой идеи до робота, торгующего в лайве.
Материалы
- Свечи Хейкен Аши и результаты торговой стратегии на их основе.
- Почему алгоритмы торгуют по-разному на истории и в реальном времени и какую ценность дает форвард-тест?
- Алгоритмический трейдинг: Как быстро оценить эффективность торговой стратегии в Excel?
- Узнать больше о тестировании стратегий — “Практика алготрейдинга”.
Поделиться статьей
С радостью ответим на ваши комментарии
Читайте также
Роман Молодяшин
Сооснователь Empirix. Алгоритмический трейдер, автор 11 курсов и 80+ статей о трейдинге. На форекс с 2008 года. Исследует микроструктуру финансовых рынков, разрабатывает торговые алгоритмы, управляет системным фондом. E-mail для связи: roman@empirix.ru