10.3 Критерии оценки

Здесь перед нами встают сразу две проблемы.

Во-первых, вы протестировали торговую систему на данном инструменте и получили положительную теоретическую кривую депозита. Можно ли доверять этим результатам?

Во-вторых, допустим, что вы по очереди тестируете две системы на одном инструменте. И получили два результата – две положительных теоретических кривых вашего депозита. Какой результат лучше, какую из систем запустить в работу?

Цель Механизма диктует нам требования к следующим факторам:

• устойчивость работы системы во времени;

• минимизация риска и издержек;

• максимизации прибыли.

Таким образом, чем лучше соотношение доходность/риск системы и чем более устойчивы результаты во времени, тем больше система отвечает нашей цели.

Проблема 1

Давайте вспомним тезис № 5. Рынок подвержен случайности. И результаты одной отдельно взятой системы, протестированной на истории, также могут оказаться случайными. Наша задача – убедиться в том, что результат все же неслучайный.

Вернемся к формуле и сгенерируем кривую изменения депозита, которая была построена на основании 1000 случайных сделок (средний профит = средний убыток (AP = AL), и вероятность убытка равна вероятности прибыли (PP = LP)[7].

Рис. 80. Это кривая – случайный результат 1000 случайных сделок

Банальная логика эксперимента позволяет нам сделать несколько выводов.

1. Если бы мы сделали всего лишь 250 первых сделок на истории (первая четверть графика), то мы бы подумали, что изобрели гениальный торговый метод. На самом же деле нам просто повезло. Важно не принимать случайность за успех[8].

2. В случае запуска этого «гениального» торгового метода с 251-й сделки он принес бы нам убытки, и нам стало бы очевидно, что он не работает.

3. Если бы наш тест показал сделки в интевале 251–500 или 501–750, то мы бы сразу поняли, что эта торговая система никуда не годится. Тест на основании интервала 751–1000 также привел бы нас в ловушку случайности, и результат показался бы нам хорошим.

Давайте добавим в систему немного положительного математического ожидания и посмотрим, как изменится характер графика. Если мы введем вероятность прибыльной сделки, равную 60 %, то мы увидим невероятно гладкую растущую кривую, которую на реальных торгах получить невероятно сложно.

Рис. 81. Кривая результатов системы с вероятностью прибыльной сделки 60%

Скачать данный эмулятор в файле Excel и самостоятельно поупражняться вы можете на странице «Смартлаба»105. В этом файле две страницы: на первой – 1000 сделок с нулевым матожиданием, на второй – установлено матожидание PP = 0,6. На этом же листе вы можете самостоятельно менять параметры PP, AP, LP.

Продолжаем делать наши логические выводы на основании приведенных примеров:

1. Если система совершает 60 % прибыльных сделок, то она с большой вероятностью будет прибыльна на каждом из интервалов: 1–250, 251–500, 501–750, 751–1000.

2. Чем выше положительное матожидание системы, тем меньше сделок требуется, чтобы устойчиво показывать положительный результат на тесте. Это утверждение справедливо для нашего примера, где тейк-профит = стоп-лосс. Чем реже система будет собирать тейк-профиты и чем чаще стоп-лоссы, тем более неравномерной будет форма кривой даже при наличии большого положительного матожидания. То есть психологически дискомфортная система с коротким и слишком частым стоп-лоссом может давать неравномерную кривую на тестах.

3. Напротив, когда положительное матожидание системы незначительное – например, PP = 51 %, – то для того, чтобы результат теста выглядел закономерным, нам придется брать большее количество сделок.

4. Отсюда следует еще один вывод. Если мы торгуем систему на дневных или недельных таймфреймах, то нам потребуется очень большое статическое преимущество, чтобы получить закономерный результат. Когда же мы торгуем высокоскоростную HFT-стратегию, нам достаточно иметь самое минимальное статистическое преимущество в каждой сделке, чтобы закрывать каждый день в плюс. Например, на конкурсе ЛЧИ 2015, робот, заработавший 1500 % прибыли меньше чем за два месяца, совершал в среднем около 10 000 сделок в день.

5. Суммируя вышесказанное, можно сделать еще один вывод: если мы создадим систему с небольшим положительным матожиданием, то на тестах с маленькой выборкой (< 250 сделок) она чисто случайно, в силу большой дисперсии результатов, может показаться нерабочей и быть ошибочно забракована.

Сформулируем два критерия оценки:

Критерий 1. Для того чтобы убедиться в неслучайности системы, необходимо совершить большое количество сделок на тесте – не меньше 1000.

Критерий 2. Желательно, чтобы система была равномерно прибыльна на всем интервале тестирования (в нашем примере – на каждой серии из 250 сделок). Это повышает шансы на то, что мы получили неслучайный результат.

Здесь надо сделать несколько оговорок. В реальности бывает так, что вы не в состоянии совершить 1000 сделок на истории для данной системы. В этом случае вы можете сделать 10 тестов по 100 сделок на 10 инструментах и оценить результативность таким образом. Но тестирование на столь большой выборке не всегда обязательно. Если вы при работе с информацией используете подход «Снизу вверх», описанный в седьмой главе, и понимаете логику ошибки участников рынка, то вам не обязательно совершать такое количество тестов. Вы можете обойтись без выборки из 1000 наблюдений. Допустим, вы уловили закономерность, которая работает на утренних гэпах в одном инструменте. Даже если рынок каждый день будет открываться с гэпом, за год вы соберете всего 250 наблюдений. В реальности, когда вы понимаете логику ошибки («Снизу вверх»), вам может хватить и 10 наблюдений для построения прибыльной системы.

Требования к количеству сделок на тесте повышается при использовании подхода «Сверху вниз», который мы также разбирали в седьмой главе. Если вы уловили закономерность в процессе датамайнинга и не до конца понимаете логику ошибки, делайте как можно больше сделок на тесте и проверяйте их в соответствии с первым и вторым критериями, приведенными выше. Бывает, что требование к большому числу сделок возникает даже в случае, когда вы понимаете логику, но ваше статистическое преимущество незначительно: например, если вероятность прибыльной сделки составляет всего 51 %.

На практике если вы оцениваете систему за последние несколько лет, то результаты каждого года не должны сильно отличаться. Это также будет свидетельствовать о статистической устойчивости метода.

Есть и еще одна практическая подсказка от успешных алготрейдеров относительно размера выборки тестирования. Важно, чтобы число сделок на тесте было выше числа «особей» варьируемых параметров системы. Желательно, чтобы 50 % «особей» были жизнеспособны. Что это значит? Допустим, есть два параметра оптимизации. Первый может принимать три различных значения, а второй – пять. Следовательно, число всевозможных «особей» равно: 3 ? 5 = 15. То есть число сделок на тесте должно быть >15, а система должна показывать хорошие результаты как минимум в 8 из 15 параметров.

Итак, мы сформулировали требования к размеру выборки. Из этой книги вы узнали, что рынок может пребывать в трех состояниях: тренд, контртренд и случайные блуждания. На случайном рынке с учетом издержек торговли (TC) заработать не получится никак. Ваша торговая система может быть трендовой или контртрендовой на данном таймфрейме тестирования. Трендовая система будет зарабатывать на трендовом рынке, терять на контртрендовом и наоборот. Для того чтобы тест получился достоверным, система должна захватить и трендовую, и контртрендовую фазу инструмента. Если вы тестируете трендовую систему только лишь на трендовой фазе, то очевидно, что она даст совершенно обратный результат, как только фаза рынка изменится. А когда она изменится, вы никогда заранее не узнаете. Поэтому хорошая система должна ограничивать убытки в неудачной фазе и выжимать максимум возможной прибыли из удачной фазы. Итак, сформулируем третий критерий.

Критерий 3. Оценка системы должна захватить все фазы рынка.

Однако надо иметь в виду, что если вы тестируете одну систему, то на практике третий критерий будет противоречить второму, поскольку трендовая система не сможет зарабатывать на контртрендовой фазе рынка (как и наоборот). Следовательно, система окажется не способной одновременно захватить все фазы рынка и показать равномерный рост на всех временных интервалах.

До сих пор мы рассматривали критерии оценки систем, которые продемонстрировали успешный результат на тесте. Тем не менее любая система несет в себе риск, и мы должны этот риск оценить. Введем понятие «яма системы», которая является максимальной просадкой от последнего максимума до самого минимального минимума.

Рис. 82. Яма системы на графике тестов

Ее можно рассчитывать в пунктах на контракт или в процентах от максимума.

Критерий 4. Смело умножайте яму системы на два и проверяйте, осталась ли система положительной.

Этот эмпирический вывод следует из реальной практики алготрейдинга. Однако на истории вы никогда не можете быть уверены в том, что виденная вами «яма», которую вы видели, была максимальной из возможных (особенно если представлена недостаточно большая выборка).

Даже самые точные тесты на истории почти всегда дают лучший результат, чем покажет система на реальном рынке. Этот практически полезный критерий также помогает оценить качество системы, если вы тестируете ее на недостаточно большой выборке. Например, вы применили четвертый критерий к результатам тестов, изображенных на рисунках. В данном случае первая тестовая кривая будет забракована, даже несмотря на общий положительный результат. Таким образом, умножение максимальной просадки на некоторое число помогает снизить влияние случайного разброса на результат.

Итак, допустим, наша система прошла все критерии отбора и готова быть запущенной в работу. Что еще мы пропустили? Напомню, что эта система имеет одинаковый стоп-лосс (AL) и тейк-профит (AP), она смоделирована из допущения, что нам удалось получить 60 % прибыльных сделок (PP). Мой личный опыт показывает, что если взять очень маленькие значения AL и TP, то при помощи перебора всех возможных параметров нетрудно будет получить гладкую растущую кривую. Однако важно понимать: при уменьшении значения TP показатель торговых издержек (TC) будет оказывать все большее и большее влияние на результат средней сделки. Это следует напрямую из формулы:

AR = [AP ? PP – AL ? LP] – TC.

В главе 6.3 мы рассматривали пример того, как увеличение объема позиции увеличивает влияние издержек на средний результат сделки из-за роста проскальзывания и способно испортить огромное количество систем. Средняя сделка системы без учета издержек не должна быть слишком маленькой, например, меньше 0,1 % цены актива:

AP ? PP – AL ? LP > 0,1 %.

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

Но все активы разные, с совершенно различными характеристиками ликвидности и комиссионных. В этом смысле разумно соотносить среднюю сделку именно со средними издержками на нее. Сформулируем данную мысль максимально просто.

Критерий 5. Увеличьте издержки на сделку в 1,5–2 раза от ваших расчетных значений и проверьте, осталась ли система работоспособной.

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

Критерий 5 также особенно важен, если на тесте совершается не очень много сделок. Если же речь идет об HFT-алгоритме, то упомянутый критерий 5 вообще не применим, поскольку он убьет любой результативный алгоритм. Тестирование высокочастотных алгоритмов требует изначально очень точной оценки издержек.

Кроме того, важно понимать, что на акциях и фьючерсах издержки могут сильно отличаться, поэтому одна и та же торговая система, чувствительная к издержкам, способна давать различные результаты на различных рынках.

Проблема 2

Теперь, когда мы определили, что системе можно доверять, давайте сформулируем критерии выбора систем. Наша задача – выбрать ту, которая зарабатывает больше денег при меньшем относительном риске. Две системы могут давать одинаковые кривые, но одна не тянет больше 10 контрактов, а другая позволяет торговать 100. Отчасти это связано с четвертым критерием, поскольку увеличение объема торговли, по сути, влияет только на издержки. Если система сохраняет устойчивость при увеличении проскальзываний либо если растущий объем каким-то чудом не создает проскальзываний, то такая система более предпочтительна при прочих равных условиях.

Критерий 6. Чем больший объем способна торговать система, тем выше прибыль, которую она может заработать.

Двигаемся дальше. При решении проблемы 1 мы грубо оценивали результат системы: если кривая депозита при тестах идет вверх – значит, система положительная, если вниз, то такая система не работает. Как выбрать из двух систем, в случае:

Первая система: доходность +70 %, яма 30 %;

Вторая система: доходность +40 %, яма 15 %.

Очевидно, что необходимо соотнести доходность с риском. Самый распространенный критерий для такой оценки – это профит-фактор.

Профит-фактором называется сумма всех положительных сделок, поделенная на сумму всех отрицательных сделок. Записывается данная формула так:

PF = S(Pi) / S(Li),

где S(Pi) – сумма прибыльных сделок, S(Li) – сумма убыточных сделок.

Вернемся к нашей системе с вероятностью прибыльной сделки 60 % и тейк-профитом, равным стоп-лоссу: 1. Совершим 1000 сделок. Получим, что сумма прибыльных сделок будет около 600, а убыточных – примерно 400. Поскольку прибыль и убыток одинаковые в каждой сделке, профит-фактор такой системы составит 600/400= = 1,5. Считается, что хорошие устойчивые системы должны иметь профит-фактор больше 1,5. Но не стоит попадаться на совет: никогда не используйте систему с профит-фактором меньше 1,5. Профит-фактор совсем не совершенен.

Выводы

1. Из приведенного выше примера следует, что профит-фактор напрямую зависит от матожидания системы. Выше мы уже говорили, что для высокочастотной торговли статистическое преимущество может быть минимальным, но за счет большого количества сделок система будет иметь очень гладкую растущую кривую капитала во времени.

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

3. Отсюда следует, что профит-фактор всегда выше у системы, которая протестирована на небольшом числе сделок, не использует стоп-лоссов и пересиживает просадки. Таким образом, мы заключаем: профит-фактор адекватно применять для сравнения двух систем только лишь в случае, когда они совершают большое количество сделок на тестах (то есть проходят через критерий 1).

4. Если первый год система зарабатывала очень хорошо, а затем пять лет топталась на месте, то она все равно может показать хороший профит-фактор (например, 4). Чтобы избежать подобной ошибки, нам следует применить критерий 2 к обеим системам (кривая теста должна быть равномерна положительная на равных участниках времени).

Вернемся снова к нашим двум системам:

Первая система: доходность +70 %, яма 30 %.

Вторая система: доходность +40 %, яма 15 %.

Мы только что сравнивали системы через абсолютные суммы положительных и отрицательных сделок. Если мы оперируем показателями доходности и «яма» в процентах, то применяется показатель фактор восстановления, который представляет собой простое отношение доходности и риска за определенный период времени (например, за год).

Фактор восстановления первой системы: 70/30=1,33.

Фактор восстановления второй системы: 40/15=2,67.

Практикующие трейдеры говорят, что на бэктесте показатель «доходность/яма» должен быть не менее 8/1, тогда как в реальности он будет 3/1.

После всех оговорок сформулируем новый критерий:

Критерий 7. Две системы, удовлетворяющие критериям 1–5, можно сравнить через профит-фактор или фактор восстановления. Система с более высоким показателем является предпочтительней.

Теперь вроде бы кажется логичным, что вторая система лучше. Если взять двойную позицию за счет кредитного плеча, то мы получим доходность 80 % при той же просадке 30 %, что лучше, чем у первой системы. Но есть еще один интересный практический аспект, который нам необходимо учесть, – это время нахождения системы в яме, время восстановления. С точки зрения психологии система, имеющая меньшее время восстановления, более предпочтительна, поскольку долго сидеть в яме – занятие не из приятных. Длительное пребывание в яме может заставить трейдера усомниться в работоспособности системы и приостановить ее работу до того, как она выйдет на положительную траекторию.

Критерий 8. Две системы, удовлетворяющие критериям 1–5, можно сравнить через время восстановления.

Здесь опять-таки стоит сделать оговорку. Поскольку сама яма на тесте подвержена случайности, то и время восстановления может иметь случайный характер. Поэтому системы следует различать по времени восстановления лишь в том случае, если оно существенно отличается на тестах.

Итак, большая часть пути оценки системы пройдена. Что еще забыли? Две системы могут отличаться сложностью логики. Эмпирический опыт подсказывает, что простые решения оказываются более надежными. Как оценить сложность системы? Например, через число оптимизируемых параметров (об этом мы еще будем говорить далее). И здесь мы подходим к следующему критерию.

Критерий 9. Чем меньше число оптимизируемых параметров, тем более надежен результат теста.

Идем дальше. Изначально мы предполагали, что рассматриваем системы, которые на истории дали положительный результат. Это банально, так что я даже об этом не упоминал. Положительная результативность характеризуется доходностью (например, за год). Я бы и не завел разговор про доходность, если бы не одно но. Например, ваша система может приносить прибыль в размере около 8 % годовых в рублях, при яме 1 %, и успешно пройти через критерии 1–7. Но если эта прибыль по каким-то причинам не может быть увеличена пропорционально увеличению риска, то какой смысл запускать такую систему, если можно просто положить деньги в надежный банк на депозит и иметь сопоставимую доходность? Кроме того, не стоит забывать и про налоги, которые вы заплатите с доходов на бирже.

Запишем еще один критерий.

Критерий 10. Максимальная доходность торговой системы должна быть существенно выше доходности безрисковых вложений.

Больше книг — больше знаний!

Заберите 20% скидку на все книги Литрес с нашим промокодом

ПОЛУЧИТЬ СКИДКУ