Блог им. XXM

Как я тестирую этим летом.

    • 10 июня 2019, 13:19
    • |
    • XXM
  • Еще

Поиск прибыльных торговых правил — тема многогранная. Сейчас расскажу про свой сегодняшний подход к формированию портфеля стратегий для одного инструмента на примере индекса Московской биржи.

Сперва картинка:

Грааль от 2011 года.
Ей много лет. Хранится в компьютере под именем graal_001.JPG, дата создания — 14.05.2011.

Когда-то и робота делал в VBA Excel, и Downloader (https://smart-lab.ru/blog/488966.php) и, конечно же, тестера. Последний и выдал мне тогда этот Equity, от которого мне стало как-то не по себе, что я закрыл компьютер и пару дней вообще старался не думать про этот график. Потом вернулся к программе и стал уже чуть ли не через лупу изучать стратегию. Обнаружил ошибку заглядывания вперед (look-ahead bias), выдохнул и успокоился :) Файл сохранил в назидание: если увидел ровную Equity, ищи ощибку и найди ее!

Увы, похвастаться ровным нарастающим графиком пока не могу. Хотя есть простые, но неровно растущие графики. Иногда получается даже выпрямить их в некоторой степени. Ниже — рассказ про свой метод.

Тестирование провожу за период длиной в 1 год на тайм-фрейме 15 минут. Более ранние данные не беру, т.к. актуальные данные могут быть весомее предыдущих. Да и фраза «рынки меняются» может означать, что правила, которые приносили прибыль 1-2 года тому назад, сегодня приносят намного меньше прибыли, чем правила, который были выявлены по результатам тестирования за ближайший год.

Итак: запустил программу, получил результаты, выбрал из многих один набор параметров, который показал хороший Profit и замечательный RecoveryFactor:

Как я тестирую этим летом.

Но вот беда:

Как я тестирую этим летом.
в целом по году, вроде, нормально, но поведение графика Equity в 2019 году очень и очень нехорошее: актив вырос хорошо (1), а прироста прибыли нет (2)!  
Налицо ситуация, когда эта стратегия показала бы замечательные результаты в первые 7 месяцев выбранного периода, а потом, увы и ах: «рынок поменялся»! Какой трейдер допустит отсутствие прибыли в течении 4-5 месяцев по этой стратегии? Даже один месяц покажутся лишним. Вывод будет один — стратегию в утиль. Но что, если «фаза рынка» опять поменяется и вернет былое поведение, а мы уже выбросили эту стратегию? 

Что делать, как быть?
Вывод напрашивается: протестировать за период ближайших 5 месяцев и выбрать очередной набор параметров, который бы показал хороший результат:

Как я тестирую этим летом.

и запустить в торговлю портфель из этих двух стратегий, который бы в сумме и среднем показал в прошлом более плавный график Equity:

Как я тестирую этим летом.

Наклон угла  α2 радует глаз более, чем наклон угла  α1 из первого рисунка.

И так несколько раз, пока депозит или «money management» или еще какой-нибудь фактор не остановит от добавок новых стратегий. И в итоге получаем набор стратегий, которые будут работать по-разному, но с единой целью — радовать депозит ростом в любых рыночных условиях.

Чего и вам желаю.

★10
23 комментария
Ваш подход, имхо, несет неконтролируемые риски переподгонки под один тип рынка. Несколько раз Вам повезет, а потом нарветесь на эпическую просадку. 
avatar
SergeyJu, так-то уже работают более 10 стратегий, собранных за полтора-2 года. И ни одна стратегия из этого набора не поразумевает больших просадок. Все они со стопами и все трендонаправленные, хотя в разной степени.
И да, от эпической просадки застрахован: концов не продаю ;)
avatar
Тестирование провожу за период длиной в 1 год на тайм-фрейме 15 минут. Более ранние данные не беру, т.к. актуальные данные могут быть весомее предыдущих. Да и фраза «рынки меняются» может означать, что правила, которые приносили прибыль 1-2 года тому назад, сегодня приносят намного меньше прибыли, чем правила, который были выявлены по результатам тестирования за ближайший год.
Хорошая система должна показывать прибыль на любом предыдущем периоде времени. Тестирование надо проводить на периоде с 2008 года, чтобы понимать поведение ботов в кризисных ситуациях. 1 год тестирования это самообман.
Антон Иванов, у вас есть хорошая система, показывающая прибыль на любом предыдущем периоде времени? Ищите ошибку ;)
avatar
XXM, если Вы почитайте буржуйский сайт Питоновцев, то найдете интеренсную информацию: они начинают присматриваться к алгоритму, только если он показывает работоспособность на последнем отрезке истории минимум в 10 лет. 
Ну немножко не так… Думается, что система не должна сливать на ранних периодах. На периодах 10 летней давности.
Денис Михайлов, знаете, сколько видов индикаторов скользящей средней? Много! Но тогда, когда я применял «moving average», я предпочитал вариант EMA, при котором как раз последние данные имеют больший вес, чем предыдущие. А данные 10-летней давности имеют вообще нулевой вес!
Уверен, каждый тестирует так, как он считает подходящим для себя. Ведь нет никаких правил, регламентов. Например, с чего вы взяли цифру «10 лет»? 10 больше чем 1? Поэтому?
avatar
XXM, очень просто, на отрезке в 10 лет мы видели почти все фазы рынка: кризис 2008, период 2011-2013, когда большинство трендовых алгоритмов сливало не по детски, резкий рывок 2014 года, интересную для многих ситуацию в 2016 и т. п. Я поведение почти каждого года, начиная с 2008 знаю в применении к своим алгоритмам. И прекрасно понимаю, что происходит с моими алгоритмами в той или иной фазе рынка. А Вы говорите 1 год…
Антон Иванов, увы и их! 2019-10 = 2009. Кризис 2008 — мимо!
Газпром-360 — мимо!
Банкротство Юкос — мимо!
Нашествие Бату хана — мимо!
:)
avatar
XXM, ну у Вас все кроме последнего года мимо :)
XXM, ну 10 лет, это к примеру. Я просто тоже считаю, что нет такой системы, которая бы зарабатывала на всех рынках в любое время. Но найти ту, которая зарабатывает сейчас и не сливает в прошлом. можно.

