Блог им. neophyte

Алготрейдинг: адаптивный режим SWT-робота

    • 08 сентября 2017, 01:17
    • |
    • neophyte
  • Еще
Алготрейдинг: адаптивный режим SWT-робота

Август прошел под знаком завышенных ожиданий от усовершенствований адаптивного режима настроек робота на конфигурацию действующих трендов. Ожидания были завышены, а реальность как всегда хуже, но еще один шаг на пути к полной автоматизации SWT-робота сделан.
Стремительного роста эквити не получилось, но зато испытания в реальном времени с ручной подстройкой режимов робота тоже не понадобились. Достаточно убедительные результаты дало автономное тестирование на истории, особенно с использованием новых алгоритмов (не совсем новых, но я дал им свободу действий). Это конечно не исключает корректировок режимов робота по мере развития рынка, но корректировки эти будут минимальными. Главное, что рутина и субъективность качественного анализа заменены количественным анализом алгоритмов адаптивной настройки робота на исторических данных. С учетом того факта, интервал тестирования достаточно глубок по сравнению длительностью циклов используемых трендов, а количество сделок на интервале тестирования определяется сотнями и тысячами, результаты тестирования должны быть достаточно достоверными.
Размышления на тему полной автоматизации беспокоили меня давно, но все никак не удавалось точно сформулировать, что и как можно и нужно сделать. Помог август, большую часть которого я провел в рамках курса голодания. Избыток свободного времени и кристально чистое сознание — следствие полного голода и очистки организма, дали возможность корректно сформулировать задачу и найти несколько вариантов решения по алгоритмам адаптивной настройки робота. Варианты эти давно жили в подсознании, но тут им удалось прорваться наружу, поскольку ничто меня не отвлекало от решения задач по автоматизации торговли.

Об алгоритмах.
Алгоритмы просты как нехитрый садовый инструмент, именуемый грабли (разумеется, если использовать индикаторы SWT-метода).
Всего на сознательный уровень всплыло 5 режимов подстройки советника под конфигурацию действующих трендов:
— режим 0 — ручная настройка, по каждому учитываемому тренду отрабатывается и направленное движение (собственно тренд) и коррекция — это то что было и так. Ручная настройка на истории в тестах использовалась в режиме «все включено» (все фильтры);
— режим 1 — соответствующие фильтры автоматически отключаются на время коррекции, учитывается только режим направленного движения, т.е. тренд по формальному признаку;
— режим 2 — соответствующие фильтры также отключаются на время коррекции, но при дополнительном условии, а именно: если тренд на уровень старше ИЛИ тренд на уровень младше находится в режиме направленного движения (режим логического ИЛИ);
— режим 3 — соответствующие фильтры отключаются на время коррекции, если тренд на уровень младше находится в режиме направленного движения;
— режим 4 — соответствующие фильтры отключаются на время коррекции, если одновременно тренд на уровень старше И на уровень младше находятся в режиме направленного движения (режим логического И);
— режим 5 — соответствующие фильтры отключаются на время коррекции, если тренд на уровень старше находится в режиме направленного движения.
Варианты режимов 4 и 5 после тестирования были отброшены. Они лучше, чем алгоритм с ручной настройкой, но не обеспечивают достаточную гибкость автоматических настроек при изменении конфигурации трендов и намного хуже вариантов 1-3.
Варианты 1 и 2 примерно равноценны, вариант 3 несколько хуже, но тоже остается доступным в настройках робота. Ну и разумеется режим 0 — режим ручной настройки.
Я не могу сказать, что сделано все что возможно. Наверное можно учесть и более тонкие нюансы, но тут уже нужен другой подход, возможно на основе использования нейросетей, которые позволяют решать плохо формализуемые задачи.

