- Трейдинг, FOREX, Технический анализ, Криптовалюты - https://finware.ru -

Разработка стратегии следования за трендом для фьючерсов на основе ценовых каналов

Приблизительное время чтения: 13 минут

Какие фьючерсные рынки хорошо работают с использованием ценовых каналов для определения входов и выходов? Вот тест, позволяющий выяснить это на примере стратегии следования за трендом.


Ценовой канал — известный метод технического анализа, также известный как канал Дончиана. Этот индикатор характеризуется двумя параллельными полосами, верхней и нижней, которые наносятся на график, чтобы охватить цены, как если бы они находились внутри канала. Пример см. на рисунке 1.

Разработка стратегии следования за трендом для фьючерсов на основе ценовых каналов

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

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

ЛОГИКА ТРЕНДООБРАЗУЮЩЕЙ СТРАТЕГИИ С ИСПОЛЬЗОВАНИЕМ ЦЕНОВОГО КАНАЛА

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

Мы будем использовать простую стратегию, которую применим на 60-минутном таймфрейме с бэктестингом с 2010 по конец 2023 года.

Вот код этой системы. Мы создали две переменные (upper channel и lower channel), которые определяют соответственно верхнюю и нижнюю границы канала Дончиана, и вход (MyLength), где мы определяем период для расчета максимумов и минимумов канала.

inputs: MyLength(0);
var: UpperChannel(0), LowerChannel(0);

UpperChannel = HighestFC(h, MyLength);
LowerChannel = LowestFC(l, MyLength);

if EntriesToday(d)=0 then begin
buy next bar UpperChannel stop;
sellshort next bar LowerChannel stop;
end;
setstopcontract;

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

Сначала мы оптимизируем входное значение MyLength от 10 до 100 с шагом 10, чтобы найти оптимальное число периода (рис. 2).

Разработка стратегии следования за трендом для фьючерсов на основе ценовых каналов
РИСУНОК 2: ОПТИМИЗАЦИЯ ПЕРИОДА ОГЛЯДКИ ДЛЯ РАСЧЕТА КАНАЛА. Этот тест направлен на оптимизацию входного параметра «MyLength» для выбора количества периодов для расчета ценового канала. Здесь используются значения с шагом 10, от 10 до 100 периодов. Результаты теста показывают, что установка количества периодов между 20 и 40 дает наилучшие значения чистой прибыли в этом тестовом случае.

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

Учитывая, что мы работаем на 60-минутных барах, это означает, что максимумы и минимумы, колеблющиеся между чуть меньше дня (MyLength=20) и чуть больше (MyLength=40), являются наиболее значимыми и эффективными для входа в позицию.

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

Разработка стратегии следования за трендом для фьючерсов на основе ценовых каналов
РИСУНОК 3: КРИВАЯ ЭКВИТИ ДЛЯ СТАРТОВОЙ СИСТЕМЫ. Здесь показана результирующая кривая эквити стратегии следования за трендом, использующей 20 периодов для расчета ценового канала.
Разработка стратегии следования за трендом для фьючерсов на основе ценовых каналов
РИСУНОК 4: РЕЗУЛЬТАТЫ ИСПОЛЬЗОВАНИЯ 20-ПЕРИОДНОГО РАСЧЕТА КАНАЛА. Здесь показаны результаты стратегии следования за трендом с использованием 20 периодов для расчета ценового канала.
Разработка стратегии следования за трендом для фьючерсов на основе ценовых каналов
РИСУНОК 5: КОРЗИНА ФЬЮЧЕРСОВ. Здесь показаны результаты работы системы следования за трендом на корзине фьючерсов, использованных в тесте. Большинство товарных фьючерсов показали положительные результаты, а фьючерсы на энергоносители и металлы продемонстрировали хорошую чистую прибыль. Хорошо себя показали фьючерсы на мягкие товары, а также фьючерсы на биткоин. Рынки со среднереверсивным
Универсальность ценового канала поддерживает различные торговые стратегии.