Как раз я так же столкнулся с тем, что многие стратегии с Нового Года ушли в боковик, либо в слив.
Но те, что ушли в боковик — остаются, те, что ушли в слив — выбрасываются
Вообще, все трендовые системы в периоды кризисов рубят бабло. Я вот, наоборот, выбираю периоды, когда боковики-пила были. Застой… Вот такие участки опасны.

А периоды, такие как вынос в долларе на 80 в конце 14 года,  я вообще выкидываю из тестов)
Более ранние данные не беру, т.к. актуальные данные могут быть весомее предыдущих. 

Полностью согласен с Автором.

Вопросы:
1. Как определяется момент времени что надо перетряхивать Портфель? По каким критериям определяете, что надо это сделать сейчас.

2. Существует ли Периодичность пересмотра Портфеля? Если да, то какая.
avatar
_sg_, Вы правы в том, что набор систем с небольшим временем подгонки требует наличие содержательной системы ротации систем и составления портфеля. То есть, метасистема становится важнее исходного подхода краткосрочной подгонки. Думаю, что это весьма непросто. 
avatar
_sg_, на самом деле подход описал схематично (даже на скринах тесты от 31.05.2018 — 07.06.2019 ) Но, на практике — тесты максимум ~1.5 лет, поправки вношу за крайние полгода, каждый месяц перетестировываю, 1-2 стратегии меняю (из 10-12), раз в квартал вношу правку поболее — экспирация, как-никак.
Все это такое нудное занятие, что иногда забываю про торги...
Конечно, работал бы ИИ или нейросеть какая, какая  которая бы сама корретировалась под новые реалии , но увы, такого не имею. Приходится руками править то и тогда, что на реале работает хуже ожиданий.
avatar
запустить в торговлю портфель из этих двух стратегий, который бы в сумме и среднем показал в прошлом более плавный график Equity
Получается в итоге две стратегии на инструмент? не какие-то «средние параметры»?
Потом ведь надо будет еще стратегии добавлять или как этот вопрос решается…
Максим Поплавский, ответ выше.
avatar
Вроде как чем меньше период тестирования, тем короче путь до слома системы. Последние года два тренд особо не меняется, вялый рост со скачками и откатами. Наверное такой «недалёкий» подход имеет смысл.
avatar
Один год и ТФ 15 минут — это максимум 35000 точек данных для одного инструмента, если торговля 24 часа и 365 дней ) По факту меньше. Это очень мало, это угадайка. От того, что это диверсифицированная угадайка суть не меняется.
Подскажите, тестирование ведется на 1 контракте фьючерса MX? Или это прогон по ценам индекса Micex?
Я не очень люблю графики с левой и правой шкалой. Прибыль в 1600 пунктов — это сколько в процентах?
avatar
yurikon, верно: это прогон по цифрам индекса МосБиржи IMOEX. 
Насчет графиков с левой и правой шкалой: они содержательны. По процентам не знаю, не считал.
avatar
XXM,
Индекс вырос на 17%, а стратегия на сколько?

Еще из опыта, тесты на индексе завышают результат. Точно на РТС так было. Чистый тест либо на самом фьюче, либо дата1 фьюч, дата2 — индекс.
avatar
> Индекс вырос на 17%, а стратегия на сколько?
-  сложно ответить: у меня сейчас 15 строк в таблице робота. Все они разные;
> Еще из опыта, тесты на индексе завышают результат...
-  возможно это так. Но погрешности при склейке фьючей привносят гораздо больший отрицательный вклад в достоверность тестов.
avatar

теги блога XXM

....все тэги



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