Трендовая стратегия на индикаторах SMA и полосах Боллинджера (Bollinger Bands)
Трендовые стратегии по праву считаются лучшими для долгосрочной торговли. Так случилось, что в нашем портфеле такой тип стратегий занимает подавляющее большинство мест. Эта публикация пусть будет вкладом в споры о том, какие методы входа лучше всего работают как раз для трендоследящих стратегий.
Полезные материалы, которые хорошо бы изучить перед продолжением:
Содержание
- Видео о стратегии “Полосы Боллинджера + SMA”.
- Идея торговой стратегии на основе SMA и полос Боллинджера.
- Индикатор “скользящее среднее” — SMA.
- Индикатор “Линии Боллинджера” (Bollinger Bands) — описание и как ими пользоваться.
- Торговый сетап (сделка в лонг).
- Настройки бэктеста стратегии.
- Форвард-тест.
- Выводы.
- Благодарности.
- Материалы.
Видео о стратегии "Полосы Боллинджера + SMA"
Идея торговой стратегии на основе SMA и полос Боллинджера
Возьмем трендовую стратегию, в которой тренд определяется по SMA на дневном таймфрейме. С одной стороны, самого сигнала о смене тренда уже может быть достаточно для некоторых стратегий, с другой стороны, мы можем подтюнить методы входа и применить индикатор волатильности, как, например, ленты Боллинджера, с помощью которых мы добавим в нашу стратегию учет волатильности. Чтобы занять более выгодную позицию перед предполагаемым продолжением тренда, мы будем входить на откатах. В теории такой подход может экономить несколько пунктов на стоп-лоссах.
Идея этого эксперимента в том, чтобы оценить, насколько выгодно входить в существующий тренд на откате по сравнению с пробойными входами.
Индикатор "скользящее среднее" — SMA
Один из самых древних индикаторов. Он очень прост, но эффективен в умелых руках.
Индикатор “простое скользящее среднее” (Simple Moving Average — SMA) отражает среднее арифметическое последних N цен закрытия. Точки индикатора соединяются в линию и наглядно отражают тренды за выбранный масштаб.
Например, 5-периодное SMA очень плотно “прилегает” к цене и чутко реагирует на ее развороты. 100-периодное разворачивается очень медленно и поздно сигнализирует о смене тренда.
Трейдеры используют в работе наклон скользящей средней — это показатель направления тренда. Иногда встречаются стратегии, где оценивают нахождение цены относительно SMA и многое другое.
За 1 час поможем разобраться с факторами успеха и причинами неудач на финансовых рынках
6 уроков онлайн-курса и 50 минут видео подскажут, как не терять деньги при трейдинге и куда следовать для эффективного развития.
Индикатор "Линии Боллинджера" (Bollinger Bands) — описание и как ими пользоваться
Этот индикатор выполняет две функции:
- Читает направление рынка, т.е. работает как трендовый индикатор.
- Замеряет волатильность с помощью концепции стандартного отклонения.
Индикатор представлен в трех линиях:
- Центральная линия — это простое скользящее среднее.
- Верхняя и нижняя ленты Боллинджера откладываются от центральной линии на расстоянии нескольких стандартных отклонений.
В базовых настройках скользящее среднее имеет период 20. Расстояние до лент — 2 стандартных отклонения.
Для вычисления одного стандартного отклонения (его еще называют сигмой) используют формулу: корень из суммы квадратов разниц между элементами выборки, деленной на количество элементов в выборке минус 1:
В Excel стандартное отклонение можно получить с помощью функции «СТАНДОТКЛОН».
Поведение лент зависит от волатильности: чем выше волатильность, тем дальше расходятся ленты от средней.
Трейдеры начинают знакомство с этим индикатором на примере пробойной стратегии, суть которой в следующем: сначала дожидаемся сужения лент Боллинджера, затем выставляем бай– и селл-стоп за пределами лент в ожидании пробоя.
Применяют и обратный подход: выход цены за пределы лент используют как контртрендовый сигнал. Именно по такому сигналу работает предлагаемая в этой публикации стратегия.
Чтобы получить исчерпывающую информацию от самого автора индикатора, читайте книгу «Боллинджер о лентах Боллинджера».
В нашем Telegram-канале есть то, чего не публикуем на сайте 👇
Торговый сетап (сделка лонг)
Для входа на повышение нам понадобится растущая SMA на дневном таймфрейме.
Дни с синей SMA(25) подходят только для лонгов. SMA красного цвета, или падающая, подходит только для продаж.
Далее переходим на часовой таймфрейм и ищем там точку входа. Для открытия позиций возьмем популярный индикатор Bollinger Bands. Этот индикатор измеряет среднюю цену за последние 20 интервалов и также откалывает от этого значения по 2 стандартных отклонения.
Для входов нам понадобятся движения цены за пределы лент Боллинджера.
Рассмотрим следующий сетап для сделки лонг:
- для покупки понадобится восходящий тренд на дневном таймфрейме;
- на часовом графике нам нужен откат с ценой закрытия ниже нижней ленты Боллинджера;
- как только два первых условия выполняются, мы смотрим, насколько далеко друг от друга находятся ленты Боллинджера; мы вводим требование, по которому слишком узкое расстояние между лентами предотвратит нас от входа;
- разместим стоп-лосс, величина которого измеряется в дневных ATR-ах; величина тейк-профита измеряется в расстояниях между лентами Боллинджера.
Вот и всё. Вкратце: работаем всегда по тренду (читаем его на дневных графиках) и входим на откатах, если это позволяет волатильность.
Для сделок шорт примените зеркальное отражение этого сетапа.
Как создавать торговые стратегии на основе статистики и данных, способных автоматизированно работать 24/5
Не упустите возможность получить прибыльные торговые стратегии.
Настройки бэктеста стратегии
Правила просты и понятны, переходим к бэк-тестированию стратегии. Как всегда, просканируем 30 финансовых инструментах на историческом окне с 2010 года по последнее воскресенье. На момент начала бэктеста это было 9 мая 2021.
В этой версии стратегии оптимизация ведется только по трем параметрам.
smaPeriod — это период простой скользящей средней на дневном фрейме, по которой читаем тренд.
sl — величина стоп-лосса в пунктах, выраженная в дневных ATR-ах (период 20).
bbWidthTP — величина тейк-профита, выраженная в высотах между линиями Боллинджера; величина тейка прибавляется к цене входа (вычитается, если это лонг).
Кратко о настройках.
Инструментов: 28 валютных пар и 2 драгметалла.
Историческое окно: 4 января 2010 — 9 мая 2021. Окно крупное, и для удобства тестирования и обработки мы разделили его на четыре.
Конфигураций робота: 160.
Компьютерные мощности позволяют тестировать гораздо больше конфигураций, но это влечет риски в будущем, например, риск подгонки (переоптимизации).
Форвард-тест
Подход к форвард-тесту такой же, как и в предыдущей публикации. Используется 20 наборов периодов «тренировочный плюс валидационный», измеряемых в неделях. Самый короткий тренировочный период 104 недели (или 2 года), а соответствующий валидационный 26 недель (полгода). Самый длинный тренировочный период 416 недель (или 8 лет), а самый длинный валидационный — 156 недель (или 3 года).
Для выбора лучших конфигураций на тренировочных периодах используем 32 набора требований, по каждому из которых используются разные значения трех критериев: TPM — сделок в месяц (trades per month), RF — фактор восстановления (Recovery Factor), R2 — Р-квадрат (R-squared).
Мы по-прежнему используем TPM как показатель того, насколько система подвержена овертрейдингу. Фактор восстановления отражает как рисковую, так и доходную сторону кривой капитала. Р-квадрат показывает, насколько кривая капитала напоминает прямую линию.
Посмотрим на итоговую таблицу форвард-теста.
Если кратко, то этот вариант стратегии слабенький. Единственные зеленые ячейки дают очень низкую годовую доходность по «склеенным» валидационным участкам.
Посмотрим, как выглядит кривая капитала на валидационных отрезках, где получилось 4% годовых.
Кривая капитала включает только один валидационный отрезок (2016-2018) из двух возможных, что не вселяет уверенности в этом роботе.
Также посмотрим результат на отрезках 364/52 недели. Интересно будет посмотреть, что будет, если к тренировочному участку выдвинуть слишком жесткие требования.
Например, на тренировочном периоде мы будем выбирать только те настройки робота, которые дают гладкую кривую капитала (Р-квадрат 0.75 и выше). По остальным критериям: TPM от 0.1 до 5, RF от 0.01 до 0.5. По ним есть хоть какие-то результаты. Выходит, что по мере увеличения требований мы почти не находим успешные алгоритмы на тренировочных периодах.
Вот так выглядит комбинированная кривая капитала, составленная из валидационных отрезков. Это прямо сильно похоже на реальный трейдинг:
Когда мы завышаем требования к бэктесту, мы рискуем получить нисходящую кривую капитала в реальном времени.
Форвард-тест выполняет как раз эту задачу — он показывает, что будет, если мы применяем алгоритмы, которые показали себя хорошо на прошлых данных.
Выводы
В то время как трендовый подход сам по себе хорош, эксперименты с точками входа могут завести слишком далеко. Наш эксперимент тому пример. В текущей версии стратегии мы предположили, что вход от отката даст нам преимущество и позволит сэкономить несколько пунктов на стоп-лоссе. Реальность в виде форвард-теста оказалась хуже ожиданий.
Если уж и продолжать развивать эту стратегию, то для начала неплохо оставить трендовую часть и изменить метод входа. Возможно, повышение таймфрейма до 4-часового улучшит результат. Также мы можем попробовать вход по тренду именно тогда, когда этот же тренд стал заметен на рабочем 4-часовом таймфрейме. Для работы можно оставить тот же индикатор — Bollinger Bands, но входы в лонг выполнять по верхней линии.
Благодарности
Эта публикация стала возможна благодаря усилиям моих коллег-трейдеров, которые выполнили тесты этой стратегии на своих платформах. Благодаря этим тестам расширяется база данных стратегий, доступная каждому желающему.
Если вы хотите не только пользоваться предоставляемыми стратегиями, но и работать на пополнение этой базы, добро пожаловать в проект «Практика алготрейдинга».
Материалы
Поделиться статьей
С радостью ответим на ваши комментарии
Читайте также
Роман Молодяшин
Сооснователь Empirix. Алгоритмический трейдер, автор 11 курсов и 80+ статей о трейдинге. На форекс с 2008 года. Исследует микроструктуру финансовых рынков, разрабатывает торговые алгоритмы, управляет системным фондом. E-mail для связи: roman@empirix.ru