Блог им. AleksandrBaryshnikov

Как умирают стратегии

    • 14 августа 2023, 14:02
    • |
    • bascomo
  • Еще
Когда я написал первого своего успешного робота, который торговал акциями на MOEX, я вообще не задумывался о том, что он может перестать работать. Это было тем, что психологи называют «жить здесь и сейчас» (привет гештальт-терапии и Перлзу лично), а некоторые другие категории персонажей «быть в моменте». Однако, ничто не вечно под этим небом.

А потому, когда пришло осознание, что любая стратегия рано или поздно умрёт — любая из тех, что мне интересны в силу своей высокой доходности — то хорошо бы решить несколько задач:
  • создавать стратегии автоматизированно и без моего участия (что было сделано на отлично)
  • детектировать момент увядания стратегии, чтобы своевременно её отключить, не дожидаясь трупа и всех прелестей разложения слива  выделенной на неё доли депозита
Я много раз подступался к последней задаче, с разных сторон, и неизменно приходил к одним и тем же результатам.

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

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

Но к нашим баранам.
Давайте посмотрим на несколько картинок.
Буду использовать пример на основе акций Сбера в последние месяцы.

Вот график Equity молодой стратегии. Она пока ещё растёт, набирает свою силу.
Как умирают стратегии

Вот эта уже прожила свои «лучшие годы», и её звезда катится к горизонту.
Как умирают стратегии
Ещё пример:
Как умирают стратегии

А эта, очевидно, издохла и уже пованивает.
Как умирают стратегии

У этой открылось второе дыхание:
Как умирают стратегии

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

Можно посчитать квадратные или кубические разницы отклонений между идеальной Equity (EtalonSTD) и реальной (чёрная линия, SBER). Но такую метрику, скорее, лучше использовать для оценки гладкости кривой Equity. Максимальная просадка — это показатель из той же оперы, но он совсем примитивен и нерелевантен, как по мне. Можно считать только отрицательные отклонения, что ещё лучше.

Можно вместе с кривой Equity нарисовать ломаную кривую максимальной достигнутой доходности (MaxSTD). Число касаний Equity к MaxSTD тоже определяет качество стратегии — чем оно больше, тем стратегия лучше. Его можно перевести в %, разделив число касаний на число сделок. Уже что-то. Но тоже не говорит, что стратегия перешла к фазе своего заката. Хотя тут зависит, на что смотреть.

Обратите внимание на графики, где стратегии перестали зарабатывать или стали убыточными. Видно, что у них MaxSTD перестал расти. Поэтому можно взять среднее время приращения MaxSTD на фазе роста и проверять, как давно Equity не обновляла свой High. Этот метод, на данный момент, я считаю наиболее эффективным.

Но от чёрных лебедей он не спасёт — может случиться вот такое:
Как умирают стратегии

Однако, для этого у нас есть диверсификация и управление капиталом. Я склонен думать, что такие ситуации будут всегда. Но ведь и лекарство известно.

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

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

Ещё пофантазируйте вот над чем: что будет, если вы консолидируете графики, к примеру, сотни стратегий, где таких, как на первой картинке, будет 90%, а остальных — 10%? У меня за счёт таких манипуляций кривая Equity стала куда более гладкой, а ещё меня примерно совсем перестали волновать просадки. Понимаете, почему?

Хорошего вам дня.
6.2К | ★4
78 комментариев
Нетрейдер, был бы ответ, а что с ним делать — разберёмся ;)
avatar
может не стратегия умирает а фаза рынка меняется? почему бы не сделать балансера который динамично выделяет балансы в зависимости от производительности стратегии ? 
avatar
FrBr, чтобы упростить. Динамическое управление капиталом — задача на порядок сложнее.
avatar
bascomo, управление сайзом завтрашнего дня по сегодняшнему дню ухудшают стратегию.
avatar
22022022, это надо массово потестировать. И вообще сайз должен определяться перед каждым входом, если этот подход использовать.
avatar
FrBr, фаз рынка 8. Это 1-2-3-4-5-а-в-с. А ты глазастик.Но, надо и ВА Эллиота подучить.Увеличиваем участие только в 3й волне.Главное — размер учатия зависит от тайма и размера фрактала (считаем свечи в фрактале).
avatar
monomah, лучшая стратегия — вход в конце коррекции… тк далее новый тренд (импульс из 5 волн Эла). Про импульс (тренд ) есть много граалей= правил.
avatar
Нетрейдер, зависит от ответа :)
avatar
MoscowTrader, жду, когда вы устанете регистрировать новые аккаунты и меня комментировать :)

