суббота, 6 июля 2024 г.

Торговый робот SWTGrid

Итак, я закончил с роботом и, самое главное, с методикой его применения. И впервые за многие годы испытываю чувство удовлетворения и от проделанной работы и от полученного результата. Без примеси опасений и неудовольствия. Результат действительно хорош и предсказуем.

Торговый робот SWTGrid — усложненная и расширенная версия предыдущей программы с добавлением возможности использования контр-трендовой торговли и адаптивного алгоритма сетки с двумя сервисными сервисными добавками — адаптивный трейлинг стоп и закрытие прибыльных позиций на паттернах разворота внутридневного тренда.

Прежнюю трендовую версию робота можно получить отключив все дополнительные параметры настройки.

Что-то похожее я уже делал в начале 2020 года, но то ли чего недоделал, то ли чего недопонял, но тогда я отказался от этого алгоритма в сторону упрощения и ориентировки на полуавтоматическую торговлю — робот плюс трейдер. Идея зрела и в конце концов дозрела до реализации в программном коде. Детально о том, как он устроен можно посмотреть здесь. А о том, что с этим делать и что можно получить в результате — здесь.

Сейчас же поговорим об исходных идеях, на которых этот робот построен.

На этом этапе, пожалуй, с текущей версией индикаторов SWT-метода можно будет остановиться, выжато все что можно, стратеги и тактики ручно торговли, универсальный робот, методика его настройки и применения (еще не опубликована, но на днях описание появится).

Но вспомним, что такое SWT-метод.



Рис.1. Гребенка полосовых фильтров.

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

Эти функции и называются стохастическими волновыми трендами или парциальными (частными) трендами.

Тот, кто интересовался аппаратурой воспроизведения звука, сразу увидит в этой картине знакомую вещь из радиоэлектроники, а именно: эквалайзер.

Да, принцип сходный, задачи разные.

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

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



Рис.2. Таблица обозначений трендов SWT-метода и их отображение на графиках.

В таблице рис.2 приведены параметры трендов для случая, когда шаг "гребенки фильров" равен 5, т.е. центральные частоты полос пропускания этих фильтров отличаются в 5 раз.

Детали технической реализации фильтров не имеют принципиального значения, но по ряду причин целесообразно использовать систему фильтров с равномерным разбиением частотного диапазона в логарифмической шкале. И как я уже сказал, была использована система фильтров, центральные частоты которых кратны числу 5 (...F/25, F/5, F, 5F, ...).

Как отмечено выше, что шаг гребенки фильтров не имеет принципиального значения и может быть любым. От этого изменятся только характеристики выделяемых компонент и временные параметры рассматриваемых трендов. Сами такие тренды носят в большой степени искусственный характер и не имеют единого порождающего фактора или процесса. Мы просто группируем в единую функцию времени все случайные факторы, действие которых сосредоточено в определенном интервале частот, не более того. Тем не менее, выбор интервала кратности 5 имеет под собой определенную физическую природу, а именно:
- в неделе 5 дней;
- день содержит 24 часа, что близко к 25;
- в месяце чуть больше 4-х недель, что тоже близко к 5.

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

Указанные соотношения справедливы для непрерывной недельной торговой сессии 24 часа в день 5 дней в неделю. Если в сессии есть разрывы, то взаимно однозначное соответствие между циклами трендов на графиках различного масштаба будет выполняться с погрешностью, тем большей, чем больше разрыв. Это не мешает использовать волновые тренды для анализа динамики рынка, но нужно только учитывать, что преемственность трендов между волнами, отображенными на таймфреймах различного интервала тоже будет иметь погрешность.

Как работает робот?
Очень просто. Если включен режим работы по тренду и все тренды направлены вверх - робот покупает. Если вниз - продает.
Если же включен контртрендовый режим, то делает то же самое, но против согласованного направления движения по всем трендам. Это в самом простом варианте.

Чуть сложнее, это когда тренды разбиты на группы:
- тренды дневного масштаба и быстрее;
- медленные тренды - все что больше дня, от недельного цикла и старше, можно даже до десятков лет, но это уже слишком.

В этом случае режим тренд/контртренд работает только для медленных трендов. Что касается быстрых, то по ни входим только в направлении движения рынка.

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

Что еще. Режим адаптивной сетки с переменным шагом, зависящим от мгновенной волатильности рынка. Куда же без нее. Плюс пара необязательных примочек типа адаптивного же трейлинг-стопа и выхода из прибыльных позиций на локальных разворотах. Вот собственно говоря и всё.

Что это даёт?
Много чего. Почти гарантированная прибыль в размере 10 и более процентов в неделю на портфеле из 10-15 инструментов. При условии, что депозит достаточного размера, чтобы не рвались цепочки трейдов.

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



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

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

Ниже приведены примеры тестов на интервале 5 недель для портфеля инструментов (5 недель - это цикл краткосрочного тренда в рамках SWT-метода).











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

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

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