XXM
XXM личный блог
10 июня 2019, 13:19

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

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

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

Грааль от 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» или еще какой-нибудь фактор не остановит от добавок новых стратегий. И в итоге получаем набор стратегий, которые будут работать по-разному, но с единой целью — радовать депозит ростом в любых рыночных условиях.

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

23 Комментария
  • SergeyJu
    10 июня 2019, 13:58
    Ваш подход, имхо, несет неконтролируемые риски переподгонки под один тип рынка. Несколько раз Вам повезет, а потом нарветесь на эпическую просадку. 
  • Антон Иванов
    10 июня 2019, 14:07
    Тестирование провожу за период длиной в 1 год на тайм-фрейме 15 минут. Более ранние данные не беру, т.к. актуальные данные могут быть весомее предыдущих. Да и фраза «рынки меняются» может означать, что правила, которые приносили прибыль 1-2 года тому назад, сегодня приносят намного меньше прибыли, чем правила, который были выявлены по результатам тестирования за ближайший год.
    Хорошая система должна показывать прибыль на любом предыдущем периоде времени. Тестирование надо проводить на периоде с 2008 года, чтобы понимать поведение ботов в кризисных ситуациях. 1 год тестирования это самообман.
      • Антон Иванов
        10 июня 2019, 14:51
        XXM, если Вы почитайте буржуйский сайт Питоновцев, то найдете интеренсную информацию: они начинают присматриваться к алгоритму, только если он показывает работоспособность на последнем отрезке истории минимум в 10 лет. 
  • Денис Михайлов
    10 июня 2019, 14:38
    Ну немножко не так… Думается, что система не должна сливать на ранних периодах. На периодах 10 летней давности.
      • Антон Иванов
        10 июня 2019, 14:57
        XXM, очень просто, на отрезке в 10 лет мы видели почти все фазы рынка: кризис 2008, период 2011-2013, когда большинство трендовых алгоритмов сливало не по детски, резкий рывок 2014 года, интересную для многих ситуацию в 2016 и т. п. Я поведение почти каждого года, начиная с 2008 знаю в применении к своим алгоритмам. И прекрасно понимаю, что происходит с моими алгоритмами в той или иной фазе рынка. А Вы говорите 1 год…
          • Антон Иванов
            10 июня 2019, 15:18
            XXM, ну у Вас все кроме последнего года мимо :)
      • Денис Михайлов
        10 июня 2019, 15:06
        XXM, ну 10 лет, это к примеру. Я просто тоже считаю, что нет такой системы, которая бы зарабатывала на всех рынках в любое время. Но найти ту, которая зарабатывает сейчас и не сливает в прошлом. можно.

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

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

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

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

    2. Существует ли Периодичность пересмотра Портфеля? Если да, то какая.
    • SergeyJu
      10 июня 2019, 16:19
      _sg_, Вы правы в том, что набор систем с небольшим временем подгонки требует наличие содержательной системы ротации систем и составления портфеля. То есть, метасистема становится важнее исходного подхода краткосрочной подгонки. Думаю, что это весьма непросто. 
  • Максим Поплавский
    10 июня 2019, 16:54
    запустить в торговлю портфель из этих двух стратегий, который бы в сумме и среднем показал в прошлом более плавный график Equity
    Получается в итоге две стратегии на инструмент? не какие-то «средние параметры»?
    Потом ведь надо будет еще стратегии добавлять или как этот вопрос решается…
  • П М
    10 июня 2019, 21:11
    Вроде как чем меньше период тестирования, тем короче путь до слома системы. Последние года два тренд особо не меняется, вялый рост со скачками и откатами. Наверное такой «недалёкий» подход имеет смысл.
  • Пафос Респектыч
    10 июня 2019, 22:45
    Один год и ТФ 15 минут — это максимум 35000 точек данных для одного инструмента, если торговля 24 часа и 365 дней ) По факту меньше. Это очень мало, это угадайка. От того, что это диверсифицированная угадайка суть не меняется.
  • yurikon
    11 июня 2019, 07:58
    Подскажите, тестирование ведется на 1 контракте фьючерса MX? Или это прогон по ценам индекса Micex?
    Я не очень люблю графики с левой и правой шкалой. Прибыль в 1600 пунктов — это сколько в процентах?
      • yurikon
        11 июня 2019, 10:38
        XXM,
        Индекс вырос на 17%, а стратегия на сколько?

        Еще из опыта, тесты на индексе завышают результат. Точно на РТС так было. Чистый тест либо на самом фьюче, либо дата1 фьюч, дата2 — индекс.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн