Блог им. NikitaSOF

Анализ алгоритмизации паттерна "Голова и плечи"

Привет SmartLab!

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

Вступление.

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

Тема поста.

В первом посте решил рассказать о своем последнем опыте алгоритмизации паттерна «Голова и плечи» (далее ГИП). Недавно выпустил у себя ролик, как создать алгоритм ГИП, если интересно можете посмотреть: https://www.youtube.com/watch?v=uVqx6sXkiE8&t=4120s&ab_channel=16%3A05Algo16%3A05Algo. Роботов я кстати пишу в тслабе, не знаю сколько из вас о нем слышали, но, если нет, то советую ознакомиться, софт классный, а у меня на YouTube-канале вы сможете найти небольшой курс из 4 занятий для обучения.

Коротко об алгоритме.

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

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

Выводы после тестирования.

Самый главный вывод из алгоритмизации: паттерн «Голова и плечи» действительно работает (я всегда скептически отношусь к общеизвестным паттернам и знаниям в трейдинге).

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

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

Анализ алгоритмизации паттерна "Голова и плечи"

Из плюсов, которые я для себя выделил. Точка входа очень хорошая, без каких-либо фильтров тренда вышел приличный шорт на РТС, чего не так уж и просто достичь в принципе. Стресс-тест (2019г-текущее время) тоже пройден отлично, особенно порадовало, что бот хорошо пережил 2020 год (смотрел как он ведёт себя до 2015 года и там все тоже на удивление хорошо).

Из минусов: очень мало сделок, что повышает риск переоптимизации. Эксперементировал с добавлением в бота конструкций с увеличенным количеством логик и было заметно при анализе, что бот возможно чутка переоптимизирован.

Немного интересных наблюдений.

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

 Анализ алгоритмизации паттерна "Голова и плечи"

На самом деле промежуточных тестовых алгоритмов было больше (и у каждого из них параметры примерно в этих диапазонах), но эти 4, скажем так, законченные. К слову, лучшим вариантом оказался обычный тейк с немного модернизированным стопом. Эти данные натолкнули меня на мысль, что на фьючерсе на РТС (тесты проводились именно на нем) есть некие устойчивые и независимые параметры для головы и плечей, что достаточно интересно. Другие инструменты пока не тестировал на подобную особенность, если будет время обязательно попробую, и, если вам будет интересно, поделюсь результатами.

Концовка.

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

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

Всем профита!

★8
23 комментария
Тут много ЧС ников, чуть чего сразу в ЧС отправляют, не обращайте на них внимания они не от большого ума это делают
avatar
Karabas, спасибо, буду знать
avatar
NikitaSOF, долгожданный рабочий пост, спасибо! )
А над линией шеи не работали?
Качество экстремумов шеи, направление и/или угол наклона?
avatar
VladMih, В видео делал условие на расхождение экстремумов линии шеи (первый экстремум шеи минус второй, по модулю, должно быть меньше какого-то числа). Собственно в скриптах, которые я анализировал, оно было учтено. А что означает качество экстремумов?
avatar
NikitaSOF, ну типа чтобы они нефлетовые были, амплитудные. Вообще фильтры ренжа(флета) одни из самых важных.
И что, «модуль» ваш реально работает? 
ИМХО на сильно восходящей шее на продажу должно даже лучше работать, а вы это фильтруете... 
avatar
VladMih, Ну обычный «модуль» на расхождение линии шеи конечно лучше, чем его отсутствие, с ним находится более «правильный» паттерн. Тот вариант реализации ГИП, который у меня в видео и о котором идет речь в посте еще можно улучшать и модернизировать по желанию. Самое главное в нем, на мой взгляд, это основа в лице независимого определения плечей и головы.
avatar
у тя ошибка
ты тестишь на индексе а не на фьюче
индекс сглажен и запаздывает
т.е прямо возьми фьючерс ртс и на нем смотри на настройках под индекс… и сразу увидишь разницу
avatar
ves2010, Я тестирую на фьючерсе на индекс РТС, с чего вы взяли, что тесты на индексе?
avatar
NikitaSOF, у тя на картинке написано RTSI

вообщем чтоб понять переоптимизация или нет… поставь на те же настройки сбер, газпром и си… если все ок и прибыль будет то бот годный
avatar
ves2010, Это название файла с котировками там RTS1m (1m — минутный график). Из-за того что сайт сжал картинку плохо видно, к сожалению.

На мой взгляд не очень правильно определять переоптимизацию через прогонку бота на других инструментах с теми же параметрами. Каждый инструмент имеет свой характер и не то что параметры отдельно взятого бота, а даже сами стратегии, работающие на одном инструменте, могут не работать на другом.
avatar
NikitaSOF, согласен.
Если фиксированные ТП и СЛ, такая проверка вообще ни о чём.
avatar
ves2010, 
у тя ошибка
ошибка, вероятно, в том, что не работают «ни руки», «ни ноги», «ни хвосты»...
но вера… энто тема  — свобода для души...
если верит, что работают то и пусть верит… нам то что...
avatar
wistopus, гип это поведенческий паттерн толпы… лет 15 тому назад читал книгу про связь поведения толпы с паттернами на графике... 
avatar

ves2010, ГИП — это естественный рисунок разворота тренда. 

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

avatar

Формализация паттернов — интересная тема, не часто тут всплывает, интересно почитать, вернее почитать особо нечего — тут обзорно больше, а видос гляну. 

 

1. Такие вещи достаточно универсальны, не хотите глянуть на акциях, например, прям на большом пуле инструментов. Без затачивания под инструмент. Трейдов будет много).

 

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

avatar
Replikant_mih, Да, текстом реализацию подобных вещей не опишешь, видео для этого намного удобнее.

Записал в список дел, глянуть ГИП на акциях, спасибо за предложение! 

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

NikitaSOF, >>«емного не понял, что имелось во втором пункте, но каждый паттерн собирается индивидуально, иногда это долгий и сложный процесс (Голову и плечи я делал неделю с лишним).»

 

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

avatar
«Голова и плечи»

Не то, не то!

«Голова и жопа» — вот сочетание, которое у алготрейдеров железно работает. Проверено и головой, и жопой!
avatar
bocha, 
тут напрашивается старая поговорка про пропасть… перефразирую -
«если очень долго смотреть на график, то график начинает смотреть на тебя»....
avatar
Для полноты не хватает аналогичного исследования перевернутой ГИП.
avatar
А. Г., Обязательно сделаю, спасибо за предложение!
avatar
NikitaSOF, важно — левое плечо желательно, но не обязательно.
avatar

Тема очень интересна. 

Торгую аналогично роботом по паттернам, но код на Wealth-Lab. Видео гляну.

avatar

теги блога NikitaSOF

....все тэги



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