Механизм трейдинга. Как построить бизнес на бирже? - Тимофей Мартынов
Шрифт:
Интервал:
Закладка:
Запишем еще один критерий.
Критерий 10. Максимальная доходность торговой системы должна быть существенно выше доходности безрисковых вложений.
Другие критерии
Существуют и другие показатели соотношения доходности и риска, такие как коэффициент Шарпа или коэффициент Сортино. Я не буду рассматривать их по двум причинам. Во-первых, формулы этих коэффициентов любой желающий может посмотреть в Интернете, и они не совсем тривиальны для рядового читателя, поскольку опираются на показатель стандартного отклонения. Во-вторых, мой опыт подсказывает, что алготрейдеры на практике редко используют данные коэффициенты.
Хорошая система на уверенном растущем тренде не должна проигрывать стратегии «Купил и держи».
Еще один вспомогательный критерий – коэффициент выигрыша (Payoff Ratio). Он вычисляется как отношение средней прибыльной к средней убыточной сделке, или AP/AL в формуле 2. Этот коэффициент не является самодостаточным критерием оценки результативности системы, поскольку не учитывает вероятности выигрыша и проигрыша. Однако он может рассказать нам о том, насколько система чувствительна к тренду. Высокий коэффициент характерен для трендовых систем, низкий – для контртрендовых.
Еще один вариант оценки кривой капитала на тесте – наклон линии линейной регрессии, разделенный на стандартную ошибку наклона линии линейной регрессии. Это мера плавности кривой, что напрямую отвечает нашей цели «последовательный доход при ограниченном риске».
Ну и последний критерий можно сформулировать как «охват системы»: то количество инструментов, на которых она показывает положительные результаты.
10.4 Критерии оценки систем: выводы
Трейдер обязательно должен понимать, что все перечисленные критерии являются попыткой убедиться на исторических данных в том, что торговая система имеет устойчивое положительное матожидание. Проще говоря, результат средней сделки будет положительным. Если вы хорошо понимаете неэффективность рынка, которую используете, то тесты могут быть не такими скрупулезными. Скажем, когда вы торгуете достоверную инсайдерскую информацию, то вам не нужен никакой бэктестинг – вы и так знаете, что матожидание сделки будет очень большим (близким к единице).
Если в вашей системе есть внутренняя логика (главе 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.
Полезные ссылки:
Про тестирование и оптимизацию торговых систем: <LINK B166>
Пример тестирования системы на фьючерсе Сбербанка: <LINK B167>
Тестирование системы в Excel: экселе <LINK B168> <LINK B169> <LINK B170>
Тест системы на случайность: <LINK B171>
Дисперсия результатов системы: <LINK B172>
10.5 Оптимизация торговой системы
Как я уже говорил выше, даже если вы понимаете логику системы и знаете откуда приходит матожидание, то тесты на истории могут позволить вам улучшить прибыльность. Возьмем фронтраннинг больших приказов. Что это значит? Если в стакане появляется большой приказ на покупку в размере X контрактов, на каком-то расстоянии Y пунктов от спреда, то рынок двигается вверх на Z пунктов. Допустим, по каким-то причинам эта стратегия действительно работает в настоящий момент на заданном инструменте. Если произвести перебор всех возможных параметров X, Y, Z за последние 30 дней, то можно получить те параметры системы, которые будут максимизировать ее эффективность.
Параметры оптимизации – это свободные параметры системы, которые могут меняться в определенных рамках. Размер стоп-лосса и тейк-профита, период скользящих средних – все это примеры свободных параметров, которые можно «подгонять» на исторических тестах, чтобы получить лучший результат.
По своей сути и логике оптимизация торговой системы является элементом датамайнинга. Мы уже затрагивали тему оптимизации в главе 7.5.6. Там мы рассматривали оптимизацию как возможный способ поиска идей в данных. Здесь же мы поговорим об оптимизации в контексте оценки качества торговой системы.
В главе 10.3 мы сформулировали критерий 9: чем меньше число оптимизируемых параметров, тем более надежен результат теста. Почему так происходит?
Если ввести в систему множество свободных параметров и перебрать их всех с большим разбросом на истории, то мы получим некоторую функцию аппроксимации исторической кривой. Больше параметров – больше подгонка под историю и меньше шансов, что система даст положительное матожидание на реальных торгах.
Обычно алготрейдеры рекомендуют использовать никак не более двух параметров. Если две системы имеют одинаковое число параметров, то их можно сравнить через интервал стабильности параметров оптимизации. Та система, у которой диапазон шире, будет надежнее. Что это значит? То, что если при переборе параметра N от 1 до 10 первая система показывает положительный результат при N от 2 до 8, а вторая система только при N = 4, то последняя имеет более прочную логику. Можно сказать, что мы сейчас сформулировали 11-й критерий оценки систем.
Проблему переподгонки параметров под историю Роберт Колби предлагает решать при помощи слепого тестирования (перекрестной проверки) [12]. Что это такое? Вы начинаете с того, что разбиваете исторические ценовые данные на равные временные интервалы. Изучив первый сегмент, вы определяете оптимальные параметры, при которых соотношение доходность/риск системы максимально. На следующем этапе вы тестируете систему на следующем сегменте данных, не задействованных в процессе подбора параметров. Далее эти два сегмента складываются, для них находятся новые оптимальные параметры, которые тестируются на следующем сегменте, и т. д.