Фильтр белых лебедей.

Фильтр белых лебедей.

8 июня 2022, 21:29
fxsaber
1
349

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


На эту тему ранее были написаны небольшие заметки.


Белый лебедь.

На картинке 20 лучших проходов с форвардами (правее синей линии), взятых из генетической оптимизации на 18-ти ядрах с принудительным прерыванием после 2000 проходов (подробности здесь).



На каждом проходе можно видеть хороший подъем. Давайте посмотрим, как выглядит лучший проход в MT5-Тестере.

Получили просто повторение миниатюры средствами Тестера. Поэтому запускаем альтернативное представление результатов Тестера.

И вот здесь видим всплеск на графике баланса! На картинке показано выделение серой рамкой, которая дает интерактивную возможность увеличения масштаба заданной области. Главное, что почти вся прибыль получена на сверх-коротком интервале, который сразу виден. Поэтому смотрим его в виде баров и сделок на них средствами Тестера.

Собственно подтвердилось. Дикая граальность. Это и есть белый лебедь. Его конфигурации могут быть разными, это только один из вариантов.


Реальность.

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


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


Фильтр.

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

  • Запрещать роботу торговать интервалы, где идентифицировали белого лебедя.
  • Удалять в истории котировок такие интервалы и давать роботу оптимизироваться на измененной истории без каких-либо доп. условий.

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


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


Соответственно, можно проверить адекватность алгоритма самостоятельно на своих данных.


Без белых лебедей.

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


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


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

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

Файлы:
Поделитесь с друзьями: