Найти тему

Почему портфель торговых алгоритмов лучше, чем одиночные стратегии

Оглавление

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

Полезные материалы, которые хорошо бы изучить перед продолжением:

Видео

Перфекционизм в трейдинге — польза или вред?

В алготрейдинге можно пойти одним из двух путей.

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

Высока вероятность, что второй путь окажется прибыльнее. По крайней мере, к такому выводу мы пришли эмпирическим путем, пока пытались доводить свои алгоритмы до относительного совершенства. Совершенства не случилось, поэтому решили забросить перфекционизм и сдвинуться немного в количественную сторону. И здесь надо уточнить:

Отбор стратегий в лайв-трейдинг у нас очень строгий. То есть мы всегда стремимся найти оптимальную середину между количеством и качеством алгоритмов. Снижение перфекционизма не означает, что мы включаем в портфель все подряд. Стремимся к метрике “достаточно хорошо”, а не “идеально”, потому что идеального в природе ничего нет.

В нашем Telegram-канале есть то, чего не публикуем в блоге 🙌

Как отличить хороший алгоритм от плохого?

Один из параметров, на который обращаем внимание при выборе алгоритма — коэффициент восстановления (далее сокращенно КВ).

Есть как минимум две формулы для КВ.

Первая: чистый доход делим на разовую максимальную просадку. Вторая: годовой доход делим на разовую максимальную просадку.

Коротко так:

  1. КВ = Чистый доход в % / Максимальная просадка в %
  2. КВ = Средний годовой доход в % / Максимальная просадка в %

В нашей практике используем вторую формулу, поскольку ее результат не зависит от длины бэктеста. Это может быть и 10 лет или всего год. Поэтому вторая формула выглядит привлекательнее. Подробнее про исторические тестирования — в статье Тестирование торговых стратегий на исторических данных (бэктест) — почему это так важно? или в видео ниже:

Вернемся к коэффициенту восстановления и его примерам.

Стратегия с КВ 1.2.
Стратегия с КВ 1.2.

Чтобы получить КВ = 1.2, мы разделили средний годовой прирост 4.11% на максимальную просадку 3.43%.

С одной стороны, чисто в денежном выражении, стратегия слабая: она делает лишь 4.11% в год. Однако, если судить по КВ, у нас кое-что интересное. Например, можно дать больше капитала под риск в каждой сделке и увеличить кредитное плечо. Так что увеличение капитала под риском (фракции) до, например, 3% может пропорционально увеличить средний годовой доход.

Напомним, что выбор оптимального риска и кредитного плеча — это целая наука. Нельзя просто так выбрать 1%, 5% или 3% риска на сделку, не понимая статистическую модель. Подробнее о том, как мы подбираем риски — в статьях:

Или можно посмотреть видео ниже по каждой теме:

Ок, рассмотрим еще несколько примеров с КВ.

КВ = 0.55.
КВ = 0.55.

У этой стратегии относительно низкий КВ — всего 0.55. Это значит, что после просадки в 7.18% кривая капитала развернулась вверх и выдала средний годовой прирост в размере 0.55 этой же просадки.

Еще пример.

КВ = 2.37.
КВ = 2.37.

Эта стратегия выглядит очень солидно. Наверное, то, что искали. Однако, если поиграть с фракцией, то все равно мы многое недополучаем. Предположим, мы увеличиваем фракцию до 3% от капитала. Так историческая средняя годовая доходность вырастает примерно до 30%, но и просадка превышает 10%! Найти баланс в этом деле — задача для каждого трейдера или инвестора: что главнее — сохранить капитал (контролировать просадку) или больше рисковать, чтобы больше получить.

За 1 час поможем разобраться с факторами успеха и причинами неудач на финансовых рынках. Бесплатно 🔥

Мыслим шире: добавляем в портфель много-много посредственных стратегий

Есть другой способ контролировать просадку и повышать потенциал своего портфеля. Этот метод известен уже давно — диверсификация. Работает так — добавляем в портфель больше алгоритмов и получаем вот что:

  1. Кривая капитала становится более стабильной. Алгоритмы поддерживают и страхуют друг друга от длительных периодов нулевых профитов или просадки.
  2. Настраивая фракцию, мы можем контролировать просадку.
  3. Чем больше роботов добавлять в портфель, тем выше ожидаемая (историческая) годовая доходность.

Давайте в этом убедимся на примерах.

Условия эксперимента:

  1. Дано 43 торговых алгоритма, как из примеров выше, протестированы на 5-ти годах истории, все на валютных парах. Этого достаточно, чтобы приступить к их замешиванию в портфеле.
  2. Мы сделаем несколько «миксов» (замесов) торговых алгоритмов в зависимости от их коэффициента восстановления.
  3. Просадку всегда держим на уровне 15% и далее смотрим, что происходит с годовой доходностью.
  4. Наблюдаем, сколько роботов попадает в каждый микс и как их число коррелирует с годовой доходностью.

Шаг 1. Посмотрим, сколько роботов пройдет в микс, если задать минимальный КВ на уровне 1.5.

Минимальный КВ = 1.5, алгоритмов прошло отбор = 6.
Минимальный КВ = 1.5, алгоритмов прошло отбор = 6.

Выглядит отлично. Шесть алгоритмов из 43 прошли отбор. Если контролировать максимальную просадку (держим на 15%) и подкручивать фракцию до 0.68%, то получаем историческую доходность 72%.

Шаг 2. Снижаем требование к КВ до 1.25.

Минимальный КВ = 1.25. Роботов прошло отбор = 10.
Минимальный КВ = 1.25. Роботов прошло отбор = 10.

Уже 10 роботов прошло планку, также улучшился годовой доход — до 79%.

Шаг 3. Продолжаем снижать КВ — до 1.00. Получаем результат:

Минимальный КВ = 1.00. Роботов прошло отбор = 17.
Минимальный КВ = 1.00. Роботов прошло отбор = 17.

Количество прошедших роботов резко возросло и, что важно, средний годовой доход увеличился до 175%. Надо сказать, что на этом этапе не будем обольщаться цифрами, нас, в первую очередь, интересует динамика: что происходит, когда мы снижаем пороговый КВ.

Шаг 4. Теперь снизим порог до 0.75, ожидаем больше роботов в портфеле.

КВ снижен до 0.75. Количество роботов, прошедших отбор, — 35.
КВ снижен до 0.75. Количество роботов, прошедших отбор, — 35.

Мы впустили больше роботов в систему и увеличили средний годовой прирост до 333%.

Шаг 5, последний. Снижаем КВ до минимальных 0.5.

Самый низкий КВ = 0.5. Все 43 робота уже в портфеле.
Самый низкий КВ = 0.5. Все 43 робота уже в портфеле.

По мере добавления роботов в портфель мы видим, как возрастает средний годовой доход. В последнем случае кривая капитала (логарифмическая шкала) смотрится более гладкой, чем на первом шаге: когда роботов много, они компенсируют потери друг друга. Диверсификация во плоти.

Подытожим наши шаги на диаграмме.

Как меняется доходность по мере добавления роботов.
Как меняется доходность по мере добавления роботов.

Заключение

У данного исследования есть полезный вывод, но есть и ограничения. В нем мы использовали бэктесты 4-х торговых логик на 28-ми валютных парах на 5-ти годах исторических котировок. Это бэктест, и он не может гарантировать таких же блестящих результатов в будущем. Но этот эксперимент дает очень ценный урок:

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

Как создавать торговые стратегии на основе статистики и данных, способных работать 24/5 — подскажет курс "Системный трейдинг" 📈📊