Александр Дрозд
Александр Дрозд личный блог
17 января 2012, 18:46

Про тестирование и оптимизацию торговых систем

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

Представим что мы находимся в конце 2010 года, у нас на руках простая торговая система 2-х пересекающихся SMA работающая только от лонга. Прооптимизировав за 2010 получаем следующую эквити и выходные данные: 

 




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

 

 

Выводы напрашиваются сами.


Маленькие постулаты из опыта. В реальную торговлю можно пускать только ту систему, которая:

1. показала стабильные результаты на большом тестовом, историческом периоде (от 5-ти лет)

2. При выборочном тестировании за каждый год, данные не сильно отличаются от выходных данных за весь тестируемый период

3. Максимальная тестовая просадка умноженная на 2, не превышает допустимой просадки к которой вы готовы психологически сами, потому как реальность раза в 2, а то и в три жестче чем тестирование на истории. 

4. Тестирование этой системы, без смены параметров дало нормальные результаты еще минимум на 5-10-ти других не сильно кореллированных инструментах. 

5. Система достаточно устойчива при тестовом просскальзывании в 1.5-два раза превышающем, то которое ожидаются в реальной торговле. 

Призываю к простой вещи — не заниматься самообманом, тем самым сохранив в целости собственные средства. 
52 Комментария
  • CamarillaDaily
    17 января 2012, 18:52
    +, тоже хотел такой пост написать… Только насчеет 4-го пункта не совсем согласен… Все же считаю, что паттерновая торговля очень привязана к инструменту. Другие — может быть…
    • Marsel Tazetdinov
      17 января 2012, 19:00
      CamarillaDaily, + насчет 4го пункта, какой-то совсем грааль получается)
        • mrTrader
          17 января 2012, 19:09
          Александр Дрозд, а вы на каком языке пишите программы для трейдинга??
            • mrTrader
              17 января 2012, 19:21
              Александр Дрозд, а потом когда код пишите в рабочую прогу на чем после теста?
                • mrTrader
                  17 января 2012, 21:22
                  Александр Дрозд, а где этот WealthLab 4 скачать нахаляву?+адаптер приказов+адаптер потоковых данных+
                  + ??
        • CamarillaDaily
          17 января 2012, 19:09
          Александр Дрозд, Да понятно, что есть, но это как-бы все равно, что написать «Универсальные правила ведения любого бизнеса», если следовать которым, то по-любому будешь успешен…
          • OFY
            17 января 2012, 19:17
            По 4 пункту. Согласен. CamarillaDaily, Нормальные результаты на других инструментах — не значит выдающиеся. Конечно система оптимизированная под какой-то один фьюч вряд ли будет столь же успешной на другом. Но если при тестировании на истории на других инструментах эквити скрипта летит вниз — стоит задуматься. ИМХО.
            • CamarillaDaily
              17 января 2012, 19:18
              OFY, А если в нуле?
                • OFY
                  17 января 2012, 19:26
                  Александр Дрозд, а сколько обычно одновременно торгующих систем у Вас?
                    • OFY
                      17 января 2012, 20:15
                      Александр Дрозд, ясность!
                    • agmalov
                      17 января 2012, 20:43
                      Александр Дрозд, А у Вас разные системы для лонгов и шортов? Пробовали ли когда-нибудь делать системы в которой сигналы для лонга и шорта используются разные, в том числе по итогам тестирования за большие сроки?
                      Интересен опыт роботостроителя относящийся к характеру падения и характеру подъёма цен как к разным рынкам, а не зеркально (на форексе зеркальность подходит).
                        • agmalov
                          18 января 2012, 09:33
                          Александр Дрозд, спасибо за инфу! стало быть я на верном пути ;)
                • CamarillaDaily
                  17 января 2012, 19:35
                  Александр Дрозд, А что вы тогда вообще торгуете, я никак не пойму. У вас на сайте счет колеблется на доли процентов, значит без плеча, или вообще с дробным плечом, и, тем не менее, допустимая просадка стоит — 30%!!! Без плеча просадка 30%!!! Я не обсуждаю ваши результаты, Боже упаси, просто не пойму критерии выбора вами системы для торговли…
                    • OFY
                      17 января 2012, 20:23
                      Александр Дрозд, а можно ссылку в студию?
                        • OFY
                          17 января 2012, 20:34
                          Александр Дрозд, на сайт со статистикой.
                            • OFY
                              17 января 2012, 21:54
                              Александр Дрозд, ок, спасибо.
                    • CamarillaDaily
                      17 января 2012, 20:39
                      Александр Дрозд, Не спорю. Но макс просадка в 20%+ не великовата для торговли без плеча?
              • OFY
                17 января 2012, 19:24
                CamarillaDaily, ИМХО в нуле тоже плохо! Я, например, когда профпригодность системы оцениваю прогоняю по нескольким ликвидным инструментам с тем же таймфреймом. И на том же инструменте с другими таймфреймами. Если на большинстве вариантов система зарабатывает и ни на каких сильно не сливает — я доволен.
  • vlad1024
    17 января 2012, 19:12
    я бы еще добавил, что обязательно надо тестировать на другом периоде в не оптимизации, например на 2010 оптимизировали на 2008/2009/2011 проверили. Потому что эффект от переоптимизации всегда будет и чем больше свободных параметров у системы тем он значительнее.
  • Maksim Chertkov
    17 января 2012, 20:22
    С пунктом 4 не согласен, другие инструменты, особенно некореллированные, могут совсем другой жизнью жить — разная волатильность, трендовость и.т.п., поэтому по-моему глупо выбраковывать систему, приспособленную к торговле одним инструментом и дающую по нему 3-5 лет стабильно высокие результаты на нем, только потому, что она плохо работает на совсем непохожем. Из собственного опыта — для систем, торгующих успешно в течении почти 2 лет индексами RTS и FTSE (на реальных счетах), не удалось подобрать параметров для S&P и Nikkei, которые бы не сливали даже на тестах. И это довольно кореллируемые инструменты!!! Я молчу уже про валюты и бонды, например, это совсем другое поведение — и только (опять же исключительно по моему мнению) дятел будет искать общую систему с одинаковыми параметрами для индексов и валют.
    А вместо пункта 4 добавил бы пункт, в котором порекомендовал бы попробовать подобрать к системе, дающей 5-7 лет хорошей торговли на одном инструменте, другие параметры, позволяющие получить такие же результаты на другом, пусть даже кореллируемом инструменте или на этом же, но c другим тайм- фреймом. И так далее, чем больше работающих параметров, тем лучше — добиться хорошей диверсификации. И тогда даже не страшно, если из этих 5-7 лет на 1-2 годах система показала не очень хороший результат, с очень большой вероятностью диверсификация по инструментам и тайм-фреймам поможет вытянуть эти неудачные участки одного инструмента за счет других.
      • OFY
        17 января 2012, 20:34
        Александр Дрозд, завидую белой завистью.
      • Maksim Chertkov
        17 января 2012, 20:47
        Александр Дрозд, охотно верю, но так же с большой вероятностью думаю, что если попытаться оптимизировать эти системы отдельно под валюты и с другими параметрами под индексы, они покажут значительно лучшие результаты в силу большой разности поведения этих инструментов. Основной смысл был в том что 4 пункт ну совсем не обязателен, ибо в большинстве случаев из-за него будут отбрасываться хорошие и перспективные системы. С оставшимися пунктами согласен 100%.
          • Maksim Chertkov
            18 января 2012, 09:35
            Александр Дрозд, для супердолгосрочных стратегий, торгующих на дневных таймфреймах, я еще с вами соглашусь, все что ниже требует тщательного индивидуального подхода. Для аналогии приведу пример с моторными маслами для машин — раньше их было несколько видов, а сейчас чуть ли не под каждый мотор подбирают индивидуально для лучшей работы и перебирают для этого кучу параметров, потому что скорости работы растут. Тоже самое и с рынками — принципы не меняются (так же как и состав у каждого из масел на 95% одинаков), но лучший результат покажет именно та стратегия, которая максимально учтет поведение конкретного инструмента, при этом не будучи переоптимизированной. Вот этот баланс как мне кажется и надо искать для каждого инструмента, а не универсальную систему, которая будет сносно работать и на тракторе и на формуле1 (некореллируемые инструменты).
              • Maksim Chertkov
                18 января 2012, 13:37
                Александр Дрозд, кто хочет искать мегауниверсальный грааль — пусть ищет, на мой взгляд критерий №4 неважен, а там каждый решит сам.
    • OFY
      17 января 2012, 20:33
      Maksim Chertkov, согласен. Например Газпром и Сбер ведут себя совершенно по-разному, надо выбирать на чем тестировать, но хорошо если сберовский скрипт не сливает на газе. По-поводу диверсификации Вы абсолютно правы. Но, к сожалению, на фортсе по инструментам особо не диверсифицируешься. Ликвидных мало.
    • Рустем Куртвапов
      17 января 2012, 22:12
      Maksim Chertkov, Поддержу Александра-такие системы есть.Более того, есть системы которые торгуют сносно некоторые валюты и фьюч на Дакс, например.Так что все относительно
      • Maksim Chertkov
        18 января 2012, 09:19
        Куртвапов Рустем, да не отрицал я что такие системы есть, просто хотел донести что даже если удастся найти такие параметры, которые работают универсально, работать они будут именно что сносно, как вы правильно заметили. А для хорошей их работы параметры лучше подбирать индивидуально для каждого инструмента, но делать это правильно.
        • Рустем Куртвапов
          18 января 2012, 09:39
          Maksim Chertkov, Да, конечно, стоит дорабатывать систему с учетом индивидуальности рынка, подбирать для нее лучшие параметры. Ну, вообще, есть 2 типа закономерностей(глобальные и локальные): которые присущи многим рынкам в целом(но они будут отрабатываться на нескольких рынках, но немного хуже на каких-то конкретных рынках в силу разного характера этих рынков, состава участников и т.п.)и которые присущи конкретному типу рынка, они будут показывать на данном рынке очень хорошие результаты, но могут показывать очень посредственные на других рынках. Важно понимать физический смысл неэффективности, у кого вы забираете деньги, что заставляет эту группу участников постоянно действовать в неких ситуациях стереотипно и терять деньги.
          Немного сумбурно написал, но надеюсь понятно.
          • Maksim Chertkov
            18 января 2012, 09:58
            Куртвапов Рустем, да это все общие мысли, они правильные, не в этом вопрос. Вот нашли вы, к примеру, систему, зарабатывающую индексом Nikkei, дающую хорошую прибыль по тестам 3-5лет, не сливающую при изменении всех параметров на 30%. И что — ее выбрасывать на помойку только потому что она работает только на нем, а на кукурузе, бондах и паре франк\фунт сливает? ИМХО, это бред…
            • Рустем Куртвапов
              18 января 2012, 10:03
              Maksim Chertkov, Нет, конечно.Это то, что я охарактеризовал термином локальная связность.Единственное что очень хорошо бы понимать-почему система зарабатывает на Никкее, а не зарабатывает на Даксе, например? За счет чего? Если можете четко ответить на этот вопрос-можно запускать смело систему в бой, ИМХО, конечно
  • Александр М
    17 января 2012, 21:50
    Ну а где график за 2008й-2010й, по которому мы бы заранее знали, что в 2011м эту систему использовать не стоит? Вдруг она именно в 2011 сломалась?
    Неубедительное доказательство получается.
  • Роботорговец
    17 января 2012, 21:50
    1.да хорошо только fRi c 2009 торгуется полноценно(с вечеркой и без останова торгов). всего 3года. ждём 2 года курим бамбук?
    2. Я думаю и года(если более 1000 сделок) достаточно для теста, если при отклонении на 20-30% от основных параметров, система не сильно теряет в профите. — просто так мало кто тестит — а это важнее чем тест 10 лет н обез разброса параметров (никому не говорите. грааль на).
    • Maksim Chertkov
      18 января 2012, 09:48
      Роботорговец, полностью согласен, тоже это пытался сказать.
      А еще 5 лет, на 5 некореллируемых инструментах, да без смены параметров… КПД будет весьма скромный.

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

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