Некоторые пояснения общего характера и деталей.
Что касается SWT-метода и робота, то речь не идет о черном ящике. Методика анализа, торговая тактика и алгоритмы совершения сделок детальнейшим образом описаны в материалах, опубликованных в моем блоге на смартлабе, и в моем блоге, посвященном SWT-методу.
Что касается собственно автоматизации, то отключение того или иного фильтра влияет на условия выполнения сделок, но не влияет на режим адаптивной настройки фильтров, оставшихся в работе. Характер движения по отключенным трендам все равно учитывается при настройке адаптивного режима фильтров, остающихся включенными.
Для фильтра внутридневного тренда адаптивная настройка  производится с учетом параметров часового тренда, который больше никак в роботе не использован.
Базовый тренд исключен из рассмотрения вообще, так как движения со средним периодом цикла более 12 лет вряд ли представляют интерес для автоматизированной торговли по более коротким трендам, а включение фильтра базового тренда обычно приводило к длительным простоям робота на встречных движениях долгосрочного тренда и среднесрочного трендов.
Что еще сделано за прошедший месяц кроме настроек адаптивного режима?
Оптимизирован сеточный алгоритм — найдены приблизительные оптимумы шага сетки и стопа сетки через текущую волатильность, которые обеспечивают примерно одинаковую эффективность для различных рынков.
Сетка обеспечивает быстрый рост объемов при риске на позиции, открываемые сеточным алгоритмом, примерно в 10 раз меньшем, чем риск по позициям основного алгоритма. Т.е. если риск по позиции основного торгового алгоритма 1%, то по позициям сетки — 0.1%. Уменьшение риска происходит за счет короткого стопа по позициям сетки.
Инициализация сеточного алгоритма производится открытием позиции по основному торговому алгоритму, после чего робот выставляет уровень открытия следующей позиции в направлении сделки, и т.д. до тех пор, пока рынок продолжает движение и пока не поступит сигнал завершения сделки, или позиции не будут закрыты трейлинг-стопом, стопом или по достижению целевого уровня.

Немного о принципах тестирования.
Общие соображения —  чем выше волатильность рынка для более коротких трендов, тем меньше фильтров старшего уровня иерархии может быть задействовано в процессе торговли роботом.
Но тесты проводим в полном объеме для следующих режимов:
— вектор включения фильтров (1,1,1,1,1,1) — все фильтры;
— вектор включения фильтров (0,1,1,1,1,1) — отключен фильтр долгосрочному тренду;
— вектор включения фильтров (0,0,1,1,1,1) — отключены фильтры по долгосрочному и среднесрочному трендам;
— вектор включения фильтров (0,0,0,1,1,1) — отключены фильтры по долгосрочному, среднесрочному и краткосрочному трендам.

Некоторые результаты тестирования для золота — XAUUSD — 01.01.2017-03.09.2017.
Номер прохода и режим:
1 — режим адаптивной настройки 0;
2 — режим адаптивной настройки 1;
3 — режим адаптивной настройки 2;
4 — режим адаптивной настройки 3.

1. Вектор настроек по трендам — (1,1,1,1,1,1).

Алготрейдинг: адаптивный режим SWT-робота

Лучший тест — режим адаптивной настройки 1:

Алготрейдинг: адаптивный режим SWT-робота

2. Вектор настроек по трендам — (0,1,1,1,1,1).

Алготрейдинг: адаптивный режим SWT-робота

Лучший тест — режим адаптивной настройки 1:

Алготрейдинг: адаптивный режим SWT-робота

3. Вектор настроек по трендам — (0,0,1,1,1,1).

Алготрейдинг: адаптивный режим SWT-робота

Лучший тест — режим адаптивной настройки 1:

Алготрейдинг: адаптивный режим SWT-робота

4. Вектор настроек по трендам — (0,0,0,1,1,1).

Алготрейдинг: адаптивный режим SWT-робота

Лучший тест — режим адаптивной настройки 3:

Алготрейдинг: адаптивный режим SWT-робота

Некоторые результаты тестирования для золота — EURUSD — 01.01.2017-03.09.2017.
Номер прохода и режим:
1 — режим адаптивной настройки 0;
2 — режим адаптивной настройки 1;
3 — режим адаптивной настройки 2;
4 — режим адаптивной настройки 3.

1. Вектор настроек по трендам — (1,1,1,1,1,1).

Алготрейдинг: адаптивный режим SWT-робота

Лучший тест — режим адаптивной настройки 2:

Алготрейдинг: адаптивный режим SWT-робота

2. Вектор настроек по трендам — (0,1,1,1,1,1).

Алготрейдинг: адаптивный режим SWT-робота

Лучший тест — режим адаптивной настройки 1:

Алготрейдинг: адаптивный режим SWT-робота

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

