Обсуждение статьи "Метаразметка классических стратегий (Часть 2): Фильтрация сделок по ADX и определение размера позиций"

Опубликована статья Метаразметка классических стратегий (Часть 2): Фильтрация сделок по ADX и определение размера позиций:

Пересечение линий DI часто дает сигналы на боковом рынке, где +DI и -DI колеблются без устойчивого преобладания одной из линий. Мы создаем двухслойную гибридную модель: алгоритм выбора гиперпараметров TPE в Optuna оптимизирует фильтр рыночного режима по порогу ADXR, периоду расчета DI и минимальному расстоянию между линиями DI, чтобы максимизировать точность (precision) сигналов на отложенном валидационном интервале; затем случайный лес использует одиннадцать признаков, рассчитанных на основе ADX, для допуска входов в рынок или определения размера позиций с помощью afml.bet_sizing. Полученная модель отфильтровывает всплески сигналов на боковом рынке и калибрует размер позиции при торговле EURUSD на H1.

Пересечение линий DI формирует сигнал направления сделки всякий раз, когда +DI14 пересекает -DI14 снизу вверх или наоборот. При этом не учитывается, достаточно ли устойчиво направленное движение рынка в данный момент, чтобы позиция, открытая в рамках следования за трендом, успела окупить транзакционные издержки до разворота цены. На трендовом рынке пересечение линий DI часто дает четкий сигнал: доминирующая линия DI устойчиво растет, расстояние между линиями DI увеличивается, а цена движется в направлении открытой позиции. На боковом рынке две линии DI колеблются относительно друг друга, многократно пересекаясь в пределах одного и того же узкого ценового диапазона. Каждое такое пересечение по своей структуре выглядит точно так же, как пересечения, за которыми следовали четко выраженные трендовые движения. Логика входа в рынок не позволяет различить эти две ситуации.

Уэллс Уайлдер осознал это и встроил частичное решение проблемы непосредственно в саму систему. Рейтинг среднего индекса направленного движения (ADXR) — среднее значение ADX за p периодов — служит у Уайлдера фильтром рыночного режима: стратегию следования за трендом следует применять только тогда, когда ADXR превышает 25, и избегать её, когда ADXR опускается ниже 20. Точнее говоря, ADXR равен (текущее значение ADX + значение ADX n периодов назад)/2. Формула, приведённая в разделе 2, верна, однако данное здесь словесное определение является упрощением. Это правило является необходимым, но не достаточным условием. Два пересечения линий DI с одинаковыми значениями ADXR могут привести к совершенно разным результатам в зависимости от того, растёт или падает ADX, насколько велико расстояние между линиями DI в момент пересечения, как долго преобладает доминирующая линия DI и какова волатильность бара. Скалярный порог не позволяет учесть эту комбинаторную структуру.

В данной статье реализован двухслойный подход к решению этой проблемы. На первом уровне фиксированный порог ADXR, заданный Уайлдером, заменяется фильтром, настраиваемым на основе данных. С помощью Optuna выполняется байесовская оптимизация гиперпараметров (HPO): подбираются три параметра — порог ADXR, период расчета DI и минимальное расстояние между линиями DI — для максимизации точности (precision) сигналов на отложенном валидационном интервале. На втором уровне к каждому сигналу, прошедшему фильтр, применяется вторичный классификатор на основе алгоритма «случайный лес», использующий одиннадцать контекстных признаков, вычисленных на основе ADX на баре сигнала. Размер позиции масштабируется в зависимости от уверенности классификатора с помощью модуля afml.bet_sizing в соответствии с той же архитектурой определения размера позиции, которая была представлена в части 10 серии «Blueprint».


Автор: Patrick Murimi Njoroge