Если Вы создаете механические торговые системы, наверняка задумывались о том, как сравнивать одну торговую систему с другой. Или же (хотя это и является по сути одним и тем-же) – как объективно оценить какой набор параметров механической торговой системы является оптимальным.
Несмотря на то, что задача вроде бы является довольно простой – как и всегда возникает куча нюансов – не зря же говорят, что черт кроется в деталях.
У одной системы прекрасный RecoveryFactor – но очень маленький размер средней сделки… Вроде бы это и хорошо и не очень.
Другая система имеет хороший RecoveryFactor, приемлемую среднюю сделку, но результаты неравномерно распределены по периодам тестирования и SharpRatio явно не дотягивает до желаемых показателей…
У третьей системы вроде бы тоже все хорошо, но соотношение между среднегодовой прибылью и максимальной просадкой очень уж маленькое…
Самое обидное здесь то, что как только мы начинаем использовать известный показатель для оптимизации – тут же появляется куча проблем.
Если пытаемся найти максимальную NetProfit – появляются параметры, которые предполагают одну или две сделки (к примеру, купить Сбербанк в начале 2009 года и продать его когда цена достигла 100 рублей за акцию).
Начинаем минимизировать DrawDawn – могут подобраться параметры, которые предполагают вообще отсутствие сделок…
В общем, на первый план выходит выработка некого универсального показателя, который позволит измерять результаты любой торговой системы путем сравнения с неким эталоном.
Исторически так сложилось, что очень хорошую торговую систему трейдеры называют «Грааль». Соответственно инструмент использующийся для сравнения исследуемой торговой системы с идеальной системой (либо с системой, которая считается нами приемлемой) будет называться ГраалеМетр.
Давайте попробуем создать такой инструмент. Но прежде разберемся что такое измерение. Измерением называется процесс сравнения одной, пока ещё неизвестной величины с другой, известной величиной. Известная величина играет здесь роль единицы измерения.
Что будет единицей измерения в нашем случае?
На мой взгляд такой единицей может быть синтетический показатель (суперметрика) – который для каждого трейдера будет своим.
Если брать меня – то я буду считать хорошей торговую систему, которая обладает следующими характеристиками:
RecoveryFactor – должен быть не менее 7. Если больше 7-ми – это отлично…
Средний размер сделки – должен быть положительным и быть не менее (с учетом комиссии и проскальзывания) чем 0,12%.
Коэффициент Шарпа – посчитанный по месячным и по дневным данным должен быть на уровне 2х (лучше даже больше)
Среднее количество сделок в год должно быть не менее чем 50 штук
Ну и соотношение между годовым доходом и максимальной просадкой за все время должно быть не менее 3х.
Теперь нам с Вами нужно сваять некий интегральный показатель (суперметрику), который оценит на сколько процентов наша реальная торговая система лучше или хуже эталонной…
При этом нужно учитывать, что некоторые составные показатели будут значительно превышать свое эталонное значение, но это не должно сказываться на интегральном показателе.
К примеру, если мы говорим что средняя сделка не должна быть менее чем 0,12% — то если по факту размер средней сделки составляет 1,2% — влияние этого превышения эталонного значения на общий результат должно быть ограничено.
Точно также мы должны ограничить показатель количества сделок и некоторые другие…
У меня подход к такому ограничению следующий…
Ну и осталось всего лишь определить сводный показатель (GraaleMetr).
Здесь возможны разные подходы. Я остановился на среднегеометрическом между соотношениями реальных и эталонных показателей (с учетом ограничений). Чтобы перевести в % нужно всего лишь умножить на 100.
Таким образом найденный показатель будет показывать во сколько % от эталонной торговой системы можно оценить исследуемую торговую систему. Если показатель равняется 120% — значит наша система на 20% лучше эталонной.
Если показатель 91% — значит мы 9% не дотянули до эталона.
Таким образом мы нашли показатель, который измеряет качество нашей торговой системы основываясь на научном подходе, ведь и
змерить какую-либо величину — значит установить, сколько единиц в ней содержится, или, другими словами, во сколько раз она больше, чем единица измерения.
Ну и теперь – как можно использовать наш показатель GraaleMetr:
Самое приятное, что мне удалось создать специальную карту (так называемую ScoreCard – в Wealth-Lab). Благодаря этому теперь используя генетический оптимизатор либо оптимизатор MonteCarlo могу подбирать такие параметры, которые наилучшим способом совпадают с моим представлением о хорошей торговой системе.
Ну и кроме того, теперь можно объективно сравнивать разные торговые системы между собой. Что особенно приятно – показетель GraaleMetr не зависит ни от таймфрейма ни от финансового инструмента, который используется.
Идея показателя эффективности торговой системы «ГраалеМетр» достаточно подробно расписана в этой статье. Если есть желание подробно разобраться — как расчитывать все показатели, включая Sharp (даже для режима RowProfitMode), RecoveryFactor, Apr и прочие — которые являются составными частями ГраалеМетра —
приглашаю посетить мастер-класс, который состоится 19 сентября в 20-00 по Москве. Там сделаем ScoreCard, Visualizer — подробно рассмотрим эту концепцию используя Excel.
Надеюсь, информация в этой статье оказалась для Вас полезной. Было бы интересно узнать чему равен показатель ГраалеМетр Ваших торговых систем. Можете написать об этом в комментах.
Например, А. Резвяков на кусах, слушателем которых я был, демонстрировал увеличение счёта с 1 миллиона до 4 за полгода.
Чем не эталон?
Для себя решил, что пятикратное увеличение счёта (до 3 000 000) за год — это и есть эталон. Человека такого я видел, а значит это возможно.
— соотношение между годовым доходом и максимальной просадкой за все время должно быть не менее 3х.
— Так это и есть Recovery Factor. Или вы подразумеваете, что RF не менее 7 — это за весь период тестирования?
Если так, то важна еще продолжительность этого периода. Само собой что при тесте за 4 года и 10 лет он будет сильно разный.
Опимизируем Модифицированный Рекавери фактор, который равен
MRF = Прибыль/(Просадка^2)
Т.е. используем тот же рекавери, только придаем просадке больший вес.
Вот у меня вопрос: смогу ли я выдержать возможную потерю 40% счёта при доходности в 200% за 3 месяца, или ограничится 20%, при доходности 100%? Логика за первый вариант, но психологически не готов.
Когда попадется действительно стоящая система, ничего сравнивать вообще не надо будет, она сама за себя все скажет. Не так уж много рабочих систем, вернее даже единицы. :)