Алгоритмический трейдинг. Оценка торговой системы

Оценка результативности торговой системы

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

Какой софт используется

Все бэктесты мы проводим на платформе JForex от Dukascopy банка. Алгоритмы разрабатывались в визуальном конструкторе Visual JForex. Результаты тестов оценивались с помощью Microsoft Excel. Попутно как вспомогательный софт использовался Total Commander для быстрой переработки отчетов в нужный формат.

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

Показатели результативности торговой системы

Результативность любого исторического теста можно оценить более чем по 40 параметрам. Рассмотрим несколько ключевых из них, которые помогут получить наиболее полную картину. Для примера возьмем один (случайно выбранный) исторический тест на часовом графике EUR/USD длительностью чуть более года.

После окончания теста платформа генерирует отчет в формате html.

Результат системы по EUR
Отчет в сыром виде. Требует тщательной обработки напильником

Отчет содержит все необходимое о бэктесте, информация по каждой сделке предоставлена подробно. Однако, его надо существенно “допилить”.

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

Обработка параметров в Excel
Результативность ТС на бэктесте. Общий вид

Окно тестирования и количество закрытых позиций

Окно тестирования – это исторический период, на котором проводился тест.

На сегодняшний день есть универсальное мнение, что величина окна тестирования должна зависеть от “скорострельности” торговой системы и ее рабочего таймфрейма.

Например, если система разработана для дневных графиков и совершает в год 20 сделок, то тест необходимо проводить более чем на 5-ти годах исторических котировокВнутридневные “высокоскорострельные” торговые системы редко тестируют более чем на 3-6 месяцах истории.

Авторитет в области оптимизаций торговых систем Роберт Пардо (Robert Pardo) приводит цифру 35 как минимальное количество сделок для оценки способностей вашей ТС, т.к. на таком количестве сделок начинают себя проявлять статистические закономерности вашей системы.
Временное окно и количество позиций
Окно тестирования и количество позиций

Будем считать, что 252 сделки в год для этой ТС достаточно, чтобы обнаружить ее главные свойства.

Общий доход, общий убыток. Профит-фактор

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

Важные параметры ТС
Общий доход, убыток. Профит-фактор

Отношение общего дохода к общему убытку (без знака минус) дает профит-фактор.

Если ваша система имеет профит-фактор выше 1, она способна зарабатывать. В нашем случае это 1.37, что очень неплохо.

Казалось бы, тут и остановиться, но нет: одного только профит-фактора “>1” недостаточно. Нужно знать, что происходит внутри. Быть может, только 1 сделка определила всю доходность, а большинство времени система была в просадке.

Просадка – максимальная, средняя, в процентах, днях

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

Просадка (англ. drawdown) – убыток, полученный за время от достижения исторического пика кривой доходности до исторического минимума кривой доходности. Графически это выглядит так:

Пример различных просадок
Просадка – от максимума до минимума кривой доходности

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

Уровень просадки
Просадка, в процентах и днях

У нас система допустила максимальную просадку 21.2%. Также 165 календарных дней потребовалось, чтобы обновить один из исторических максимумов кривой доходности. Эти две просадки – максимальная в процентах и в днях – необязательно должны совпадать.

Также можно вычислить среднюю просадку. В нашем случае это 1.4% и 24 календарных дня.

Необходимо уточнить, что при каждой сделке в случае срабатывания стоп-лосса теряется 1% капитала.

Средний годовой доход

После просадки можно перейти к годовому доходу. В нашем случае это шикарные 53.6%. В среде управляющих отличным результатом считается 30%.

Годовая доходность
Средний годовой доход на историческом тесте

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

Коэффициент восстановления

Еще один полезный показатель – это коэффициент восстановления (англ. recovery factor). Он выражает отношение между средней годовой доходностью и максимальной просадкой.

Показатель коэффициента восстановления
Коэффициент восстановления

Если коэффициент восстановления равен 1, то это означает, что система после просадки, например, в 15% смогла ее перекрыть и дать сверху 15% дохода.

Итак, какой ценой дается такой высокий процент годового дохода и коэффициент восстановления? Получим больше информации о сделках.

Сделки – величина, время

Оценить результативность ТС можно только в комплексе. Одного профит-фактора или средней годовой доходности недостаточно. Нужно смотреть сделки.

Количество прибыльных, убыточных сделок

Прибыльные и убыточные сделки ТС
Прибыльные и убыточные сделки. Количество, процент

Известно, что система совершила 252 сделки. Из них только 91 прибыльная – или 36.1%.

Психологически довольно сложно работать с такой системой. Особенно трудно свыкнуться с этим начинающим трейдерам. Таким образом, системный трейдинг, как выразился один алготрейдер, – это “акт насилия трейдера над собой”.

Максимальная прибыльная и убыточная сделки

Приведенная ТС ставит ограничения как на стоп-лосс, так и на тейк-профит. Поэтому максимальная прибыль и убыток почти не превышают заданной нормы (исключение – проскальзывания).