А так же лайкать самого себя. Вообще, знаете, лайкать самого себя — это выглядит примерно как кот, вылизывающий свои яйца :)
avatar
Нетрейдер, некоторые идеи я тут озвучил: Как я распределяю капитал по позициям (smart-lab.ru)
avatar
Вы совершаете множество сделок. А как вы учитываете комиссии и налоги? E Вас не получается что после налогов Вы фиксируете убыток?
avatar
Максим, Equity очищена от комиссий. Ставка налога фиксирована. Где тут проблемы? Смотрите, по Сберу доход с 1.06 по сегодня 33,81 на акцию. х10 на лот. Цена сейчас 267. 78% получается за 2,5 месяца. Это выше 13-15%.

Ну или я что-то неправильно посчитал :)

ps ну да, 338 / 2670 = 12%. Но смотреть нужно за год, это должно быть примерно 60%.
avatar
Нетрейдер, я бы попробовал набрать пул трендовых и конттрендовых (флетовых стратегий) раздал бы каждой равный депозит и потом в зависимости от серии успешной — неуспешной сделки резал бы лимиты(срезаный лимит поступает в общий пул с которого кормятся все). Балансер бы сводил бы все это в единую позу и через балансер бы выставлялись заявки. Ну это так — идея   
avatar
monomah, знаешь как определить фазу рынка? Тренд? Коррекция? Ты гуру? Сложно выражаешься.Про перекрытие волн знашь? Оно и кажет фазу рынка.Перекрытие на свечах = L-ref(H,-2)   для роста. Почему -2, а не -3 или еще как я не скажу тк это грааль.
avatar
Нетрейдер, ну наверное, протестировать на большом участке истории, который включает в себя все фазы рынка и посмотреть как стратегия справляется с неблагоприятными для себя периодами. Если в эти периоды сливает умеренно, то принять это как факт и не считать в такие периоды что система сломалась, а просто находится в плановой просадке.
Нетрейдер, не так важна длина истории как то что должна включать в себя все фазы рынка — тренд, флет, волатильный флет.
monomah, естественно
мне оч понравился на эту тему скрин, примерно из 2015 года, назывался он примерно «как умирают hft стратегии», автор secret. Там прям жизненно )
avatar
Андрей К, так прикрепите :)
avatar

bascomo, смысл там примерно такой. После загогулины, надо срочно выключать )



avatar
Андрей К, в моём случае — не выключать, а переключать на другую :)

Это весьма существенная разница :)
avatar
Андрей К, ну HFT имхо это немного другая сфера
avatar
FrBr, собака тут зарыта в том, что не бывает абсолютно трендовых и абсолютно контртрендовых стратегий, а вот смешанные точно бывают. Поэтому то разделение, которое мы применяем к рынку — тренд и контртренд — не всегда справедливо применять по отношению к стратегиям, которые на нём работают.

И потом, для контртрендовых будут длинные серии успешных и короткие — неуспешных, а для трендовых — наоборот.
avatar
Нетрейдер, определились с диапазоном тестирования — начинаем тест стратегии. Смотрим общий результат и результаты на разных фазах рынка.
Нетрейдер, эти данные вообще не нужны, разве что для «академических исследований». Нужен график эквити, полученный при тестировании стратегии и бенчмарк для сравнения.
чем меньше параметров оптимизации тем бльше стабильность...

вообще у мя есть бот на 1ом параметре от 2010г торгую им досих пор
avatar
ves2010, а у меня 0 параметров :)
avatar
bascomo, у средней цены закрытия  параметр — это период… mov(C,13,S) 
avatar
monomah, это не параметры, а результаты. 5 кривых, что на графике
avatar
monomah, первая кривая — это стратегия, у которой нет параметров, а остальные — производные от неё, они её описывают для анализа.
avatar
monomah, с этой точки зрения параметры есть у всего. Но есть другая точка зрения — что параметры — это то, что можно подстраивать и подстраивается в процессе настройки стратегии. Так вот таких параметров у меня нет. Я ничего не подстраиваю. Либо созданная стратегия работает «как есть», либо не работает. Никаких подстроек на уровне отдельной стратегии.