SWT-метод. Технический анализ рынков и алготрейдинг
★5
17 комментариев
А какой смысл приводить примеры лучших вариантов? Надо смотреть всё распределение…
avatar
Sergey Pavlov, так в настройках и в работе используются лучшие. Для того и проводится тестирование.
avatar
Хитрый форекс-пенсионер))
avatar

Stoic, хитрый и умный — это разные вещи. 
Хитрый означает присутствие большего или меньшего элемента жульничества и обмана, получения незаслуженной и незаработанной выгоды за счет других. Это не про меня.


 

avatar
Николай Скриган, а вам самому эти эквити нравятся? Что думаете?
avatar
Zweroboi, мне результаты нравятся. А всё остальное мне пох…
Массы как всегда не видят очевидного, цепляясь за свои заблуждения. Но что поделать, судьба  у них такая…
avatar
Николай Скриган, я спросил только про представленные эквити. Про результаты ваши мы ничего не знаем, кроме того, что они получены на демо. По крайней мере те, что в блоге есть.

Бабец кстати на фотке ничотак, драники умеет?
avatar

Zweroboi, счет реальный, правда пока что центовый. Следите, если интересно.

Заключительное тестирование после завершения разработки.

Счет центовый. $100 — 10000.00 центов.

Начато 7.09.2017г. (Чтобы посмотреть детальную статистику, кликните на виджет.)



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

avatar

Zweroboi, ну херовые эквити. Вас такой ответ устроит? :)

Но что есть, то есть. Зато не нарисовано.

avatar
Николай Скриган, ну почему прям херовые, они же всё-таки вверх смотрят ) Я бы сказал, что они выглядят как лучшие из случайных, каковыми они скорее всего и являются. Нужно искать где косяк
avatar
Zweroboi, ищите.
Или вы уже нашли?
ИМХО, косяки у тех, у кого эквити идет из левого нижнего угла в правый верхний почти по прямой. Несмотря на всю красоту такие алгоритмы на реальном рынке льют безбожно.
Вот пример автора с отличнейшими тестами: https://forum.alpari.com/index.php?/topic/113476-superded1-sivanik/
avatar

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

Когда почти по прямой — не видно упорства, но сразу возникает масса подозрений, чего это оно так легко идёт. Когда тилимпается туда-сюда, а потом резко прыгает — тоже всё понятно, один из миллиона вытащил выигрышный билет и его всем показывают по телевизору (в рекламе лотереи естественно).

Где-то в вашей ТС явно есть косяк с её предсказательной способностью, это только судя по эквити.

Я косяк искать не буду ) я живу и работаю в Лондоне, в инвестбанке, и именно тем и занимаюсь, что говорю есть косяк или нет и если есть то насколько критичный )

У вашей ТС есть и критичный, это pro bono

avatar
Zweroboi, у вас удобная позиция. Профессиональный критик в отличие от разработчика ни хера не делает, ничем ни  рискует и всегда сыт.
P.S. В моих стратегиях ничего искать не надо. Ищите в своих.
P.P.S. Да, мне пох где вы работаете. Место работы ничего не решает. Идиотов (не принимайте на свой счет, я про вас ничего не знаю), с помощью которых банки на западе сливали миллиарды, не счесть. Но когда человек начинает трясти местом работы и дипломами, значит сказать ему больше нечего и у него больше ничего за душой нет.
На фоне спасателей Бармалея от Айболита в Лимпопо выбиться не сложно. Но чел, который работает в американском хедж-фонде с помощью моей стратегии сделал миллион на личном счете. Не говоря о прибыли компании. Причем со стартовых на порядки меньше.
avatar
Николай Скриган, удобная, не скрою ) но конечно не настолько, как в ваших фантазиях ) в ЛЧИ участвуете?
avatar

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

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

А я получать разрешение Нацбанка на вывоз капитала не намерен, тем более не намерен платить налог 30%, которым облагаются нерезиденты. Я не мазохист, чтобы преодолевать ненужные мне трудности и получать от этого удовольствие.

avatar
а как с выводом средств, проблем нет?
avatar
Bambino, от 1 до 5 секунд и деньги на счете (это если выводить в вебмани). С банковскими переводами конечно намного дольше. До 5 банковских дней. Но это если суммы большие. Там можно и потерпеть.
avatar

теги блога neophyte

....все тэги



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