Всем, Добрый день! На связи Андрей Счастливый.

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

Какая моя цель? Продолжать заниматься любимым делом, а конкретно данной статьёй я хочу показать, что возможно то, что многие считают невозможным. Ну что, перейдём к делу и расскажу о своих наработках.

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

Далее я расскажу об обновлении главного алгоритма просчёта вариаций значений параметров. В предыдущей версии пакета просчёт шёл по сетки всех комбинаций подряд со скоростью 150 тыс. комбинаций в секунду. Скорость не плохая, но всё равно это медленно для серьёзных просчетов.

Что есть серьезный просчёт? Это когда за 1 заход, или как в моём случае ступенчато просчитываются значения для всех параметров и у каждого параметра изначально полный конечный диапазон значений. В моём случае у стратегии на данный момент 18 параметров, для которых подбираются оптимальные значения. У каждого параметра в диапазоне подбора количество значений может достигать 200. Я начинаю просчёты и общее количество вариаций значений параметров примерно 12,813,947,171,743,706,456,833,769,014,260 или 1.28 × 10³¹. Даже при скорости просчёта 150 тыс. вариаций в секунду просчёт всего данного поля вариаций занял бы 988,730,491,646,891,130,880 дней или 2,706,996,554,816,950,272 лет.

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

В итоге сейчас алгоритм действует так:

  • на GPU просчёт 1 поколения комбинаций;

  • алгоритм оценивает комбинации значений параметров и итоговые метрики стратегий и понимая сдвиг значений в какие области значений даёт улучшение метрики - предлагает следующие комбинации значений. Для не застревания алгоритма в одной области есть управляемый коэффициент случайности комбинаций;

  • на GPU просчёт следующего поколения комбинаций и т.д.

Что это даёт? За 1-2 дня нескольких поэтапных запусков просчётов комбинаций с сужением области поиска удается из всего большого количества вариаций отобрать единицы комбинаций параметров, которые показывают наиболее высокие метрики у стратегий.

Коротко о некоторых особенностях пакета:

  • подбор значений параметров стратегии по принципу: вычисления на GPU + интеллектуальный подбор значений для улучшения метрик стратегии;

  • работа одновременно в long и short направлении, в тренде и флете;

  • алгоритм в том числе анализирует направление и силу импульса на определённом количестве последних баров;

  • сейчас стратегия монолитная, то есть значения параметров задаются 1 раз. В будущем я буду разрабатывать адаптивную версию, которая будет изменять значения параметров в зависимости от метрик изменения цены;

  • при просчете торговля всегда ведётся на объёме в 1 лот, без сложного процента;

  • и т.д.

А сейчас будет самое интересное, особенно для тех, кто считает, что "не возможно", "в одном году растёт, а в другом году плато" и т.д.

Далее приведу данные по двум тикерам, со стратегиями с подобранными с помощью пакета значениями параметров. Период просчёта 16.01.23-08.11.25 или 35 месяцев. Сразу скажу, как обстоят дела с ситуацией, когда стратегия может не справиться: Для каждой стратегии есть допустимый максимальный размер просадки, который показался на истории в просчитываемом периоде. Если возникает ситуация, как в конце февраля 2022 года, то при достижении порога просадки стратегия останавливается и дальше сбор статистики, без реальной торговли.

Тикер BR - всеми любимый фьючерс на нефть

График прибыли
График прибыли

На графике выше 2 шкалы "y", к левой шкале привязано изменение цены (серым цветом) и к правой изменение прибыли. Линия синего цвета - это общая прибыль, зеленая и красная - от long и short сделок. Самое страшное это не большой откат прибыли в районе января 2025 года.

Далее метрики для данной стратегии, для тех, кто в них понимает.

При начальном уровне счёта КНУР и размере депозита в 250 долларов прибыльность на дистанции в 35 месяцев составила 19,79% в месяц. При уровне КСУР и размере депозита в 170 долларов прибыльность 29,11% в месяц. При уровне КПУР и размере депозита в 120 долларов прибыльность 41,24% в месяц. В итоге через 35 месяцев стратегия на счету набирает 1732 доллара.

Остальные метрики: Сделок 441. Профит фактор 2,74, Процент прибыльных сделок 59%. Средняя прибыльная 10,4 и убыточная 5,6 долларов. Макс просадка в январе 2025 года 72 доллара или 6,7%.

Коэффициенты: Шарпа 0,39. Сортино 1,27. Кальмара 36,71. Восстановления 24,09. SQN 8,11.

Тикер NG - фьючерс на газ

График прибыли
График прибыли

Здесь вообще песня, прибыль растет и всё. Далее метрики:

При начальном уровне счёта КНУР и размере депозита в 300 долларов прибыльность на дистанции в 35 месяцев составила 13,84% в месяц. При уровне КСУР и размере депозита в 250 долларов прибыльность 16,61% в месяц. При уровне КПУР и размере депозита в 140 долларов прибыльность 29,65% в месяц. В итоге через 35 месяцев стратегия на счету набирает 1453 доллара.

Остальные метрики: Сделок 599. Профит фактор 2,18, Процент прибыльных сделок 56,9%. Средняя прибыльная 7,9 и убыточная 4,8 долларов. Макс просадка 45 долларов или 4,7%.

Коэффициенты: Шарпа 0,30. Сортино 0,87. Кальмара 43,68. Восстановления 32,35. SQN 7,38.

---

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

P.S. - следующий раз размещу статью с уже рабочей статой со счёта, или не размещу, если статистика будет очень хорошая))).