TradingView
ROBO_Trading
24 мар 2018 г., 00:36

Проверка на прочность Обучение

Bitcoin / US Dollar Perpetual Inverse Swap ContractBitMEX

Описание

Ниже рассказываю про один хороший приём проверки стратегии на прочность. На графике выше красным прямоугольником выделено падение биткойна с 20к до 6к. С 17 декабря 2017 по 6 февраля 2018. За тот же период запущен бектест на часовом графике. А чтобы ей (стратегии) совсем не сладко было - отключен шорт вообще. То есть можно только в лонг, против тренда. Отключен пирамидинг и нет кредитного плеча. Выкручивайся как хочешь :) Настройки по умолчанию. Так вот, если проигрывает в таких самых жестких условиях, то вероятность что проиграет в будущем уже крайне мала. Но вот рынок меняется, от чего стратегии перестают быть прибыльными со временем. Обычно это происходит не одномоментно, а прибыль постепенно падает. При этом постепенно падает и % прибыльных сделок, что более важный показатель, если мы хотим оценить "работоспособность" стратегии.

Почему % прибыльных сделок для оценки стратегии важнее чем прибыль объяснить не сложно - дело в том что прибыль сильно зависит от волатильности рынка, а не только от точности стратегии. Поэтому если рынок сильно "колбасило" то стратегия якобы работает лучше. Но на самом деле не лучше, если % прибыльных сделок не поменялся.

Снижение прибыли стратегии это сигнал тому что стратегия "перестает" работать. Вполне возможно что просто волатильность упала. "Перестает" работать это когда стабильно снижается % прибыльных сделок, типа каждый месяц всё меньше и меньше. И когда-нибудь от такой стратегии придется отказаться вовсе. И хорошо если она не одна, а много их.

Кстати, именно по этой причине я и делаю галочки Long и Short - чтобы проводить такую вот проверку на прочность за заданный период.

Подбор параметров

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

Объяснение этому не сказать что сложное для понимания. Допустим, есть игрок, который начал торговать по какой-то новой для себя системе. Сразу же прийти к выводу работает она или нет он не может. И к бектестам доверие не 100%, а у многих игроков стратегия вообще не формализована, а значит её невозможно проверить программным бектестом в принципе. Следовательно, если его стратегия проигрышная он не прекратит по ней работать в первый же день. Потому как в первый день ему еще не понятно проигрышная она или нет. А с другой стороны он не будет играть по проигрышной стратегии целый год, так как ему уже понятно стало что она проигрышная. Он поймет это быстрее чем за год. Поэтому в среднем он будет следовать своей стратегии несколько месяцев.

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

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

Далее. Чем меньше таймфрейм, тем быстрее игрок придет к выводу работает его стратегия или нет. Проще говоря, игроку с 15-минутного тайфрейма нужно в 4 раза меньше времени чтобы сделать такой вывод, чем игроку с 1часового таймфрейма. Следовательно, чем меньший таймфрейм выбран для подгонки параметров, тем меньший должен выбирать срок для этой подгонки.

Периодически подгонять настройки под рынок имеет смысл. Например, раз в месяц или раз в квартал (тоже зависит от таймфрейма).
Ещё