Обсуждение статьи "Три фильтра MACD на US_TECH100: Тестирование на данных брокера за пять лет"

Опубликована статья Три фильтра MACD на US_TECH100: Тестирование на данных брокера за пять лет:

В этой статье тестируются три распространенных фильтра для стандартного пересечения MACD на US_TECH100 H1 с использованием нативных данных брокера за пять лет. Фильтры добавляются поэтапно: фильтр рыночного режима, согласование со старшим таймфреймом (HTF) и время американской сессии. Это позволяет изолировать добавочный эффект каждого фильтра. Результаты показывают, что выбор часов торговли дает гораздо больший эффект, чем доработки индикатора, тогда как рыночный режим и HTF сами по себе дают мало. Статья включает воспроизводимый классификатор рыночного режима на MQL5.

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

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

Поэтому я использовал реальные данные брокера по US_TECH100 на таймфрейме H1, запустил стратегию пересечения MACD без фильтров, а затем добавлял каждый фильтр по одному, чтобы измерить его влияние на результаты. Ни мнений, ни интерпретаций — только результаты по закрытым сделкам, процент прибыльных сделок и математическое ожидание за пятилетний период.

Результат меня удивил.

Three MACD Filters on US_TECH100: Five Years of Broker Data


Автор: Marcelo Alejandro Borasi

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

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

Вы можете после сессионного фильтра иметь тысячи сделок и PF > 2. Но это с высокой вероятностью будет подгонка. Должны быть валидационные механизмы.

fxsaber количество сделок является слабым индикатором.

После применения сессионного фильтра и PF > 2 вы можете получить тысячи сделок. Однако в этом случае высока вероятность переобучения. Необходимо предусмотреть механизмы валидации.

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

Два пояснения относительно того, что на самом деле было сделано в статье, которые я, вероятно, должен был изложить более ясно:

Окно с 14:00 до 20:00 UTC не было выбрано путем поиска интервала, максимизирующего PF на исторических данных. Оно было выбрано априорно как приближение к основной сессии NYSE, исходя из микроструктурного аргумента о том, что ликвидность концентрируется именно в эти часы.

Я не проводил поиск по сетке для выбора этого интервала. Если бы я это сделал, я бы согласился, что показатель PF вызвал бы сомнения.

Окончательный показатель PF, равный 1,20, намеренно занижен; если бы я переобучал сессии, это число выглядело бы гораздо лучше. В статье приводится то, что на самом деле дал априорный фильтр, а не то, что можно было бы «выжать» из данных.

Тем не менее, вы правы в том, что в данной статье отсутствуют упомянутые вами этапы валидации (прогрессивная валидация, анализ чувствительности к сессионному окну, выделение вневыборочной выборки).

Я указал на это в разделе «Ограничения», но согласен, что этот вопрос заслуживает отдельного продолжения.

В настоящее время я готовлю вторую статью именно на эту тему:

анализ методом «walk-forward» той же модели на TECH100 M5, чтобы проверить, сохраняются ли результаты гипотезы H1 на более коротком таймфрейме при надлежащей вневыборочной валидации

Ваш комментарий еще раз подчеркивает важность серьезного подхода к этой задаче.

Спасибо за ссылку на механизмы валидации.