вторник, 19 сентября 2017 г.

SWT-робот: интересный эффект получается




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

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

Так вот. Интересный эффект получается с фильтрами высокого порядка. И выявить это помог робот.

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

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

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



Я, твою мать, не вижу никакой разницы или вижу только запаздывание, а робот (неважно, что по моему алгоритму) и разницу видит и запаздывание ему не мешает, и все использует себе (и мне) на пользу.
Обидно, ничего не сделал, только зашел... (с) "Кавказская пленница".

И вот глядя на это безобразие я сижу и думаю, а не попробовать ли фильтры более высоких порядков, которые  еще больше повысят плавность хода волн и сгладят колебания, существующие сегодня на волнах, полученных фильтрами второго порядка.
Что меня останавливает? Быстродействием компьютера (вот уж не думал, что мне когда-нибудь придется с этим столкнуться). Но столкнулся уже при работе на фильтрах четвертого порядка. Если включить 24 инструмента одновременно с роботом на каждом, то все еще работает. Если добавить к ним индикаторы, тоже работает. А если включать терминал с уже сформированным профилем, в котором кроме роботов на графиках есть и индикаторы, то не факт, что терминал загрузится, а не зависнет, сцуко, навсегда.
И придется вызывать скорую помощь в виде диспетчера задач, чтобы прервать выполнение загрузки терминала и сделать новую попытку, которая будет более удачной, что тоже не факт.
Вот так то, "не всякая рыба селедка!" (с) А.Н.Крылов "Мои воспоминания".

Ну ладно, с лирикой покончим. Поговорим немного о результатах.

Вначале групповой тест.

Первое сканирование идет по векторам фильтрации:
- (0,0,1,1,1,1) - принимаются в расчет фильтры трендов до краткосрочного включительно;
- (0,1,1,1,1,1) - принимаются в расчет фильтры трендов до среднесрочного включительно;
- (1,1,1,1,1,1) - принимаются в расчет фильтры трендов до долгосрочного включительно.

Второй параметр - тип фильтра, тоже по трем вариантам
- фильтр второго порядка, реализованный методом отображения дифференциалов (обратная разность);
- фильтр второго порядка реализованный методом билинейного z-преобразования;
- фильтр четвертого порядка, реализованный методом отображения дифференциалов (обратная разность).

И третий параметр - тест в пипсах по пятому знаку котировки.
Теста в пипсах в МТ4 нет, поэтому он сконструирован искусственно. Задается фиксированный объем сделки, так чтобы 1 доллар был равен одному пипсу. Это самый объективный тест при исследовании стратегий. Так как реинвестирование всегда немного искажает результативность торгового алгоритма в ту или иную сторону за счет манименеджмента. Нам же нужен эффект в чистом увиде, а ММ мы наложим потом, используя стандартные процедуры расчета оптимального объема позиции при заданной статистике результатов тестирования. На относительную просадку в этих тестах не стоит обращать внимания. Имеет значение профит фактор и статистика.

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



Что можно сказать по результатам теста.
Итак, исходный вариант с фильтром второго порядка неплох, но если мы не учитываем тренды старших уровней иерархии - среднесрочный и долгосрочный, то прибыль хотя и есть, но она меньше просадки.
С трендами старших уровней иерархии результат вполне приличный.
Переход к фильтру без краевых эффектов наложения частот резко улучшает результат для вектора фильтрации с учетом до краткосрочного тренда включительно (позиция 4 по сравнению с позицией 1). Прибыль уже сравнима с просадкой. Для двух других вариантов прибыль также растет, а просадка становится меньше.
Фильтр четвертого порядка дает немного меньшую прибыль по сравнению с фильтром второго порядка, полученным билинейным преобразованием, но посмотрите на профит-фактор, который в тестере обзывается словом прибыльность. И на просадку, которая тоже стала меньше. Такой профит-фактор стоит затраченных усилий.
Причина незначительного уменьшения прибыли в деньгах заключается в меньших объемах сделок, так как волатильность волн при использования фильтра четвертого порядка выше, а риски и стоп зависят от значения волатильности.
Для примера сравним три графика с разными типами фильтров:



Тип фильтра 0.




Тип фильтра 1.



Тип фильтра 2.

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

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

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




Тест в долларах. Риск на сделку 1%. Тип фильтра 0.




Тест в долларах. Риск на сделку 1%. Тип фильтра 1.




Тест в долларах. Риск на сделку 1%. Тип фильтра 2.





Тест в пипсах. Тип фильтра 0.




Тест в пипсах. Тип фильтра 1.




Тест в пипсах. Тип фильтра 2.

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

Комментариев нет:

Отправить комментарий