Поскольку торговых систем у меня много, то мне нужно каким-то образом отбирать из них лучшие. Я, кстати, решил перестать использовать слово «стратегия» и заменить его словом «система». Это более точно, поскольку стратегия — это нечто неформальное, и если это формализовать в жёсткие правила, то получим уже систему. Вопросы терминологии и однозначного понимания понятий важны потому, что большинство конфликтов и искажений в коммуникации происходит из-за недопонимания или иного трактования сложных понятий.
По факту, не сильно много чего можно придумать для того, чтобы отбирать лучшие из систем, да и большая часть придумана за нас. Нужно просто правильно это использовать. И иногда лучший способ забить гвоздь — это вовсе не молоток.
Итак, на что я смотрю:
Метрики использования капитала (эффективность использования торгового времени).
Позволяют мне отбросить системы, которые постоянно сидят в рынке или наоборот, слишком редко осуществляют сделки.
- % дней, в которые совершались сделки, по отношению к общему числу торговых дней
- % времени в рынке — суммарное время в сделках по отношению к общему торговому времени
Метрики эффективности системы
Позволяют мне отбросить системы, где слишком велика доля комиссии в прибыли — такие системы неустойчивы. Показывают, каких вершин достигала или как низко падала Equity за всё время тестов, и отбросить те, где значения не находятся в доверительном интервале. Позволяют кластеризовать стратегии по доходности и сосредоточиться на тех, которые соответствуют норме прибыли. Позволяют оценить гладкость Equity и стабильность системы во времени. Позволяют геометрически оценить интенсивность роста дохода. Позволяют сравнивать профили разных Equity между собой.
- средняя комиссия на единицу прибыли
- максимальная достигнутая прибыль (реализованная и нереализованная)
- абсолютная, максимальная реализованная, относительная реализованная, накопленная реализованная и нереализованная просадка
- доходность в % среднедневная, среднемесячная, среднегодовая
- SMAPE и RQ
- Коэффициенты A и B из МНК
- Avg Square Negative Values — отклонения от усреднённой прямой Equity вниз
Методики использования метрик мне кажутся очевидными, как и их достоинства и недостатки, но могу в комментариях дополнительно разъяснить, если будут конкретные вопросы.
Ещё есть само значение прибыли, но оно не показательно, поскольку абсолютно. Для временных рядов, коим является Equity, меня интересует тренд, тенденция и динамика, и одной абсолютной цифрой его оценить невозможно.
Поэтому, во-первых, из важного, что хочется здесь выделить — это то, что буквально все метрики, которые я использую — имеют относительную природу: это коэффициенты, доли, проценты.
А во-вторых, они должны быть нормированы (приведены) к единой гранулярности. Это буквально значит то, что некорректно сравнивать эти метрики между собой, если они посчитаны на уровне сделок, поскольку число сделок за один и тот же временной период для различных систем, как правило, отличается. Нужно считать на днях или часах, например — то есть, вначале привести разные Equity к одной размерности, а затем сравнивать, иначе получится красное с холодным.
Как оказалось, можно не смотреть на Шарпа или коэффициент восстановления, профит-фактор — это метрики из далёкого прошлого, когда сложно было руками считать и графически отображать доходность и хотелось иметь один, надёжный показатель, цифру, которая сразу всё скажет про торговую систему. Это не работает. Относительные и нормированные показатели куда эффективнее и точнее позволяют сравнивать разные торговые системы между собой, ранжировать их, выбирая лучшие кортежами значений, хотя с точки зрения вычислений — это сложнее, но мы живём в 2023 году, когда ресурсоёмкость вычислений не является нашей главной проблемой.
И об этой технике, что я использую для отбора лучших стратегий, которые отправлю в бой, я расскажу в следующий раз.
В итоге, пришел к такому результату:
ig/DD тоже процент на процент
W L — кол сделки в плюс минус
Внизу Ср.зн. это средняя годовая прибыль отобранных 20 систем без плечей.
Ну т.е. 8*3 плечо это 24% годовых из тупых систем, сгенерированных компом, без участия человека с учетом этого правила отбора.
ТФ тут 15 мин, с дневным и часовым есть различия, но не существенные
T-800, а как вы три критерия в одну формулу сводите?
igDD, ig>xx, W+L>50?
когда-то давно пришёл к выводу что лучший результат достигается при оптимизации NetProfit (при наличии большого количества сделок)
Причем, что это за системы я не разбирался и параметры не оптимизировал. Просто 2 индикатора были из двух таймфреймов в перемешку 15 мин и 1d. Индикаторов было примерно 70, т.е. каждый прогон по каждому тикеру это 4900 случайных систем.
Среднегодовая доходность по этому критерию отбора топ 20 из 4900 по igDD на таких тестах за 10 лет составила 4.6% без плечей.
Но если к этому критерию добавить условие отбора, чтобы кол сделок было более 50 и годовая прибыль на отборе была больше, например 20% (для каждого стикера свое значение), то результат такого отбора возрастает в два раза до 8.89% годовых без плечей.
Что касается кол во сделок, то мои тесты показали, что должно быть не менее 30, лучше 50, при 100 сделках и выше результат не отличается от 50. Тут надо понимать, что системы сравнивались в которых был так же один или два дневных индикатора.
Сам я таким образом из 4900 систем не отбирал для торговли, но эти критерии использую при оптимизации в реальных торговых системах.
Сейчас нужно эти тесты переделать и в методику внести существенные изменения.
Результат по среднегодовой прибыли у меня в колонке 7 со значением 5.74, что выше первого примера с igDD, но ниже второй колонки
Оптимизация по NetProfit совпадёт с отимизацией по среднегодовой прибыли.
Если делить на просадку, то просадка неустойчивая величина, на этапе оптимизации подберутся коэффициенты чтобы максимальная просадка снизилась. Пробовал также делить на максимальную просадку в небольшой степени. В итоге остановился на NetProfit
Да, но на практике я его так не использую как описал выше и как это делает boscomo. потому-что прибыль невысокая (хотя и указана без плечей).
Сейчас я его использую следующим образом:
К базовой стратегии, например, пересечение МА на ТФ 5мин я запускаю перебор стратегий, который к МА добавляет второй индикатор, например RSI, Momentum, время входа, и.т.д. Причем второй индикатор может быть не только на ТФ 5мин, но и на дневках (глобальный тренд). В итоге на автомате получаю 70+70 систем (вместо 4900), которые легко отобрать вручную. И так перетряхиваю раз в полгода.
Предлагаю совместно это протестить