Блог им. fxsaber

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

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

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

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

 

 

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

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

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

 

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

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

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

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

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

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

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

 

Реальность.

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

 

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

 

Фильтр.

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

 

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

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

 

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

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

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

 

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

 

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

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

 

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

 

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

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

★2
3 комментария
этого можно кушать. Даю добро. Много говорит, непонятно о чем. Стало быть сытый. А значит есть что съесть. Набегай.
avatar
Идея вроде очень здравая, но у меня впечатление, что разброс результатов после применения фильтра резко повысился. До фильтра почти не было убыточных форвардов.
avatar
Xaba3abr, просто до фильтра генетика практически сразу схватилась за лебедя, поэтому все лучшие проходы стоят рядом, чтобы использовать лебедя. Соответственно, лучшие результаты почти под копирку и на форварде.

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

В итоге получил результаты с разных локальных вершинок. Так объективнее. И можно из лучших результатов выбрать понравившиеся.

Тема нашла свое неожиданное продолжение в телеграм-группе…
avatar

теги блога fxsaber

....все тэги



UPDONW
Новый дизайн