Какие стратегии напихать в портфель и как между ними распределить капитал — такого рода «подстройки» есть, да. Но это другое.
avatar
monomah, значит, я ничего не понимаю в программировании :)) 
avatar
bascomo, дело не в программировании, а не знания алгоритма рисования графика.Ты на стадии опытов, а открытия впереди. Мы все идем одним путем. Учимся читать график по каждой свече.Я уже прошел свой путь из 28 лет торговли, а кто то только начинает.
avatar
monomah, наверно ты работал с Метастоком или Омегой2000? Умно сказал.Хвалю. Продолжай давить теханализом на зеленых.
avatar
ves2010, этот параметр — количество пробитых уровней одной свечей? размер перекрытия? ATR(), размер тела свечи? Номер хая в тренде?
avatar
ezomm, нет это номер бара внутри дня
avatar
Redline, приятно иметь дело с умным человеком :)
avatar
есть более простые способы, но они про математику
avatar
Всегда торгую с настроем скорой смерти стратегии.
Дродауны — первые звоночки. Когда стратегия начинает загибаться сразу чувствуется по винрейту, задолго до полного расколбаса. Главное не затягивать.
avatar
22022022, расколбас из за статичного периода индюков и средних.Ставь вместо 14 формулу расчета периода и расколбаса не будет.Будет малая прибыль(малый убыток) в боковике и большая прибыль  в тренде.Но! Научи робота отличать тренд от боковика.Считай новые перемены за период типа 34, скорость новых перемен (хаев), ускорение или затухание нп.Тренд — и период 3.Боковик — и период 34.
avatar
Вот почему у тех, кто торгует руками (тех же скальперов, например), в ходу одна-две стратегии. И они никогда не умирают, независимо от фаз рынка. А у алготрейдеров этих стратегий сотни. И продолжительность жизни каждой из них, как правило, коротка. Почему так? Может, потому что сам метод нахождения и тестирования алго стратегий — по сути, подгонка под прошлые данные? Поэтому, неудивительно, что стратегии «умирают». Да они и не были живыми никогда. 
avatar
Михаил К., Вот почему доходность стратегий алготрейдеров была, есть и будет выше доходностей тех, кто торгует руками.
avatar
bascomo, в первый раз об этом слышу. Почему так должно быть? Как какой-то набор механических правил вообще может справиться с выбором оптимальных сделок лучше, чем подготовленный трейдер, который воспринимает и анализирует рынок комплексно? 
avatar
Михаил К., я доверюсь мнению своих коллег и тоже вас забаню. 
avatar
Михаил К., скальперы очень разные бывают.
Был один скальпер, которыи не смог приспособиться к изменениям. Как только он входил, рынок дёргал против него. Потом он начал замечать куклов в стакане… Закончилось всё очень серьезно — обвинение брокера в кукловодстве.
avatar
22022022, ключевой момент — что скальпер заметил. А алгоритм ничего бы не заметил и просто бы сливал.
avatar
Еще из опыта: Рабочая стратегия, обычно, после входе сразу идёт куда надо, быстро отрабатывает. Оставляет кучу свободного времени. А когда стратегия начинает еб… мозги, тянет время… лучше не тратить нервы 
avatar
22022022, это не формализуешь
avatar
Я далёк от трейдинга и написания роботов поэтому такой наивный вопрос — почему бы издыхающую стратегию не повернуть на 180 градусов? Просто все параметры заменить на зеркальные и она начнет расти вверх, а не вниз! )))
avatar
Sir Dasfig, Увы, это не работает :)
avatar
Рассматривать эти графики было бы интереснее, если бы на них была вертикальная синяя линия (окончание IS, начало OOS).
avatar
Кирилл Гудков, 
вертикальная синяя линия
вертикальная синяя линия © — это же мем!
bascomo, расскажите про платформу — питон? используете  библиотеки Backtrader и подобное?
avatar
Zoran, Я всё написал сам на c#, за 3-4 месяца. Никаких библиотек не использовал.
avatar
Нетрейдер, нужно сначала договориться о том, какой смысл каждый вкладывает в это слово :) 
avatar
Нетрейдер, разве про переподгонку шла речь. Вроде бы о том как ломаются системы.
Почитайте мои коменты в этой статье smart-lab.ru/blog/633955.php может поможет.
avatar

Читайте на SMART-LAB:
Фото
BRENT: разрядка заставила искать новую точку равновесия
Нефть колебалась в широком диапазоне, стабилизировавшись на высоком уровне, начав резкое снижение в конце периода. Почти все эти резкие движения...
Фото
ДВМП: результаты в рамках прогноза, но и цена близка к целевой - будет ли выкуп миноров из-за объединения Росатома с DP World?
ДВМП отчитался за 2025 год: 2,3 млрд рублей убытка для акционеров за 2025 год Традиционно сравниваю со своим прогнозом и делюсь...
Рентабельность на рынке МФО и в Займере
Банк России в своем ежеквартальном обзоре  ключевых показателей МФО указывает на важную тенденцию: на рынке растет разрыв в рентабельности...
Фото
Кто сейчас самый дешевый сбыт? Сводный пост по сбытовым компаниям по отчетам РСБУ за 2025г.
Волгоградэнергосбыт Ставропольэнергосбыт Самараэнерго Мордовэнергосбыт Пермэнергосбыт Новосибирскэнергосбыт...

теги блога bascomo

....все тэги



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