Прибыль и убыток в пунктах
Максимальная прибыль и убыток – в пунктах

Мы предпочитаем выражать максимум в пунктах, поскольку по мере изменения капитала меняются и максимальные прибыли/убытки. Еще один вариант – выражать их в процентах от капитала.

Средняя сделка, средняя прибыльная и средняя убыточная

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

Значение средней сделки
Средние сделки

Если средняя сделка выше нуля (в нашем случае 5.35 пп), система имеет право перейти на следующий этап отбора. При этом нужно помнить о комиссиях и прочих расходах на сделки.

“Хорошим тоном” также считается, когда средняя прибыльная сделка больше средней убыточной.

Соотношение средней прибыльной и убыточной

В нашем примере одна средняя положительная сделка перекрывает 2.42 средние отрицательные, что очень неплохо.

Коэффициент средней прибыльной к средней убыточной
Средняя прибыльная сделка делить на среднюю убыточную

Однако этого может оказаться недостаточно, если количество убыточных зашкаливает.

Положительные и отрицательные серии сделок – максимальные и средние

Не менее интересным штрихом к картине ТС являются серии сделок.

Серии положительных и отрицательных сделок
Положительные и отрицательные серии сделок

Обращает на себя внимание серия из 14-ти отрицательных сделок. С нее начинается самая крупная просадка в этом тесте. Выход из просадки начался с еще одной самой крупной серии – 7 положительных сделок подряд.

Пример 14 отрицательных сделок подряд
Самая крупная отрицательная серия

Как видно, система редко дает 2 прибыльные сделки подряд – в среднем. Средняя отрицательная серия состоит из 3-х сделок.

Среднее, максимальное и минимальное время сделки

Время удержания позиций
Время сделки: среднее, минимальное, максимальное

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

Среднее время положительной и отрицательной сделки

Параметры положительных и отрицательных сделок
Среднее время прибыльных и убыточных сделок

Очень интересная статистика, которая подтверждает истину всех времен:

Прибыльной сделке нужно дать больше времени.

Количество Long, Short сделок, % положительных

По этой статистике смотрят, есть ли у системы т.н. market bias (т.е. склонность зарабатывать только на определенной стороне рынка). Если соотношение длинных и коротких сделок стремится к 50%, такая ТС считается сбалансированной.

Длинные и короткие позиции
Соотношение длинных и коротких позиций

В приведенном примере 49.6% лонгов, что свидетельствует о сбалансированности. Однако дальше видим, что положительных лонгов 40.8%, а шортов – лишь 31.5%.

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

Значит ли это, что короткие сделки нужно исключить из алгоритма? Нет, поскольку в чистом итоге они принесли прибыль.

Кривая доходности

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

Логарифмическая шкала ТС
Кривая доходности. Логарифмическая шкала

Год и месяц теста произвели положительный результат.

Обычная шкала
Кривая доходности. Обычная шкала

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

Ниже пример 15-летнего теста. Логарифмическая шкала хорошо показывает начало (малые числа) и не так размашиста в конце (крупные числа).

Сравнение логарифмической шкалы с обычной
Верх – логарифмическая шкала
Низ – обычная

На обычной шкале положительная кривая доходности идет вверх как бы по параболе. На логарифмической – по прямой линии.

Вернемся к примеру: полученная кривая, несмотря на высокий годовой доход и хороший коэффициент просадки, не внушает 100% доверия, поскольку видно:

  • Более чем полгода кривая доходности находилась во флэте.
  • Основная прибыль была получена за 2 месяца.

Здесь включаются личные предпочтения трейдеров и инвесторов, можно ли работать с ТС с данными настройками. Поскольку человек привык видеть линейный рост своих доходов, большинство трейдеров может отказаться от этой ТС. Но есть и те, кто хорошо понимает, как трудно добиться прибыльности, распределенной во времени линейно.

Таково устройство рынков: долгие промежутки спокойствия, сменяемые промежутками взрывной волатильности. Это демонстрируют как графики финансовых инструментов, так и графики кривых доходностей.

R-квадрат

Напоследок критерий “красоты” кривой доходности, или ее плавности. Это R-квадрат, или коэффициент детерминации. С его помощью можно отфильтровать неугодные настройки ТС, оставив себе только те, где коэффициент “красоты” стремится к 1.

Приведем несколько примеров. R-квадрат прямо на графиках.

Кривая доходности ТС
Кривая доходности из рассматриваемого примера

Систему с коэффициент около 0.7 вполне можно допустить в дальнейшую разработку.

Коэффициент R квадрат = 0.7

Коэффициент R квадрат

Коэффициент R квадрат
Доход есть, но плавность кривой не удовлетворяет требованиям
ТС с хорошим R квадратом
Высокий R-квадрат

Последняя кривая доходности – хороший кандидат для запуска в live-режиме.

Все приведенные кривые – одна и та же система с немного отличающимися настройками.

Заключение

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

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

Scroll Up