среда, 13 сентября 2017 г.

Не зная ни сна и ни отдыха...

Не зная покоя и роздыха,
При лунном и солнечном свете 
Я делаю деньги из воздуха, 
Чтоб тут же пустить их на ветер
(с) И.Губерман (по крайней мере он так считает)



Пока робот днем вкалывал я успел пробежать 5 км, поспать два раза, убрать избыточные настройки параметров робота и занялся объединением в одной системе фильтров разного типа и порядка. А учитывая тот факт, что за день я хорошо выспался, я спокойно работал всю ночь. И только в 7 утра лег поспать на 3 часа, которых вполне хватило.. Сейчас закончу этот текст, и снова на прогулку-пробежку.

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


Теперь еще раз о стохастических волновых трендах. Используя заложенные в SWT-методе принципы можно построить бесконечное множество наборов полосовых фильтров разного порядка, разного шага, сконструированных различными методами и имеющих различное расположение полюсов и нулей на комплексной плоскости z-преобразования (это я немножко пугаю страшными терминами, за которыми нет особой сложности, но тем не менее альтернатив много). Наборов фильтров может быть много, и тренды для этих наборов будут различные, но принципы работы с волнами остаются неизменными. Один мой знакомый, методику которого я расшифровал по паре слов в переписке, использует близкий подход, который в переводе на язык SWT-метода эквивалентен шагу гребенки фильтров 1.618 (число Фибоначчи). Реализуя сходный принцип в рамках SWT-метода я утонул в волнах, слишком их много было и смысла особого в этом не было, поскольку они очень сильно коррелировали. 9 волновых трендов SWT-метода тоже немало, но это все-таки в 4-5 раз меньше, чем дает гребенка фильтров с шагом 1.618.

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

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

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



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


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

А пока что для сравнения результаты теста по трем вариантам.

1. Фильтр второго порядка - исходный прототип.




2. Фильтр второго порядка - билинейное z-преобразование.
Прибыль больше, просадка немного меньше. Статистика лучше.



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




Вот такие предварительные результаты.

Что с этим делать посмотрим. Жизнь покажет.

P.S. Да, еще один тест в пипсах, чтобы исключить ересь реинвестирования и получить результат чистого торгового алгоритма.
Тренд по индикаторам начался 24 апреля.




За 4 с небольшим месяца робот намолотил 68388 пипсов профита.
Средняя сделка по МО +83 пипса.
Средняя прибыльная сделка 315 пипсов.
Средняя убыточная сделка -219 пипсов.
Процент прибыльных сделок 56.59%.




Можете сделать лучше? Делайте. Я пока что не могу. :)

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

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