Немного углубившись в результаты (см. Рисунок 5), мы можем сделать несколько наблюдений. Мы видим, что все сырьевые товары, за исключением фьючерса на медь @HG, достигли положительных результатов. Фьючерсы на энергетический сектор (сырая нефть, топочный мазут, бензин RBOB и природный газ), а также металлы (золото, платина и серебро) демонстрируют неплохую чистую прибыль. Некоторые мягкие сырьевые товары, такие как кофе @KC и хлопок @CT, также демонстрируют хорошие показатели. Примечательно, что фьючерс на биткоин @BTC, несмотря на свое недавнее появление, показывает отличные результаты, что, безусловно, связано с сильным бычьим трендом, характерным для него. Как и ожидалось, рынки с более среднереверсивной тенденцией показывают худшие результаты, например, большинство валют и фьючерсы на облигации (@TY и @US).

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

УТОЧНЕНИЕ УСЛОВИЙ ВЫХОДА

Мы делаем еще один шаг в нашем исследовании и пытаемся применить более продвинутый риск-менеджмент к открытым позициям: Применяем ли мы фиксированный денежный стоп-лосс, зная, что у нас есть корзина фьючерсов с очень разными характеристиками, или пытаемся ограничить риск другими способами?

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

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

Затем мы интегрируем наш скрипт с помощью этих нескольких строк кода:

if marketposition=1 then sell next bar LowerChannel stop;
if marketposition=-1 then buytocover next bar UpperChannel stop;
Разработка стратегии следования за трендом для фьючерсов на основе ценовых каналов
РИСУНОК 6: РЕЗУЛЬТАТЫ ИСПОЛЬЗОВАНИЯ УСЛОВИЯ ВЫХОДА. Добавление условий для закрытия позиции, помимо простого касания ценового канала, может улучшить результаты. В этом примере чистая прибыль увеличивается, а максимальная просадка остается практически неизменной.

Результаты применения этого «дончианского трейлинга», представленные на рисунке 6, показывают, что его использование и, следовательно, более эффективное управление открытой торговлей приносит очевидные преимущества в плане чистой прибыли, существенно оставляя общую максимальную просадку неизменной.

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

УЛУЧШЕНИЕ КАЧЕСТВА ТОРГОВЛИ ЗА СЧЕТ ИСПОЛЬЗОВАНИЯ ФИЛЬТРОВ И УСЛОВИЙ

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

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

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

Для этого можно использовать ценовой паттерн, проанализированный в одной из наших предыдущих статей «Ежедневный фактор: Фильтр волатильности», может оказаться полезным для нашего анализа. Что представляет собой этот паттерн?

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

Поэтому мы интегрируем наш скрипт следующим образом: вводим переменную DF, сокращение от «ежедневный фактор», и входной параметр df_level, чтобы определить пороговое значение ежедневного фактора, выше которого мы не будем работать.

input:df_level(1);
var: DF(0);

if (highs(1)-lows(1))<>0 then begin
DF=absvalue(opens(1)-closes(1))/(highs(1)-lows(1));
end;

if EntriesToday(d)=0 and DF<df_level then begin
buy next bar UpperChannel stop;
sellshort next bar LowerChannel stop;
end;
Разработка стратегии следования за трендом для фьючерсов на основе ценовых каналов
РИСУНОК 7: ОПТИМИЗАЦИЯ УСЛОВИЙ ВХОДА. Здесь тестируются различные значения для «df_level», чтобы ввести торговый фильтр, основанный на ежедневном факторе. Когда входы ограничиваются с помощью порогового уровня, основанного на «дневном факторе», результаты улучшаются с точки зрения чистой прибыли и максимальной просадки. Чем ниже этот порог, тем меньше сделок сигнализируется.

