Трейдер обязательно должен понимать, что все перечисленные критерии являются попыткой убедиться на исторических данных в том, что торговая система имеет устойчивое положительное матожидание. Проще говоря, результат средней сделки будет положительным. Если вы хорошо понимаете неэффективность рынка, которую используете, то тесты могут быть не такими скрупулезными. Скажем, когда вы торгуете достоверную инсайдерскую информацию, то вам не нужен никакой бэктестинг – вы и так знаете, что матожидание сделки будет очень большим (близким к единице).
Если в вашей системе есть внутренняя логика (главе 7.3), то результаты бэкстестинга получатся более достоверными, и они не всегда требуют слишком большой выборки для теста. При использовании перебора – датамайнинга – вам придется провести большое количество сделок на тестах, чтобы исключить случайное попадание или непопадание.
Итак, еще раз перечислим все критерии:
1. Большое число сделок (>1000).
2. Равномерная результативность на каждой фазе истории сделок.
3. Охват всех фаз рынка на данном инструменте.
4. Увеличение ямы системы в два раза.
5. Увеличение издержек (TC) в 1,5–2 раза.
6. Масштабируемость системы.
7. Профит-фактор > 1,5 и фактор восстановления > 3.
8. Время восстановления.
9. Число оптимизируемых параметров107
< 3.10. Доходность системы >> безрисковая доходность.
Все численные параметры приведены в качестве примера и не являются обязательными.
В этой главе мы сформулировали критерии сравнения двух рабочих систем108
. Практический опыт алготрейдинга показывает, что найти работающую систему очень и очень сложно, поэтому в реальности приходится запускать все системы. Если две и более подходящих систем имеют различную логику, то их параллельная работа способна улучшить показатели доходность/риск суммарной кривой депозита (сгладить ее). Подробно этот вопрос рассмотрен в главе 8.4.13.Полезные ссылки:
Про тестирование и оптимизацию торговых систем:
Пример тестирования системы на фьючерсе Сбербанка:
Тестирование системы в Excel: экселе
Тест системы на случайность:
Дисперсия результатов системы:
10.5 Оптимизация торговой системы
Как я уже говорил выше, даже если вы понимаете логику системы и знаете откуда приходит матожидание, то тесты на истории могут позволить вам улучшить прибыльность. Возьмем фронтраннинг больших приказов. Что это значит? Если в стакане появляется большой приказ на покупку в размере X контрактов, на каком-то расстоянии Y пунктов от спреда, то рынок двигается вверх на Z пунктов. Допустим, по каким-то причинам эта стратегия действительно работает в настоящий момент на заданном инструменте. Если произвести перебор всех возможных параметров X, Y, Z за последние 30 дней, то можно получить те параметры системы, которые будут максимизировать ее эффективность.
Параметры оптимизации – это свободные параметры системы, которые могут меняться в определенных рамках. Размер стоп-лосса и тейк-профита, период скользящих средних – все это примеры свободных параметров, которые можно «подгонять» на исторических тестах, чтобы получить лучший результат.
По своей сути и логике оптимизация торговой системы является элементом датамайнинга. Мы уже затрагивали тему оптимизации в главе 7.5.6. Там мы рассматривали оптимизацию как возможный способ поиска идей в данных. Здесь же мы поговорим об оптимизации в контексте оценки качества торговой системы.
В главе 10.3 мы сформулировали критерий 9: чем меньше число оптимизируемых параметров, тем более надежен результат теста
. Почему так происходит?Если ввести в систему множество свободных параметров и перебрать их всех с большим разбросом на истории, то мы получим некоторую функцию аппроксимации исторической кривой. Больше параметров – больше подгонка под историю и меньше шансов, что система даст положительное матожидание на реальных торгах.
Обычно алготрейдеры рекомендуют использовать никак не более двух параметров. Если две системы имеют одинаковое число параметров, то их можно сравнить через интервал стабильности параметров оптимизации. Та система, у которой диапазон шире, будет надежнее. Что это значит? То, что если при переборе параметра N от 1 до 10 первая система показывает положительный результат при N от 2 до 8, а вторая система только при N = 4, то последняя имеет более прочную логику. Можно сказать, что мы сейчас сформулировали 11-й критерий оценки систем.