Обложка статьи

Сравнение ценовых каналов: какой эффективнее для торговли?

Сравним три популярных метода построения ценовых каналов и посмотрим, как они работают на разных фьючерсных рынках.

Примечание редакции: статья опубликована в августе 2024 года. Исторический тест охватывает 2010–2023 годы. Иллюстрации сохранены без перерисовки, чтобы не изменить числовые результаты; английские обозначения пояснены в подписях.

В этой статье мы сравним три известных инструмента технического анализа — ценовые каналы. Каждый из них задаёт верхнюю и нижнюю границы относительно цены. Эти инструменты можно использовать в торговых системах, в том числе для определения точек входа и выхода.

Мы рассмотрим три ключевых ценовых канала:

  • Полосы Боллинджера

  • Ценовой канал (также известный как канал Дончиана)

  • Канал Кельтнера

Обзор полос Боллинджера, канала Дончиана и канала Кельтнера

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

Полосы Боллинджера. Джон Боллинджер разработал этот инструмент в 1980-х годах. В классическом варианте верхнюю и нижнюю полосы получают, прибавляя к 20-периодной скользящей средней и вычитая из неё два стандартных отклонения соответственно:

Верхняя/нижняя полоса Боллинджера = SMA(N) ± 2 × стандартное отклонение

Канал Дончиана. Инструмент назван в честь Ричарда Дончиана. Его верхняя и нижняя границы строятся по наибольшему максимуму и наименьшему минимуму за заданное число периодов соответственно:

Верхняя граница канала Дончиана = максимальный максимум за N периодов

Нижняя граница канала Дончиана = минимальный минимум за N периодов

Канал Кельтнера похож на полосы Боллинджера. Изначально Честер Кельтнер использовал простую скользящую среднюю за N периодов и диапазон, рассчитанный за тот же период и умноженный на коэффициент C. В 1980-х годах Линда Рашке предложила использовать вместо диапазона средний истинный диапазон (ATR). Эта версия широко применяется и сегодня.

Верхняя/нижняя граница канала Кельтнера = SMA(N) ± C × ATR(N)

На рисунках 1а, 1б и 1в показаны три ценовых канала на 60-минутном графике фьючерса на топочный мазут (@HO).

Рисунок 1а

Рисунок 1а. Полосы Боллинджера на 60-минутном графике фьючерса на топочный мазут (@HO). Upper Band — верхняя полоса; Lower Band — нижняя полоса.

Рисунок 1б

Рисунок 1б. Канал Дончиана на том же графике. Upper Channel — верхняя граница; Lower Channel — нижняя граница.

Рисунок 1в

Рисунок 1в. Канал Кельтнера на том же графике. Upper Keltner Channel — верхняя граница; Lower Keltner Channel — нижняя граница.

Тестирование трёх каналов в трендовой стратегии

Теперь проверим, насколько полезны эти каналы при построении торговой системы.

Для этого протестируем простую трендовую стратегию на широком наборе фьючерсов: фондовых индексов, товаров и валют.

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

  • Открывайте лонг на уровне верхней границы канала

  • Открывайте шорт на уровне нижней границы канала

В этом эксперименте мы не задаём стоп-лосс и тейк-профит: из-за различий между рынками и размерами контрактов единое значение для всех фьючерсов не подходит. Сделка закрывается при открытии противоположной позиции либо по времени — через 50 баров после входа, то есть чуть более чем через два дня.

Стратегия тестируется на 60-минутном таймфрейме. Период бэктеста — с 1 января 2010 года по 31 декабря 2023 года.

Теперь перейдём к коду. На рисунке 2 показаны входные параметры и переменные для расчёта каналов на языке EasyLanguage для TradeStation или MultiCharts.

Сначала используем общепринятые значения параметров: период (Periods) — 20; стандартные отклонения для полос Боллинджера (DevUp и DevDown) — 2; коэффициент ATR для канала Кельтнера (Coeff_Atr) — 2.

Рисунок 2

Рисунок 2. Код расчёта каналов на EasyLanguage для TradeStation/MultiCharts. Программные имена параметров оставлены на языке оригинала.

Сравнение результатов трёх ценовых каналов

Рисунок 3 показывает результаты портфеля со стандартными параметрами. Совокупный результат положителен для всех трёх индикаторов. Канал Дончиана показал положительный результат на всех инструментах, кроме меди (@HG). Лучшим рынком оказался топочный мазут (@HO), худшим — медь (@HG).

Рисунок 3

Рисунок 3. Результаты по рынкам со стандартными параметрами. Bollinger Bands — полосы Боллинджера; Price Channel — канал Дончиана; Keltner Channel — канал Кельтнера. В таблицах Market — рынок, Start/End Date — даты начала/окончания, Net Profit — чистая прибыль, # Trades — число сделок.

Результаты полос Боллинджера и канала Кельтнера менее однозначны. Для ряда инструментов — фьючерсов на S&P 500 (@ES), австралийский доллар (@AD), британский фунт (@BP), медь (@HG), евро (@EC) и казначейские облигации США (@TY и @US) — результаты оказались слабыми или отрицательными. По предположению автора, причина может быть в большей склонности этих рынков к возврату к среднему и меньшей волатильности: такие условия хуже подходят для уровней входа, рассчитанных через стандартное отклонение или ATR.

На рисунке 4 сведены результаты трёх каналов при стандартных значениях параметров.

Вид канала

Чистая прибыль

Средняя прибыль в сделке

Кол-во сделок

Максим. просадка

Полосы Боллинджера

$ 2 667 260,82

$ 34,10

78 218

-$ 229 074,43

Канал Дончиана

$ 3 306 419,10

$ 50,43

65 566

-$ 243 650,83

Канал Кельтнера

$ 1 621 556,88

$ 26,48

61 230

-$ 273 071,75

Рисунок 4. Сводка результатов со стандартными параметрами для трёх каналов.

Настройка стандартных параметров трёх каналов

Проверим, что изменится при настройке параметров. Период (Periods) варьируем от 10 до 30 с шагом 1; величины отклонений DevUp и DevDown — от 1 до 3 с шагом 0,5; коэффициент ATR (Coeff_Atr) — от 1 до 3 с шагом 0,1. Результаты оптимизации показаны на рисунке 5.

Рисунок 5

Рисунок 5. Оптимизация параметров трёх каналов. Net Profit — чистая прибыль; Total Trades — всего сделок; % Profitable — доля прибыльных; Winning/Losing Trades — прибыльные/убыточные сделки; Max Intraday Drawdown — максимальная внутридневная просадка. Остальные колонки — параметры Periods, DevUp, DevDown и Coeff_Atr.

На рисунке 6 показаны результаты портфеля с оптимизированными параметрами. Для канала Дончиана наибольшую чистую прибыль дал исходный период 20.

Рисунок 6

Рисунок 6. Результаты по рынкам с оптимизированными параметрами. Заголовки и колонки читаются так же, как на рисунке 3.

Для двух каналов на основе волатильности лучшие результаты дали более узкие полосы: меньшая величина стандартного отклонения или коэффициент ATR. Для полос Боллинджера помог также более короткий период. Уровни входа достигались чаще, число сделок и общая чистая прибыль выросли. У полос Боллинджера средняя прибыль на сделку снизилась с $34,10 до $15,59; у канала Кельтнера она, напротив, выросла с $26,48 до $27,43. Сводка оптимизированных результатов приведена на рисунке 7.

Вид канала

Чистая прибыль

Средняя прибыль в сделке

Кол-во сделок

Максим. просадка

Полосы Боллинджера

$ 3 711 931,72

$ 15,59

238 111

-$ 170 146,80

Канал Дончиана

$ 3 339 125,47

$ 45,60

73 234

-$ 234 644,62

Канал Кельтнера

$ 2 813 240,52

$ 27,43

102 569

-$ 230 778,50

Рисунок 7. Сводка результатов с оптимизированными параметрами. Сравнение трёх каналов после подбора параметров.

Примечание редакции об издержках: в статье не указано, учитывает ли бэктест комиссии и проскальзывание. Это особенно важно для оптимизированных полос Боллинджера: 238 111 сделок при средней прибыли $15,59 на сделку. В приведённой таблице они лидируют по чистой прибыли и имеют наименьшую максимальную просадку, но после учёта издержек соотношение результатов может измениться.

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

Рисунок 8 показывает десять лучших фьючерсов для каждого канала при оптимизированных параметрах. Более волатильные рынки, в том числе биткоин, энергоносители и кофе, часто оказывались сильнее по всем трём методам. Особенно выделяются биткоин (@BTC), топочный мазут (@HO) и бензин (@RB). Автор связывает это с их волатильностью и склонностью к трендовым движениям.

Рисунок 8

Рисунок 8. Десять лучших фьючерсов по чистой прибыли при оптимизированных параметрах. Bollinger Bands — полосы Боллинджера; Price Channel — канал Дончиана; Keltner Channel — канал Кельтнера. Тикеры и числовые результаты сохранены из оригинала.

Выводы о применении ценовых каналов в трендовых стратегиях

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

До встречи!

Андреа Ангер

Переведено для TLAP