Сергей Симонов
Сергей Симонов личный блог
06 февраля 2019, 21:12

Как измерить предсказательную силу торгового алгоритма?

Друзья, если вы торгуете по какой-то стратегии, то устройте ей тест на предсказательную силу, который объективно показывает качество стратегии.

Методика тестирования выглядит так:

Как измерить предсказательную силу торгового алгоритма?

Описание словами:

1. Скачиваете исторические данные по инструменту
2. Выбираете период оптимизации параметров алгоритма (например: 3 месяца)
3. Отъезжаете от текущей даты назад на несколько месяцев (например на 1 Июля 2018)
4. Находите (подбираете) оптимальные параметры алгоритма при тестировании за 3 месяца.
5. Тестируете стратегию с оптимальными параметрами на Июле 2018
6. Повторяете цикл, начиная с пункта 4, со сдвигом на 1 месяц (или 1 неделю или 2 недели или 2 месяца — по вкусу).

Если не поленитесь и проведете тестирование на 10 циклах (с последовательным сдвигом периодов или выборочно), то у вас появится объективное  представление о способности вашего торгового алгоритма генерировать прибыль в будущем, а не в прошлом. Это и будет характеризовать его предсказательную силу

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

Удачи в торгах!))
46 Комментариев
  • Евгений
    06 февраля 2019, 21:59
    Когда же вы поймёте что на рынке ничего предсказывать не нужно, нужно считать риски и прибыль к профиту в конкретной точке входа.
      • Treydun
        06 февраля 2019, 22:47
        Сергей Симонов, это ты, автор, нихрена не шаришь, а Евгейний крут, у него цена на кухне чуть стоп проскочила, он целый пост с кпртинками состряпал))
        • Евгений
          07 февраля 2019, 09:26
          Treydun, тоесть я не должен показывать мошеннические действия когда в течение 6 минут стоп не закрывается? Это все равно что вы тормозите на красный на машине а она едет вперёд ещё 6 минут. Может мне начать реф ссылки размещать и пиарить кухни, как это делают большинство тут присутствующих? Если прочитав мой пост хоть кто-то откажется от торговли в этой кухне, я уже считаю что принёс пользу людям. В отличие от вас.
      • Евгений
        07 февраля 2019, 09:39
        Сергей Симонов, могу только сказать одно, есть консолидация в которой заходят обе стороны Bay/Sell, есть границы консолидации(уровни) в которых можно просчитать риски, и выставить ордера. По выходу практически всегда идёт импульс в сторону выхода, при отбое идёт движение к противоположной границе. Задача робота выставить взаимоисключающие ордера, с минимально возможным стопом, и рассчитанным по ATR профитом. Вопрос в том, способен ваш робот делать ТА на хорошем уровн. 
  • Astrolog
    06 февраля 2019, 22:13
    >>тестирование на 10 циклах (с последовательным сдвигом периодов или выборочно)

    ** именно так и делаю в своей астро программе, заточенной на mt4



    под любые графики (SP500  в данном примере)
      • Astrolog
        06 февраля 2019, 22:19
        Сергей Симонов, расскажу, конечно…
        идите на мой сайт: astro777.com
        там и видео классные, и отчеты. 
        Все для вас.
        • Александр
          07 февраля 2019, 19:00
          Astrolog, на сайт не ходил!
          так ведь НЕ КОМИЛЬФО иметь цифры в доменном имени)
          на народе чтоле мутил свою поделку…
          • Astrolog
            08 февраля 2019, 16:39
            Александр, глупости не пиши. Сам зайди, и посмотри.
            Тебе не комильфо, а мне то, что надо.
  • Jame Bonds
    06 февраля 2019, 22:33
    Термин «тест на предсказательную силу» раньше не встречал.
    Обычно это называют Walk Forward Optimization.
    Есть мнение, что это всего лишь добавление еще одного измерения для подгонки.
      • Пафос Респектыч
        06 февраля 2019, 22:56
        Сергей Симонов, очень просто — если WFO делается один раз и показывает норм результаты — то это возможно не подгонка, если же делается много раз и выбирается лучший алго оптимизации, а куча других отбрасывается — то подгонка ) а уж требовать у продавца результаты теста — чего они только не нарисуют, чтобы продать )
      • Jame Bonds
        06 февраля 2019, 23:22
        Сергей Симонов, если не перебирать параметры теста, а перебирать стратегии, то тоже получится оптимизация. Если тестировать много стратегий, то некоторые будут показывать хороший результат на «тесте на предсказательную силу». Но является ли это значимым показателем или это было просто совпадение? Вот в чем вопрос.
          • SergeyJu
            07 февраля 2019, 00:14
            Сергей Симонов, 10 месяцев — это ни о чем (если речь не о десятках сделок в день как минимум). Я обычно считаю бэктест от 10 лет и более. 
            Существует еще такой метод. Для каждого года считаете результат по данным, оптимизированным вне этого года. И считаете, что результат — прогноз свободный от подгонки. Не на 100%, конечно, но тоже обнадеживает.
              • SergeyJu
                07 февраля 2019, 00:27
                Сергей Симонов, в масштабах лет все это повторяется и не по разу. Устойчивые системы должны переживать плохие периоды с ограниченными потерями. А перестраивать системы каждые несколько месяцев — путь к неконтролируемым потерям.
                  • SergeyJu
                    07 февраля 2019, 00:40
                    Сергей Симонов, предположим, что это эволюционный процесс. Тогда вы должны иметь некий параметр, индикатор, способ оценки, который на каждом новом такте отражает стадию эволюции. Как — не понимаю. 
                      • SergeyJu
                        07 февраля 2019, 00:53
                        Сергей Симонов, я видел сливы как следствие слишком частой подгонки. И применения алго с малым сроком бэктестинга. Можно войти в антирезонанс со сменой фаз на рынке.
        • Пафос Респектыч
          06 февраля 2019, 23:37
          Jame Bonds, тут ещё что считать хорошим результатом )
            • Пафос Респектыч
              07 февраля 2019, 00:34
              Сергей Симонов, вооон оно чё, михалыч! ))) построили значит, удалось таки! ))
  • Сергей Сергаев
    06 февраля 2019, 22:44
    А если входить рандомно для бэктеста, получится протестировать предсказательную силу?
      • Сергей Сергаев
        06 февраля 2019, 22:56
        Сергей Симонов, Это называется Метод Монте-Карло. Вход в позицию на участке графика производится случайно в разных точках — рандомно.
          • Сергей Сергаев
            06 февраля 2019, 23:37
            Сергей Симонов, Я примерно на 5-й год понял, что по графику ничего предсказать не получится. Было это примерно в 2007 году… Потом познакомился с Random Walk, Монте-Карло, Stylized Facts of financial data и т.д. Метод ценообразования на биржах является двусторонним непрерывным аукционом. Предсказать движение цены можно лишь на очень коротких интервалах (порядка 10-20 минут, реже чуть подольше), в последующем автокорреляция разрушается и стремится к нулю. Это называется Мартингал (не путать с Мартингейлом).
  • Сергей Сергаев
    07 февраля 2019, 10:00
    Сергей, простое замечание: предсказательную силу по вашей логике должны иметь входы, а стратегия — это входы и выходы. Так просто протестируйте раздельно входы — для чего входите по условию и выходите через фиксированное время. Затем собираете все результаты выраженные в %, нормируете их на глобальный тренд (если он имел место на данном участке графика), и анализируете плотность распределения полученных значений. Скорее всего окажется, что вся или почти вся сила вашей стратегии — это ее выходы . А как тестировать выходы без входов, думаю вы тоже знаете.
      • Сергей Сергаев
        07 февраля 2019, 15:18
        Сергей Симонов, мой доолгий опыт говорит, что предсказательную силу весь алгоритм не имеет, соответственно я попытался Вам это передать. Алгоритм это входы, которые дают потенциальные возможности и выходы, которые реализуют предоставленные входами возможности в какой-то степени (зависит от качества моделей выходов). Максимум что можно протестировать на предсказательную силу — это входы. Удачных трейдов!
  • Foudroyant
    07 февраля 2019, 13:54

    А почему вообще торговый алгоритм должен иметь предсказательный потенциал?

    Разве в этом его задача?

      • Foudroyant
        07 февраля 2019, 15:13
        Сергей Симонов, для того, чтобы зарабатывать.
          • Foudroyant
            07 февраля 2019, 16:58

            Сергей Симонов, 

            Вообще, есть спекулятивные торговые алгоритмы, чья зависимость от предсказания цены минимальна. Например, «торговля временем». Это алгоритм средней результативности, всего в несколько раз выше депозита, но он работает, если знать как им управлять.

             

            Насчёт моих предыдущих комментариев: я всегда думал, что предсказывает метод (ТА или ФА), а не алгоритм. А алгоритм просто берёт сигналы от метода и открывается. Вот я к чему веду разговор.

              • Foudroyant
                07 февраля 2019, 23:27

                Сергей Симонов, может и так. 

                Но как-то странно было бы сказать: «Мой алгоритм предсказывает будущее», когда он делает это согласно методам ТА. 

                Фактически цену предсказывает ТА, а он создан явно не мной. 

                А все остальные составляющие моего алгоритма (то есть того, что делал лично я) — вообще предсказательной силой не обладают.

                То же самое с ФА-системами.

                  • Foudroyant
                    08 февраля 2019, 01:12
                    Сергей Симонов, да, может. Если он не на ТА основан, а на ФА, математике или теории игр.

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

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