Если вы вдруг обнаружили, что долго мучаетесь с одним алгоритмом и не можете довести его до совершенства, то оставьте его в покое и займитесь новыми. Попытки превратить парочку любимых алгоритмов в конфетку — не самый рациональный путь. Почему так — рассказываем в статье.
Полезные материалы, которые хорошо бы изучить перед продолжением:
Видео
Перфекционизм в трейдинге — польза или вред?
В алготрейдинге можно пойти одним из двух путей.
Путь первый: затратить уйму времени и интеллектуальных ресурсов на разработку алгоритма супер-звезды, который принесет одну большую элегантную победу.
Второй путь: задвинуть свой перфекционизм подальше и каждый день пачками штамповать новые алгоритмы.
Высока вероятность, что второй путь окажется прибыльнее. По крайней мере, к такому выводу мы пришли эмпирическим путем, пока пытались доводить свои алгоритмы до относительного совершенства. Совершенства не случилось, поэтому решили забросить перфекционизм и сдвинуться немного в количественную сторону. И здесь надо уточнить:
Отбор стратегий в лайв-трейдинг у нас очень строгий. То есть мы всегда стремимся найти оптимальную середину между количеством и качеством алгоритмов. Снижение перфекционизма не означает, что мы включаем в портфель все подряд. Стремимся к метрике “достаточно хорошо”, а не “идеально”, потому что идеального в природе ничего нет.
В нашем Telegram-канале есть то, чего не публикуем в блоге 🙌
Как отличить хороший алгоритм от плохого?
Один из параметров, на который обращаем внимание при выборе алгоритма — коэффициент восстановления (далее сокращенно КВ).
Есть как минимум две формулы для КВ.
Первая: чистый доход делим на разовую максимальную просадку. Вторая: годовой доход делим на разовую максимальную просадку.
Коротко так:
- КВ = Чистый доход в % / Максимальная просадка в %
- КВ = Средний годовой доход в % / Максимальная просадка в %
В нашей практике используем вторую формулу, поскольку ее результат не зависит от длины бэктеста. Это может быть и 10 лет или всего год. Поэтому вторая формула выглядит привлекательнее. Подробнее про исторические тестирования — в статье Тестирование торговых стратегий на исторических данных (бэктест) — почему это так важно? или в видео ниже:
Вернемся к коэффициенту восстановления и его примерам.
Чтобы получить КВ = 1.2, мы разделили средний годовой прирост 4.11% на максимальную просадку 3.43%.
С одной стороны, чисто в денежном выражении, стратегия слабая: она делает лишь 4.11% в год. Однако, если судить по КВ, у нас кое-что интересное. Например, можно дать больше капитала под риск в каждой сделке и увеличить кредитное плечо. Так что увеличение капитала под риском (фракции) до, например, 3% может пропорционально увеличить средний годовой доход.
Напомним, что выбор оптимального риска и кредитного плеча — это целая наука. Нельзя просто так выбрать 1%, 5% или 3% риска на сделку, не понимая статистическую модель. Подробнее о том, как мы подбираем риски — в статьях:
Или можно посмотреть видео ниже по каждой теме:
Ок, рассмотрим еще несколько примеров с КВ.
У этой стратегии относительно низкий КВ — всего 0.55. Это значит, что после просадки в 7.18% кривая капитала развернулась вверх и выдала средний годовой прирост в размере 0.55 этой же просадки.
Еще пример.
Эта стратегия выглядит очень солидно. Наверное, то, что искали. Однако, если поиграть с фракцией, то все равно мы многое недополучаем. Предположим, мы увеличиваем фракцию до 3% от капитала. Так историческая средняя годовая доходность вырастает примерно до 30%, но и просадка превышает 10%! Найти баланс в этом деле — задача для каждого трейдера или инвестора: что главнее — сохранить капитал (контролировать просадку) или больше рисковать, чтобы больше получить.
За 1 час поможем разобраться с факторами успеха и причинами неудач на финансовых рынках. Бесплатно 🔥
Мыслим шире: добавляем в портфель много-много посредственных стратегий
Есть другой способ контролировать просадку и повышать потенциал своего портфеля. Этот метод известен уже давно — диверсификация. Работает так — добавляем в портфель больше алгоритмов и получаем вот что:
- Кривая капитала становится более стабильной. Алгоритмы поддерживают и страхуют друг друга от длительных периодов нулевых профитов или просадки.
- Настраивая фракцию, мы можем контролировать просадку.
- Чем больше роботов добавлять в портфель, тем выше ожидаемая (историческая) годовая доходность.
Давайте в этом убедимся на примерах.
Условия эксперимента:
- Дано 43 торговых алгоритма, как из примеров выше, протестированы на 5-ти годах истории, все на валютных парах. Этого достаточно, чтобы приступить к их замешиванию в портфеле.
- Мы сделаем несколько «миксов» (замесов) торговых алгоритмов в зависимости от их коэффициента восстановления.
- Просадку всегда держим на уровне 15% и далее смотрим, что происходит с годовой доходностью.
- Наблюдаем, сколько роботов попадает в каждый микс и как их число коррелирует с годовой доходностью.
Шаг 1. Посмотрим, сколько роботов пройдет в микс, если задать минимальный КВ на уровне 1.5.
Выглядит отлично. Шесть алгоритмов из 43 прошли отбор. Если контролировать максимальную просадку (держим на 15%) и подкручивать фракцию до 0.68%, то получаем историческую доходность 72%.
Шаг 2. Снижаем требование к КВ до 1.25.
Уже 10 роботов прошло планку, также улучшился годовой доход — до 79%.
Шаг 3. Продолжаем снижать КВ — до 1.00. Получаем результат:
Количество прошедших роботов резко возросло и, что важно, средний годовой доход увеличился до 175%. Надо сказать, что на этом этапе не будем обольщаться цифрами, нас, в первую очередь, интересует динамика: что происходит, когда мы снижаем пороговый КВ.
Шаг 4. Теперь снизим порог до 0.75, ожидаем больше роботов в портфеле.
Мы впустили больше роботов в систему и увеличили средний годовой прирост до 333%.
Шаг 5, последний. Снижаем КВ до минимальных 0.5.
По мере добавления роботов в портфель мы видим, как возрастает средний годовой доход. В последнем случае кривая капитала (логарифмическая шкала) смотрится более гладкой, чем на первом шаге: когда роботов много, они компенсируют потери друг друга. Диверсификация во плоти.
Подытожим наши шаги на диаграмме.
Заключение
У данного исследования есть полезный вывод, но есть и ограничения. В нем мы использовали бэктесты 4-х торговых логик на 28-ми валютных парах на 5-ти годах исторических котировок. Это бэктест, и он не может гарантировать таких же блестящих результатов в будущем. Но этот эксперимент дает очень ценный урок:
Нельзя циклиться на доводке одного супер-алгоритма. Мы можем получить больше, если добавим в наш портфель больше роботов.