История такая: когда испытывают двигатели для самолетов, то один из стандартных тестов — это заброс птицы в двигатель. Идея состоит в том, чтобы проверить, как себя поведет двигатель в случае какого-то экстремального события, вроде попадания птицы в двигатель при полете. При испытаниях, насколько мне известно, забрасывают мороженые тушки куриц.
Тестирование торговых систем
Когда вы тестируете торговую систему, то обычно она просто проверяется на альтернативном временном интервале или на альтернативном торговом инструменте. Конечно же, это не единственный вариант. Вы можете проверить свою торговую систему и другими способами.
Например, стандартная проверка робастности. Это когда вы тестируете, насколько прибыльность системы зависит от каких-то редких обстоятельств, которые случились именно в том временном интервале, на котором ваша система себя классно показала. Но эта статья не про стандартную робастность — эта статья как раз про другой вариант.
Курица, она же черный лебедь
А другой вариант — это когда вы хотите проверить, насколько ваша торговая система чувствительно к каким-то неожиданным изменениям в торговой ситуации. Простой пример — это торговля в момент выхода важных новостей, ожиданных или неожиданных. Некоторые трейдеры даже специально выключают роботов накануне выхода новостей по статистике, как раз потому что эта ситуация сильно отличается от того, что происходит в «нормальные» часы.
А черный лебедь тут при том, что так-то все лебеди белые, но ведь никто не гарантирует, что не появится черный — поподробнее об этом у Нассима Талиба можно прочитать, у него большая часть книжки как раз про это.
Как же провести тест «курица в двигателе»?
Опишу примерную схему, как можно провести такой тест. Конкретная реализация уж очень зависит от того, как именно вы торгуете, на каких таймфреймах, сколькими инструментами, да, и вообще, какой риск для вас нормален.
К тому же, нужно понимать, что такой тест в принципе не может быть количественным, а только качественным. То есть, вы просто проверяте, какой начинается разброс в результатах «при забросе курицы» и внутренне оцениваете, приемлемо ли поведение вашей торговой системы. Или еще можно использовать такой тест для сравнения двух торговых систем, между которыми вы выбираете.
Итак, допустим, торгуете на пятиминутках. И у вас есть доходность системы на реальных исторических данных. Начинаем менять эти данные и смотреть, какая получается доходность (конечно, и изменения в риске тоже стоит отслеживать). Хорошо, если ТС забитана в виде компьютерного алгоритма, так что тест можно сделать автоматически.
Творим альтернативную историю
Как меняем данные?! Посчитаем какую-то меру волатильности, например, среднеквадратичное отклонение или просто среднее абсолютное отклонение. Какое отклонение можно считать экстремальным? Допустим, в три таких среднеквадратичных отклонения.
Кстати, можно ничего и не считать, а просто взять максимальный скачок цен за этот период и именно его рассматривать как экстремальное отклонение. Помним, что анализ качественный, а не количественный!
Вторая важная часть — как часто происходят такие экстремальные скачки? Допустим, в большинстве случаев они связаны с выходом новостей, которые случаются раз в день или раз в два дня, или как там у вас? Возьмем в два раза более редкую частоту. Или в три. Почему? Потому что анализ качественный, а не количественный.
По сути, мы и получили такое простое распределение наших экстремальных скачков. Теперь «симулируем» новую историю цен. Для каждого интервала к реальной цене делаем ценовую добавку: или нулевую, или с некоторой небольшой вероятностью равную по величине экстремальному скачку. А вероятность эта рассчитывается исходя из частоты наших новостей — как написано в предыдущем абзаце.
Тут есть еще всякие технические статистические нюансы, о которых я писать не буду, потому что они хоть и правильные, но у меня тут не научный труд, а основная идея.
Итак, сгенерировали альтернативную историю
И прогнали нашу торговую систему на этих данных. И так раз 100 сделайте. Так-то чем больше, тем лучше. Но основные выводы можно будет сделать после пары десятков раз.
На каждой такой альтернативной истории цен результат ТС будет другой и, скорее всего, хуже, чем на оригинальных данных. Вопрос в том, насколько хуже.
Если система «разваливается» в половину случаев, то, скорее всего, она не очень надежна. То есть, торговать по ней можно, но всегда надо быть начеку, что что-то случится и вся заработанная прибыль сгорит на выходе одной-единственной неблагоприятной новости. Или, например, когда почему-то случится шип/прокол.
Естественно, чем сильнее оптимизировали ТС при выборе параметров, тем хуже она будет проходить этот тест, что как бы намекает )))
Вывод
Рассказал об одном способе тестирования устойчивости системы — ее устойчивость к редким и сильным (даже экстремальным) движениям цен. Такой тест может рассказать об еще одной характеристике торговой системы (первые два — это доходность и риск) — о ее способности оставаться прибыльной при существенном изменении ситуации на рынке.
Комментарии (3)
Честно скажите, вы сами владеете теми знаниями, которые сюда копируете?
13 Tor Сообщений: 447 - Роберт
3 awakess Автор Сообщений: 36 - Michael
P.S.
видимо, взято отсюда Редактирован: 24 мая 2014, 17:44
0 guest111 Сообщений: 180
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий