Блог им. gift

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

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

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

 




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

 

 

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


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

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

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

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

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

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

Призываю к простой вещи — не заниматься самообманом, тем самым сохранив в целости собственные средства. 
★14
52 комментария
+, тоже хотел такой пост написать… Только насчеет 4-го пункта не совсем согласен… Все же считаю, что паттерновая торговля очень привязана к инструменту. Другие — может быть…
avatar
CamarillaDaily, + насчет 4го пункта, какой-то совсем грааль получается)
avatar
Марсель Тазетдинов, есть такие и вовсе даже ничего особенного
Александр Дрозд, а вы на каком языке пишите программы для трейдинга??
avatar
mrTrader, на WealthLab 4 все тестирую, а там обычный паскаль
Александр Дрозд, а потом когда код пишите в рабочую прогу на чем после теста?
avatar
mrTrader, а я из велзалаба роботом тойже стратегией и торгую. Все просто. WL+адаптер приказов+адаптер потоковых данных+Quik Все полностью автоматизировано.
Александр Дрозд, а где этот WealthLab 4 скачать нахаляву?+адаптер приказов+адаптер потоковых данных+
+ ??
avatar
mrTrader, WL в торентах, потоковый адптер на официальном сайте квика, адаптер выставления заявок ищите в сети, есть хорошие решения от русских ребят, стоят всего пару тыщ.
Александр Дрозд, Да понятно, что есть, но это как-бы все равно, что написать «Универсальные правила ведения любого бизнеса», если следовать которым, то по-любому будешь успешен…
avatar
CamarillaDaily, у меня такие есть (на S&P500 адекватны в тестах тоже), но к сожалению даже они не гарантируют успеха в будущем.
По 4 пункту. Согласен. CamarillaDaily, Нормальные результаты на других инструментах — не значит выдающиеся. Конечно система оптимизированная под какой-то один фьюч вряд ли будет столь же успешной на другом. Но если при тестировании на истории на других инструментах эквити скрипта летит вниз — стоит задуматься. ИМХО.
avatar
OFY, А если в нуле?
avatar
CamarillaDaily, вот это я уже называю — заниматься самообманом )) Хотя если у вас четко паттерновые алгоритмы, то конечно тяжело быть универсальным. Есть у меня такие и их не торгую по причинам описанным выше.
Александр Дрозд, а сколько обычно одновременно торгующих систем у Вас?
avatar
OFY, по одному инструменту 3 системы торгующих в лонг и в шорт
Александр Дрозд, ясность!
avatar
Александр Дрозд, А у Вас разные системы для лонгов и шортов? Пробовали ли когда-нибудь делать системы в которой сигналы для лонга и шорта используются разные, в том числе по итогам тестирования за большие сроки?
Интересен опыт роботостроителя относящийся к характеру падения и характеру подъёма цен как к разным рынкам, а не зеркально (на форексе зеркальность подходит).
avatar
agmalov, у меня несколько систем, каждая из которых торгует и в лонг и в шорт, причем в каждой из систем лонг или шорт, не «и»
Александр Дрозд, спасибо за инфу! стало быть я на верном пути ;)
avatar
Александр Дрозд, А что вы тогда вообще торгуете, я никак не пойму. У вас на сайте счет колеблется на доли процентов, значит без плеча, или вообще с дробным плечом, и, тем не менее, допустимая просадка стоит — 30%!!! Без плеча просадка 30%!!! Я не обсуждаю ваши результаты, Боже упаси, просто не пойму критерии выбора вами системы для торговли…
avatar
CamarillaDaily, системы торгуемые мною на тестах показывают максимальную просадку в 15%, 30% это как раз запас о котором я писал в п.3 А в целом, если посмотрите исторические отчеты на том же сайте, то как опытный системный трейдер сделаете вывод, что система, на данный момент, работает нормально и без особых отклонений.
Александр Дрозд, а можно ссылку в студию?
avatar
OFY, на что?
Александр Дрозд, на сайт со статистикой.
avatar
OFY, в профиле все есть )
Александр Дрозд, ок, спасибо.
avatar
Александр Дрозд, Не спорю. Но макс просадка в 20%+ не великовата для торговли без плеча?
avatar
CamarillaDaily, увы обстоятельства: большой торгуемый объем -> большие просскальзывания -> больше просадки, меньше доходность.
CamarillaDaily, ИМХО в нуле тоже плохо! Я, например, когда профпригодность системы оцениваю прогоняю по нескольким ликвидным инструментам с тем же таймфреймом. И на том же инструменте с другими таймфреймами. Если на большинстве вариантов система зарабатывает и ни на каких сильно не сливает — я доволен.
avatar
я бы еще добавил, что обязательно надо тестировать на другом периоде в не оптимизации, например на 2010 оптимизировали на 2008/2009/2011 проверили. Потому что эффект от переоптимизации всегда будет и чем больше свободных параметров у системы тем он значительнее.
avatar
vlad1024, эту мысль я пытался выразить в пункте 2
123insaider, это ирония надеюсь? )
С пунктом 4 не согласен, другие инструменты, особенно некореллированные, могут совсем другой жизнью жить — разная волатильность, трендовость и.т.п., поэтому по-моему глупо выбраковывать систему, приспособленную к торговле одним инструментом и дающую по нему 3-5 лет стабильно высокие результаты на нем, только потому, что она плохо работает на совсем непохожем. Из собственного опыта — для систем, торгующих успешно в течении почти 2 лет индексами RTS и FTSE (на реальных счетах), не удалось подобрать параметров для S&P и Nikkei, которые бы не сливали даже на тестах. И это довольно кореллируемые инструменты!!! Я молчу уже про валюты и бонды, например, это совсем другое поведение — и только (опять же исключительно по моему мнению) дятел будет искать общую систему с одинаковыми параметрами для индексов и валют.
А вместо пункта 4 добавил бы пункт, в котором порекомендовал бы попробовать подобрать к системе, дающей 5-7 лет хорошей торговли на одном инструменте, другие параметры, позволяющие получить такие же результаты на другом, пусть даже кореллируемом инструменте или на этом же, но c другим тайм- фреймом. И так далее, чем больше работающих параметров, тем лучше — добиться хорошей диверсификации. И тогда даже не страшно, если из этих 5-7 лет на 1-2 годах система показала не очень хороший результат, с очень большой вероятностью диверсификация по инструментам и тайм-фреймам поможет вытянуть эти неудачные участки одного инструмента за счет других.
avatar
Maksim Chertkov, у меня такие системы есть. Значит это возможно, значит это работает, значит это перспективно. Хотите верьте, хотите нет )
Александр Дрозд, завидую белой завистью.
avatar
OFY, кстати не раз выкладывал результаты ее работы, посмотрите в предыдущих топиках.
Александр Дрозд, охотно верю, но так же с большой вероятностью думаю, что если попытаться оптимизировать эти системы отдельно под валюты и с другими параметрами под индексы, они покажут значительно лучшие результаты в силу большой разности поведения этих инструментов. Основной смысл был в том что 4 пункт ну совсем не обязателен, ибо в большинстве случаев из-за него будут отбрасываться хорошие и перспективные системы. С оставшимися пунктами согласен 100%.
avatar
Maksim Chertkov, про оптимизацию каждой согласен. В то же время степень свободы такой системы заметно ухудшится. Т.е. соль в том чтобы, как бы это наивно не звучало, сделать универсальную систему.
Александр Дрозд, для супердолгосрочных стратегий, торгующих на дневных таймфреймах, я еще с вами соглашусь, все что ниже требует тщательного индивидуального подхода. Для аналогии приведу пример с моторными маслами для машин — раньше их было несколько видов, а сейчас чуть ли не под каждый мотор подбирают индивидуально для лучшей работы и перебирают для этого кучу параметров, потому что скорости работы растут. Тоже самое и с рынками — принципы не меняются (так же как и состав у каждого из масел на 95% одинаков), но лучший результат покажет именно та стратегия, которая максимально учтет поведение конкретного инструмента, при этом не будучи переоптимизированной. Вот этот баланс как мне кажется и надо искать для каждого инструмента, а не универсальную систему, которая будет сносно работать и на тракторе и на формуле1 (некореллируемые инструменты).
avatar
Maksim Chertkov, работа трактора и формулы один предопределена на 99%, рынок же предопределен системой в лучшем случае на 60% (я бы даже сказал, что 60 идеалено для системы)
Александр Дрозд, кто хочет искать мегауниверсальный грааль — пусть ищет, на мой взгляд критерий №4 неважен, а там каждый решит сам.
avatar
Maksim Chertkov, согласен. Например Газпром и Сбер ведут себя совершенно по-разному, надо выбирать на чем тестировать, но хорошо если сберовский скрипт не сливает на газе. По-поводу диверсификации Вы абсолютно правы. Но, к сожалению, на фортсе по инструментам особо не диверсифицируешься. Ликвидных мало.
avatar
Maksim Chertkov, Поддержу Александра-такие системы есть.Более того, есть системы которые торгуют сносно некоторые валюты и фьюч на Дакс, например.Так что все относительно
Куртвапов Рустем, о! спасибо )
Куртвапов Рустем, да не отрицал я что такие системы есть, просто хотел донести что даже если удастся найти такие параметры, которые работают универсально, работать они будут именно что сносно, как вы правильно заметили. А для хорошей их работы параметры лучше подбирать индивидуально для каждого инструмента, но делать это правильно.
avatar
Maksim Chertkov, Да, конечно, стоит дорабатывать систему с учетом индивидуальности рынка, подбирать для нее лучшие параметры. Ну, вообще, есть 2 типа закономерностей(глобальные и локальные): которые присущи многим рынкам в целом(но они будут отрабатываться на нескольких рынках, но немного хуже на каких-то конкретных рынках в силу разного характера этих рынков, состава участников и т.п.)и которые присущи конкретному типу рынка, они будут показывать на данном рынке очень хорошие результаты, но могут показывать очень посредственные на других рынках. Важно понимать физический смысл неэффективности, у кого вы забираете деньги, что заставляет эту группу участников постоянно действовать в неких ситуациях стереотипно и терять деньги.
Немного сумбурно написал, но надеюсь понятно.
Куртвапов Рустем, да это все общие мысли, они правильные, не в этом вопрос. Вот нашли вы, к примеру, систему, зарабатывающую индексом Nikkei, дающую хорошую прибыль по тестам 3-5лет, не сливающую при изменении всех параметров на 30%. И что — ее выбрасывать на помойку только потому что она работает только на нем, а на кукурузе, бондах и паре франк\фунт сливает? ИМХО, это бред…
avatar
Maksim Chertkov, Нет, конечно.Это то, что я охарактеризовал термином локальная связность.Единственное что очень хорошо бы понимать-почему система зарабатывает на Никкее, а не зарабатывает на Даксе, например? За счет чего? Если можете четко ответить на этот вопрос-можно запускать смело систему в бой, ИМХО, конечно
Ну а где график за 2008й-2010й, по которому мы бы заранее знали, что в 2011м эту систему использовать не стоит? Вдруг она именно в 2011 сломалась?
Неубедительное доказательство получается.
avatar
1.да хорошо только fRi c 2009 торгуется полноценно(с вечеркой и без останова торгов). всего 3года. ждём 2 года курим бамбук?
2. Я думаю и года(если более 1000 сделок) достаточно для теста, если при отклонении на 20-30% от основных параметров, система не сильно теряет в профите. — просто так мало кто тестит — а это важнее чем тест 10 лет н обез разброса параметров (никому не говорите. грааль на).
avatar
Роботорговец, полностью согласен, тоже это пытался сказать.
А еще 5 лет, на 5 некореллируемых инструментах, да без смены параметров… КПД будет весьма скромный.
avatar

теги блога Александр Дрозд

....все тэги



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