Foudroyant
Foudroyant личный блог
08 августа 2020, 12:11

Как измерить качество бэктеста?

Неоднократно попадались такие споры в комментариях:

«Я проверял на прошлых данных такую-то стратегию или семейство стратегий — она не работает».

«Я тоже проверял — всё работает».

То есть, мы имеем разных людей, делающих проверки на истории одного и того же, и уверенных, что всё делают правильно, но получающих разные, а иногда и противоположные результаты.

Получается, мы выходим на такие темы как:

1. Разные методологии проверки на прошлых данных.

2. Разное качество такой проверки, зависящее от знаний проверяющего.

Значит, нужно вывести идеальную модель бэктестинга, строго её описать и сверять все проведённые бэктесты с этой моделью.

И ставить алготрейдерам оценки от 1 до 5, в зависимости от соответствия проводимых ими проверок идеальной модели.

Вопрос: вывел ли уже кто-то такую идеальную модель бэктеста?

И где её найти?

73 Комментария
  • Дмитрий
    08 августа 2020, 12:13
    1. Разные методологии проверки на пошлых данных.
    тебе 5 за артистизм
  • u-gyn
    08 августа 2020, 12:14
    самое простое — при сделках в лонг рассматривать только покупки по максимальной цене свечи покупки, продажи по минимальной. при шорте соответственно наоборот. Это уже даст самое худшее из возможные соотношение вход/выход. Если при этом ТС жизнеспособна, можно двигаться дальше.
    • Антон Денисков (Fry)
      08 августа 2020, 12:45
      u-gyn, ничего это не даст если объёмы не учитывать. Проскальзывания всё равно могут быть намного больше.
      • u-gyn
        08 августа 2020, 14:32
        Антон Денисков (Fry), я ж написал «Если при этом ТС жизнеспособна, можно двигаться дальше.». Естественно, дальше нужно вводить следующие переменные, то, что я написал — самое простое для того, чтобы отсечь сразу потенциально бесперспективную ТС.
  • Василий Федорович
    08 августа 2020, 12:26
    Только идеальный результат — это оптическая иллюзия, в чем подвох — не скажу, сами догадайтесь.
  • ves2010
    08 августа 2020, 12:43
    примерно 40 правил... 

    кстати все просто… пишешь бота… тестишь… запускаешь в работу… смотришь как он работает месяца 3… затем переписваешь… снова тестишь… снова смотришь реальную торговлю 3 месяца… и лет через 5 начнет получаться…
      • ves2010
        08 августа 2020, 17:54
        Плечо, побыстрее… берешь кидаешь пример бота на смартлаб… с примером оптимизации.… тебе его обосрут… но зато скажут много полезного
          • ves2010
            08 августа 2020, 18:31
            Плечо, ты всерьез думаешь что твои кустарные поделки оригинальны?
              • ves2010
                09 августа 2020, 21:13
                Плечо, ну тогда лет через 5 сам научишься
  • Оптимист
    08 августа 2020, 12:45
    «То есть, мы имеем разных людей, делающих проверки на истории одного и того же, и уверенных, что всё делают правильно, но получающих разные, а иногда и противоположные результаты»

    Два разных человека не могут написать абсолютно идентичный код.
      • Оптимист
        08 августа 2020, 13:53
        Плечо, просто совет: не тратьте время на бэктесты.
        Результаты бэктестов по доходности смотреть и выбирать не имеет никакого смысла.

        Максимум может быть полезно прогонять для отладки программы и тестирования отдельных стресс-сценариев.
  • chizhan
    08 августа 2020, 12:45
    Есть золотое правило, число сделок должно быть как можно большее. Но как минимум емнип 47. Тогда Система работает.

    Кстати, в одной из книг я нашел критерий Profit Factor * Корень квадратный (Число сделок). Он должен быть как можно больший.
  • Антон Денисков (Fry)
    08 августа 2020, 13:06
    Вопрос интересный и очень сложный.

    «Я проверял на прошлых данных такую-то стратегию или семейство стратегий — она не работает».

    Сразу представил человека, который это сказал.
    Он дотошный, крайне чувствителен к риску. Не любит просадок, может потратить кучу времени на то чтобы выбрать самую работоспособную идею, но даже её будет долго тестить сначала на демке, потом на реале с малым капиталом и только если идея пройдёт такие проверки начнёт постепенно щупать ёмкость. Загружать туда больше средств. У него всегда есть ещё несколько рабочих стратегий, так что торопиться некуда...

    «Я тоже проверял — всё работает».

    Ха! Так это же я! =)

    В чём сложность вопроса?
    У всех разные критерии. Один человек ищет стратегию, которая допускает максимальную просадку с его моделью торгового инструмента по методу монте-карло X, а наиболее вероятный профит 3X. И всё что не соответствует для него не работает. А другой взял историю рубль-бакса за 3 года, выделил паттерн, оценил перевес и начинает это трейдить сразу и у него профит, а значит всё работает. Причём оба могут выживать на рынке годами и ещё не известно у кого финрез на длинном отрезке будет выше...
    Как тут найти общий идеальный подход???
      • Антон Денисков (Fry)
        08 августа 2020, 13:52
        Плечо, если первый работает на свой личный капитал — да, но если первый выходит на новый уровень, открывает фонд, набирает большой объём средств в управление… Второй так и будет «зарплату» с рынка вытягивать, а первый имеет шанс изменить свою жизнь и вырваться в высшую лигу.
        Тут много переменных и много сценариев…
  • 3Qu
    08 августа 2020, 13:09
    Такой идеальной модели теста не существует.
      • 3Qu
        08 августа 2020, 13:25
        Плечо, думаю, что не может существовать.
  • А. Г.
    08 августа 2020, 13:13
    Ну для начала проверить: идея рабочая или пустышка. Как это сделать, я описал тут

    smart-lab.ru/blog/623379.php

      • 3Qu
        08 августа 2020, 13:28
        Плечо, трендовые участки на реализациях СБ, это нормальное явление. Иначе и быть не может.
          • 3Qu
            08 августа 2020, 13:37
            Плечо, да.
            Если бы это было бы ненормально, то вы бы помещение проветрить не смогли, и запах подгоревший котлет в кухне стоял бы вечно.
              • 3Qu
                08 августа 2020, 13:45
                Плечо, не думаю, что это им поможет.)
                  • 3Qu
                    08 августа 2020, 13:49
                    Плечо, к сожалению, не получим. Лучший прогноз на СБ — текущее значение. Что в переводе означает — вообще нет никакого прогноза.
                      • 3Qu
                        08 августа 2020, 14:07
                        Плечо, с СБ все не так. По выборке прогноз, это само значение, а по каждой конкретной реализации ± бесконечность. Т.е., в каждой точке траектории полная неопределенность.
                          • 3Qu
                            08 августа 2020, 14:23
                            Плечо, так, рынок и не СБ.) Хотя СБ неплохая модель рынка.
                            Что касается, бей в последнее место, так промахнешся почти в 100% случаев.)
                              • 3Qu
                                08 августа 2020, 15:09
                                Плечо, с СБ это не прокатит. С рынком прокатит, но тоже далеко не всегда. Только на некоторых интервалах. Не люблю термин — паттерн, но для краткости, на ограниченном множестве паттернов.
                                  • 3Qu
                                    08 августа 2020, 15:30
                                    Плечо, нет, визуально не смогу. Только стат анализом на большом интервале.
                              • MS
                                08 августа 2020, 23:55
                                Плечо, мысль правильная, но построить ТС, берущую на тренде больше, чем она теряет при смене направления, трудно. В том смысле, чтобы доказать это. А не просто иметь в какой-то период.
                          • MS
                            08 августа 2020, 23:48
                            стой в сторону последнего движения и, при преобладании трендовых участков, скорее всего будешь торговать в плюс

                            Самообман мозга. Который «видит» тренды, думая что они неслучайны.
                            А на самом деле в каждой точке вероятности вверх и вниз примерно равны.
                            Чтобы убедиться в нетрендовости СБ, посчитайте распределение монотонных участков по длительностям. МО длины монотонного участка получится в соответствии с теорией = e.    2,718… Если брать +1 и -1 как изменения цен. А это в плюс торговать не удастся. На определение начала направления и ошибок при его окончании как раз столько же в среднем и потратите, e единичных движений.
                              • MS
                                09 августа 2020, 00:09
                                Плечо, Вы задачу чётко сформулируйте. Тогда из плоскости верю-не верю можно к расчётам перейти будет и что-то выяснить.
                                Вы видите серию +1+1+1-1, и вдруг не выходите, тогда о чём говорим? Что тогда тренд, что значит «взять»? Себе ответьте.
                                И всё же вникните в цифры, что я написал о средней длине такого тренда из +-1.
                                  • MS
                                    09 августа 2020, 09:20
                                    Плечо, увеличением масштаба, например, в три раза постановка задачи сводится к предыдущей.
                                    Вместо +1+1+1+1+1+1-1+1+1-1+1+1+1 получите
                                    +1+1      +1.
                                    Так можно свести всю историю вообще к одному тренду. От заблуждения это Вас не избавляет.
                                    В укрупнённом масштабе всё те же соотношения на среднюю длину тренда. Она 2,72. Первый элемент потратите на определение направления, последний на фиксацию. Постройте распределение длин трендов, вычтите эти естественные потери из столбиков каждой длины и посмотрите на результат торговли.
                                    ---
                                    Вы просто не понимаете, что все ваши «тренды» убьют результаты от такого: +1-1   -1+1, ввиду их многочисленности. Глазом Вы отказываетесь их замечать.
                                      • MS
                                        09 августа 2020, 16:55
                                        Плечо, напрасно я распинался, Вы ничего не понимаете.
                                          • MS
                                            09 августа 2020, 20:07
                                            Плечо, люди в лотерею иногда машины выигрывают. Это не значит, что они познали как выигрывать в лотерею. Аналогия понятна? 
                                            Ваша проблема в том, что Вы не можете выйти за рамки своего привычного мышления. И видите вокруг только своё.
                                            В каком месте я сказал, что нет тренда? А мне это приписано. Это первый пример странного мышления.
                                            Я написал вам, что ваш «фильтр» пропуска единичных отступлений — ни что иное, как просто увеличение масштаба, поглощающее отступление. Привёл пример как в увеличенном масштабе то, что не было трендом на мелком, станет им. Вы снова этого не поняли.
                                            Вы не понимаете, что при укрупнении принципиально ничего не меняется. Снова нужен один шаг по тренду, чтобы посчитать, что он начался. И один шаг, чтобы закрыть его. Минусом на конце. Просто сами шаги крупнее стали, чем первоначально рассматриваемые +1 и -1.
                                            Могу так переписать, разжевывая:
                                            Вместо +1+1+1+1+1+1-1+1+1-1+1+1+1 получите
                                            +9. В масштабе 9 это снова +1. Понятно?  Это всего один шаг. Как Вы входить собираетесь, увидев +9? Надеяться на следующие +9? Ведь по тренду! Удачи.

            • Replikant_mih
              08 августа 2020, 18:42
              3Qu, а я думал, там дело в разнице давления, вот я глупец.
          • А. Г.
            08 августа 2020, 15:32
            Плечо,  ну вообще то вероятность СБ со средним нуль со временем уйти «далеко» от нуля вверх ИЛИ вниз больше, чем остаться «около» нуля.
      • А. Г.
        08 августа 2020, 15:30
        Плечо, точно. И не с ДСЧ, а именно с интенсивности излучения какого-то изотопа, которое физики считают случайным блужданием. А как их использовать, я описал в ссылке.
          • А. Г.
            08 августа 2020, 19:59
            Плечо,  на этот вопрос нет однозначного ответа, если не делать дополнительных предположений.
              • А. Г.
                08 августа 2020, 20:48
                Плечо, предположений о смене средних. Каких? Да их можно придумать десятки.
  • уверенных, что всё делают правильно, но получающих разные, а иногда и противоположные результаты.

    Надо просто делать правильно, а не быть уверенным что делает правильно. 
  • GAURANGA
    08 августа 2020, 13:49
    Самый лучший бектест это растущее эквити на реальном счете. Логика алгоритма должна быть разумной. Как и почему у вас деньги не заберут.
  • Алексей А.
    08 августа 2020, 18:46
    Очень простой ответ. Для этого был придуман Walk-Forward тест
  • Replikant_mih
    08 августа 2020, 18:54

     Бэктест это исследование. Ты можешь его автоматизировать, но чтобы его автоматизировать, алгоритмизировать, ты сначала должен его пройти руками, научно, обоснованно, по логике и т.д. и т.п. Если все грамотно делать, будущее станет для тебя примерно понятным. Вероятностно понятным. Если творить какую-то дичь вместо бэктеста и интерпретации результатов, если неправильно расставлять акценты важности, если быть предвзятым при интерпретации результатов — получишь херню. Потом эти люди плачутся, что стратегии «ломаются» на бою, что прошлое никак не связано с будущим, что от переоптимизации нет спасения и прочее и прочее. А, «не работает», наверно, говорят те же люди после того как у них на бою что-то не работает, так как испортить идею бэктестом можно запросто, т.е. на бою оно не будет работать, а могло бы и не в смысле, что из миллиардов вариантов стратегии есть 100 прибыльных, которые в следующий раз станут не прибыльными, а в смысле что скорее всего (если идея не совсем распоследняя) есть варианты заставить её торговать нормально, это может быть совсем-скромный эдж, но тем не менее.

     

    Короч, задолбался я писать одно и то же, буду на абстрактно-менторский стиль переходить в этом вопросе)).

  • Vanches
    08 августа 2020, 19:40
    А зачем вам измерять качество бэктеста?
      • Vanches
        25 августа 2020, 20:26
        Плечо, правы те кто зарабатывает не на бектесте, а в реальном вермене ;-)

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

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