Блог им. HOME

Бэк-тесты всегда мешают плохому танцору. О «живом рынке», который ломает всю игру.

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

   Я не разделяю этого скепсиса.

  Итак, напомню несколько основных тезисов «против»:

  • бэк-тесты не учитывают уровни ликвидности;
  • сигналы на бэк-тестах не могут реализоваться в «боевых» условиях, потому что «рынок живой» (что это такое — каждый понимает по-своему);
  • бэк-тесты не учитывают разных аварий на линии коммуникаций или сбоев торгового ПО;
  • в реальности торговый алгоритм выдает одновременно 2 (!) торговых сигнала, робот-скотина «не фильтрует», а на бэк-тестах такого почему-то не бывает;
  • колл-бэки «в реале» не отвечают так, как хотелось бы;
  • бэк-тестирование — это удел презренных теоретиков и необстрелянных «окопников», никогда не бывавших в настоящем бою.

        Про ликвидность я описал свое видение проблемы в том же посте. Если кратко, то эта проблема решается просто: не жадничайте!

        Либо получите по Вашей цене столько, сколько дадут (или вообще нисколько не дадут); либо предлагайте невыгодную для себя цену и оплатите людям их риски и получите такой объем, какой Ваш нужен. Третьего не дано. Не нужно забывать, что скупой платит дважды!

       Тема сегодняшнего поста – противоречие между сигналами на бэк-тестах и их отсутствие «в боевых условиях», а также о задаче постоянной оптимизации торговой системы.

        С чего мы обычно начинаем, тестируя свою торговую стратегию?

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

       Почему?

      Ответ простой, хотя и выглядит весьма парадоксально: база исторических данных, имеющая началом какой-нибудь 19… -лохматый год, не имеет, в общем смысле, ничего общего с той, по которой Вы будете торговать сегодня-завтра.

      В чем же заключается эта разница и какова природа этой разницы?

     Для ответа на эти вопросы давайте задумаемся над 4 вопросами:

  • Кто является поставщиком данных?
  • Кто дал эти данные этому поставщику?
  • Где, по отношению к этим двоим агентам, находитесь Вы?
  • Как Вы используете предоставленные данные?

 

      Мне для меня лично абсолютно неважны два первых вопроса. Главное – это не я являюсь поставщиком данных и никак не могу повлиять на их качество.

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

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

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

       Дело в том, что «скользя» по историческим данным эти «чужие средние» тащат сквозь всю историю «тени» всех предыдущих событий на своем рынке. Другими словами, всё семейство «скользящих средних» и их «родственников» имеет крепкую, почти железную, память поколений исторических данных. НО: в пределах скачанной вами истории, «свистнутой» у кого-то и предоставленной Вам кем-то.

       Если вдруг паче чаяния Вы спросите, что «думают» о своей истории «скользящие средние», рассчитанные на Вашем торговом месте, то, весьма вероятно, «память» у «Ваших средних» будет другой, и текущие значения «Ваших средних» будут отличаться, возможно, даже кардинально, от «чужих средних». Вы это увидите обязательно, но объяснить не сможете никак, кроме аргумента «рынок живой».

       Это – «Уловка 22» (незнающих отсылаю в педивикию, там, на этот раз, толково описано). А Вы – герой этой «Уловки». Не знаю, кто Вас научил решать такими «универсальными» фразами свои «непонималки», но он явно не является ни Вашим коллегой, ни тем более – другом.

      Следовательно, Ваш бэк-тест «чужих» исторических данных даст Вам информацию, что сегодня на закрытие сессии Вы должны иметь открытую (long / short) позицию на N контрактов (акций, фьючей, опционов), а Вы на основании «Ваших скользящих» открылись на M контрактов, и эти M и N не равны! От слова «совсем». Кто тут прав, какой расчет верен? Вы скажете «конечно тот, который старше, т.к. он содержит большее количество информации о жизни этого инструмента». На что я Вам посоветую перечитать предыдущий абзац.

Но тут же впору спросить себя: «Стоп! Но если я не могу применить стратегию, обкатанную на данных последних 20 лет истории торгов по инструменту, которая показывает 100% годовых прибыли, то как я могу гарантировать самому себе, что эта стратегия так же эффективна на «моих» данных, которые мне выдает торговый терминал»?

Так какими данными нужно пользоваться для бэк-тестирования, а по каким торговать в «боевых условиях»?

Отвечаю: только теми, которые Вы сам (сама) подготовили, и которые не изменятся на протяжении времени жизни инструмента или того, которое Вы желаете посвятить биржевым спекуляциям, красиво называемым «трейдинг».

С уважением и наилучшими пожеланиями!

752 | ★2
12 комментариев
Вы хотите сказать, что до тех пор пока не начали самостоятельно сохранять текущие котировки из терминала как исторические данные, ваш робот(ы) были убыточны? 
avatar
Serj90, нет, я просто решил проблему данных раньше, чем поставил роботы на деньги. Просто я сначала основательно «прорыл» всю тему, т.ск., системно отработал все стороны процесса, потом уже строил ТС под эти условия.