Затем мы оптимизируем входной параметр «df_level» от 0,3 до 1 с шагом 0,05. Отчет об оптимизации от MultiCharts на рисунке 7 указывает на неоспоримое преимущество ограничения входов в пределах определенного порогового уровня «дневного фактора». Все комбинации до 0,55 фактически являются улучшением по сравнению со стартовой ситуацией, как с точки зрения чистой прибыли, так и максимальной просадки. Очевидно, что при снижении пороговых уровней условия для открытия сделок будут все более жесткими, что напрямую скажется на количестве сделок, которое, соответственно, будет уменьшаться.

Среди различных альтернатив мы выбираем значение 0,55. Это означает, что мы добавим в нашу систему условие, при котором позиция будет открываться только в том случае, если тело предыдущей дневной сессии было меньше 55 % от диапазона этой же сессии. Это значение позволяет нам отфильтровать большое количество сделок, с 54 000 до чуть более 40 000, сохраняя чистую прибыль чуть выше, чем у нефильтрованной системы, но со средней сделкой от $48 до $64 (см. Рисунок 8).

Разработка стратегии следования за трендом для фьючерсов на основе ценовых каналов
РИСУНОК 8: СРАВНЕНИЕ РЕЗУЛЬТАТОВ. Здесь вы можете сравнить производительность начальной системы и той же системы с двумя усовершенствованиями. Средняя сумма сделки увеличивается с 48 до 64 долларов.

Если немного углубиться в детали отдельных рынков, то можно заметить, что, например, фьючерс на золото @ GC поднимается с $150 790 до $183 310, фьючерс на бензин RBOB @RB — с $272 000 до $285 625, а биткоин @BTC — с $171 000 до $306 850.

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

Мы видим, что все сырьевые товары, за исключением фьючерсов на медь, достигли положительных показателей.

На рисунке 9 показаны результаты работы уточненной системы, примененной к используемой корзине фьючерсов. На рисунке 10 показана кривая эквити для уточненной системы.

Разработка стратегии следования за трендом для фьючерсов на основе ценовых каналов
РИСУНОК 9: РЕЗУЛЬТАТЫ РАБОТЫ УСОВЕРШЕНСТВОВАННОЙ СИСТЕМЫ. Здесь показаны результаты работы доработанной стратегии, примененной к корзине фьючерсов, использованной в тесте.
Разработка стратегии следования за трендом для фьючерсов на основе ценовых каналов
РИСУНОК 10: КРИВАЯ ЭКВИТИ ДЛЯ УТОЧНЕННОЙ СИСТЕМЫ. Здесь показана результирующая кривая эквити уточненной системы следования за трендом (после добавления условий и фильтров).
Рынки с более средними тенденциями показывают наихудшие результаты, например, большинство валют и фьючерсы на облигации.

ВЫВОДЫ

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

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

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

Об Авторе:


Андреа Унгер — профессиональный трейдер с полной занятостью, президент Академии Унгера и автор книги «Метод Унгера». Он является четырехкратным чемпионом мира по трейдингу (2008, 2009, 2010 и 2012), почетным членом SIAT (Итальянское общество технического анализа, отделение IFTA) и выступает по всей Европе, Америке, Австралии и Азии. С ним можно связаться по адресу Andrea@ UngerAcademy.com. Академия Унгера предоставляет услуги трейдерам, в том числе частным лицам, помогая им улучшить свой подход к торговле (более подробную информацию можно найти на сайте https://autc.pro/tasc).


ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА:

Unger, Andrea [2023]. «The Daily Factor: Фильтр волатильности», Технический анализ акций и товаров, том 41: June.

[2021]. The Successful Trader’s Guide To Money Management: Proven Strategies, Applications, And Management Techniques, Wiley Trading.

[2021]. The Unger Method: Выигрышная стратегия 4-кратного чемпиона мира по трейдингу, The Boss Books.

———————————————
Переведено специально для сайта Finware Technologies, www.finware.ru
Вы можете свободно распространять эту статью любыми способами целиком вместе с этим блоком и действующей гиперссылкой на сайт finware.ru.
———————————————