avatar
Eugene Bright, ну честно говоря, я сам столкнулся с нечто похожим, выгружая свечи и тики с сайта известного брокера по одному инструменту обнаружил, что close свеч на ряде таймфреймов не совпадают со значениями тиков закрывающих эти самые свечи. В итоге принял решение решение работать только с тиками. Но здесь вы ставите под сомнение в целом надежность источника данных, а значит и тиковая история может быть не правдивой. Но кому это выгодно и почему? Написав робота логично, что человек начнет гонять его на демо счете, если робот там начинает сливать, то естественно выпуск его в реальную торговлю будет отложен — а это недополученная ликвидность, недополученные комиссионные и т.п. Ну это я так рассуждаю. Или расчет на тех, кому бэктесты на «подкрученных» данных вскружили голову и они сразу поставят робота на реальный счет?)))
avatar
Serj90, тиковые данные имеют меньшую «историческую память» в том смысле, о котором я написал. Поэтому по ним работать безопаснее, хотя и не полностью. Это — одно из правильных решений проблемы.
По поводу «Qui prodest»… Нет тут злого умысла. Это — просто экономия серверных возможностей (производительность, в первую очередь, и объемы хранилищ) и пропускных возможностей линий коммуникаций.
Организатору торговли выгодно, когда профессионалы (институционалы) зарабатывают, и в этом можно усмотреть сговор биржи и маркетосов.
А рядовому спекулянту, конечно же, — беда…
avatar
Мысль автора не понятна по сути торговли .Мы торгуем циклами времени и их размахами. Это легко посчитать  mov(H-L,20,S) или  mov(H-L,200,S).Например 1 час свеча имеет размах 0.2% ,4х час 0.4%.Торговые системы надо придумывать именно опираясь на размах свечей вашего тайма.Что касается циклов времени.Новые фракталы(свечи, бары) имеют закон своего рождения .4 фрактала рождают 1 больший в 2 раза по амплитуде.О каких еще тестах идет речь? В свечном есть закон жизни тренда.Это 8-10 новых шагов вперед.Далее коррекция тренда 4-5 шагов против тренда.Импульс из волнотеории это 3 шага вперед.Читаем про волны и не паримся с тестированием.
avatar
ezomm, ну, не все разделяют фрактально-волновые закономерности. Это во-первых.
А во-вторых, даже предложенные Вами параметры и закономерности нужно как-то проверять, чтобы удостовериться в Вашей правоте и воздать Вашей прозорливости. А значит, опять нужно бэк-тестирование! Никуда не денешься. )))
avatar
Если вы не скальпируете — тиковые данные для вас бессмысленны.
Если у вас сделка продолжительностью от нескольких минут — изменения уровней OHLC в истории из за сдвига времени (даже значительного) биржи и брокера не имеют никакого значения.
При тестировании «нормальной» рабочей стратегии, на результатах теста это никак не скажется.
А вообще, понятно, если ТС показывает плохие результаты, то, разумеется, виновата история, а не ТС. Кто ж еще? Понятно — данные плохие, не те.
avatar
3Qu, дело не в сдвиге времени, а в количестве «свечек»-«баров», допустим для наглядности, на графике. Каждый день мы видим этих «свечек»-«баров» не больше  вполне конкретного количества. Сколько там в QUIK'е отображается? 2000? 3000? А в MT4 и проч.? И так каждый день. Получается, как в задачке про бассейн, в который вливается и из которого выливается. А куда же «выливается» из графика остаток «свечек»-«баров»?..

И — нет, Вы спешите критиковать, а это контрпродуктивно. ТС не плоха, а очень даже хороша (100% годовых), и это лежит в основе моих рассуждений про тестирование. Но Ваш ход мыслей мне нравится! )))
avatar
Eugene Bright, 
А куда же «выливается» из графика остаток «свечек»-«баров»?..
В общем случае никуда не выливается, но к чему это всё?

avatar
Нувот Вчеранов, да так, поболтать перед сном…
avatar
роботы, шмоботы. да помню. было.
романтика…
avatar
Kapeks, без романтики скучно! ))
avatar

Читайте на SMART-LAB:
Фото
❗️ Сегодня последний день для подачи предварительных заявок на новый выпуск облигаций ПАО «МГКЛ» с доходностью к погашению до 29,34%
Подать заявку можно на облигации серии 001PS-01, которые готовятся к размещению на СПБ Бирже. Это первый выпуск компании, доступный...
Фото
Технический анализ в терминале БКС: используем AI для подбора индикаторов
Технический анализ — один из популярнейших инструментов для оценки потенциального движения цен на фондовых рынках. Клиенты БКС могут использовать...
Фото
Сбер РПБУ 11 мес. 2025 г. - дивдоходность на уровне вкладов
Сбер опубликовал результаты за 11 месяцев по РПБУ. Чистая прибыль выросла на 8,5% до 1,57 трлн руб., за ноябрь +26,8% до 148,7 млрд руб....

теги блога Eugene Bright

....все тэги



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