Войти
Главная / Технический анализ / Математика торговой стратегии: как торговая идея превращается в алгоритм
Хотите зарабатывать на трейдинге?

Подписывайтесь на наш телеграм-канал для трейдеров — с глубокой аналитикой и рабочими стратегиями

Подписаться

Как собрать свой журнал для тестирования стратегии? Заберите бесплатный гайд

Гайд от нашей команды поможет вам систематизировать торговлю и принимать взвешенные решения

Подтвердите согласие

Математика торговой стратегии: как торговая идея превращается в алгоритм

Математика в торговой стратегии нужна не для того, чтобы предсказать цену, а для того, чтобы отличить закономерность от совпадения и посчитать, сколько можно поставить. Предсказанием занимается идея; математика ее судит.

Ниже — восемь вопросов, которые нам задают чаще всего, и ответы на примере нашего собственного процесса: корпуса гипотез, платформы Трейд2Гуд и рисковой модели фонда. Числа в примерах — из наших прогонов, а не из учебника.

Какая математика вообще нужна, чтобы создать торговую стратегию

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

ЧтоЗачемГде работает у нас
Матожидание и вероятностьпонять, зарабатывает ли правило в среднемрешаем, можно ли допускать гипотезу дальше
Статистика выборкиотличить закономерность от совпаденияпроверяем число сделок, walk-forward
Арифметика денегпосчитать размер позиции и цену ошибкиучитываем объем, комиссии и просадку
Оптимизация по сеткенайти рабочие настройки, не подогнав их под историюищем устойчивый диапазон, а не один лучший результат

Самое важное — статистика. На истории почти всегда можно найти правило с красивой доходностью. Вопрос в том, сохранится ли результат на других данных.

Чего в списке нет, хотя ждут: стохастического анализа, диффуров, нейросетей. Они могут пригодиться позже. и то не всегда. Первая рабочая стратегия чаще строится на школьной арифметике и взрослой дисциплине. 

С чего мы начинаем создавать стратегию: с идеи на графике или с расчетов

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

Идея без такого критерия не гипотеза, а убеждение — её нельзя проверить, можно только обслуживать. В нашем корпусе сейчас 21 гипотеза, и критерий опровержения есть у всех. Из них 10 подтверждены и 11 отклонены. Это нормальная пропорция, а не признак плохой работы: отклоненная гипотеза стоит часы расчетов, неотклоненная — денег фонда.

Порядок выведен из одного правила: любая проверка, способная отменить результат, делается до работы, результат которой она отменяет. Одиночный прогон стоит минуты, кампания оптимизации — часы. Сначала дешёвые проверки, потом дорогие.

Как превратить идею трейдера в цифры

Каждое описание нужно перевести в число, условие или временной интервал. Если это невозможно, перед нами пока не правило, а впечатление.

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

Есть три типичных перевода:

  1. «Вижу уровень» — ряд чисел. Уровень — это экстремум, найденный в окне из N баров по заданному правилу. Окно и правило выбора — уже два параметра.
  2. «Удобный момент» — событие с меткой времени. Глаз видит всю картинку сразу, алгоритм — только то, что уже случилось к моменту решения.
  3. «Примерно тут» — допуск. У каждого «примерно» обязано быть число: полоса вокруг уровня, допустимое отклонение, минимальный разрыв между точками.

Второй перевод на практике самый дорогой, потому что он задаёт частоту решений, а значит и размер выборки. Наш движок работает на паре таймфреймов: внешний задает, как часто принимается решение, базовый — с каким разрешением видны данные внутри внешнего бара.

Пара D1/M30 за год даёт 250–365 точек анализа, а не 17 520. Отсюда сразу следует, сколько лет истории нужно на статистику, и какие гипотезы вообще проверяемы: идея, требующая решений чаще внешнего бара, не «не подтвердилась», а непроверяема на текущем инструменте. Это разные статусы, и мы их не путаем.

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

Как мы выбираем индикаторы и понимаем, какие из них действительно нужны

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

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

Показательный пример: в 1464 наших конфигурациях используется всего два индикаторных блока — свечи во всех конфигурациях и внешний график только в 10. То есть преимущество стратегии обычно находится не в количестве индикаторов, а в самом правиле чтения цены. 

Понять, нужен ли фильтр, можно тремя способами.

  • Сравнить стратегию с фильтром и без него. Так видно, дает ли он реальную пользу. 
  • Убрать один элемент и сделать отдельный прогон. Это самый прямой способ понять его влияние. 
  • Проверить фильтр на другом периоде. То, что улучшает результат на истории, не обязательно будет работать дальше.

Мы проверили это на практике. Хотели понять, можно ли улучшить уже прибыльную стратегию с помощью фильтров ADX, ATR, RSI или Stochastic. Настройки подбирали на данных 2021–2023 годов, а затем без изменений проверяли на 2024–2026 годах и на четырех инструментах.

Результат: гипотеза не подтвердилась. На новых данных фильтры не дали преимущества.

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

Как торговая идея превращается в математическое правило

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

Слово из идеиВо что превращается
«уровень»экстремум цены в окне из N внешних баров
«пробила»закрытие выше уровня на X единиц цены
«возвращается»цена вошла в полосу «уровень ± допуск»
«отталкивается»не ждём отскока: ставим лимитный ордер и стоп
«если не сработало»срок жизни ордера L и позиции K внешних баров

Но этого все еще недостаточно. Нужно определить еще три вещи: где стоп, где цель и каким объемом входить в сделку.

  • Стоп зависит от волатильности: чем сильнее двигается цена, тем дальше он может быть. 
  • Цель задается относительно стопа: TP = RiskProfit × SL. 
  • Объем позиции рассчитывается уже после этого — исходя из допустимого риска.

Здесь важен принцип: мы задаем не размер позиции, а сколько готовы потерять, если ошибемся. Чем дальше стоп, тем меньше объем позиции — поэтому риск остается примерно одинаковым.

В итоге идея превращается в семь параметров: N, X, допуск, окно стопа, RiskProfit, L и K. После этого можно запускать тест.

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

Как мы считаем, есть ли у стратегии математическое преимущество

Базовая формула одна и всем известна — матожидание одной сделки:

где p — доля прибыльных сделок, W и L — средние прибыль и убыток, C — издержки. Положительное E — необходимое условие. Далеко не достаточное.

Главный вопрос — не получился ли хороший результат случайно. Для этого у нас есть шесть правил, каждое из которых отбраковывает результаты, выглядевшие отлично.

  1. Прибыль без знаменателя не результат. Отбор по максимуму дохода выбирает самый рискованный вариант. Сравниваем доход с просадкой.
  2. Малая выборка не считается. Profit factor 3.0 на двадцати сделках не значит ничего. Порог проверяется до отбора.
  3. Плато вместо пика. Берем центр области, где соседние значения параметров дают близкий результат. Одиночный яркий максимум почти всегда шум.
  4. Оптимум на границе означает, что сетка мала. Результат не принимается, диапазон расширяется.
  5. Кросс-инструментальная проверка. Набор параметров, держащийся на нескольких инструментах, гораздо реже оказывается подгонкой.
  6. Walk-forward. Подбор на одном окне, проверка на следующем без правки параметров. Смотрим не только на сумму, но и на долю прибыльных окон.

И отдельно — издержки, потому что сравнение без них всегда выигрывает тот, кто чаще торгует. Тейкерская комиссия на бессрочных фьючерсах — 0,05 % на Binance и 0,055 % на Bybit по базовому тарифу, и платится она на обеих сторонах. Значит каждая сделка начинается с минуса примерно в 0,1 % номинала. Эдж, который этого не переживает, не существует.

Вот как это выглядит на живых числах. Восемь конфигураций, которые мы прогоняли перед выводом в бой, на окне 2021–2026:

ИнструментСделокProfit factorПросадка, %Доходность, %
ADAUSDT801,807,9149,1
SOLUSDT1111,3020,1829,2
XRPUSDT891,4013,5727,3
BTCUSDT352,0612,0228,6
ADAUSDT202,573,6022,0
BNBUSDT152,424,0414,2
BNBUSDT145,563,0341,0
ADAUSDT230,848,08−3,0

Первый вывод из таблицы: красивый Profit Factor сам по себе ничего не доказывает. Лучший PF в таблице — 5,56, но он получен всего на 14 сделках. По нашей рисковой модели для пула низкого риска нужно минимум 500 сделок. Поэтому ни одна из восьми конфигураций в этот пул пока не проходит, какой бы привлекательной ни была доходность.

Второй вывод еще показательнее. В исходном реестре одна конфигурация показывала +21,6%, а в нашем прогоне — −3%. При этом число сделок совпало: 23. Это значит, что точки входа, скорее всего, совпали, а вот выходы дали другой результат. Пока мы не поняли причину расхождения, конфигурацию в реальную торговлю не запустили.

В этом и состоит практическая работа с математическим преимуществом: не найти красивую цифру, а понять, можно ли ей доверять.

Может ли стратегия часто проигрывать сделки и все равно зарабатывать? 

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

Если потенциальная цель в три раза больше стопа, точка безубытка по доле выигрышей:

То есть для безубыточности достаточно выигрывать примерно в четверти сделок. То есть стратегия с винрейтом 30% может зарабатывать, а стратегия с винрейтом 70% — терять, если ее убытки намного больше прибылей.

В наших реальных прогонах винрейт обычно находится в диапазоне 21–35%. Это не обязательно проблема — так устроена сама стратегия.

То же видно через Profit Factor:

PF = сумма всех прибылей / сумма всех убытков.

В этой формуле вообще нет числа сделок. Например, можно иметь PF 1,8, выигрывая только каждую третью сделку.

Но у такой модели есть психологическая цена. При винрейте 30% вероятность получить семь убыточных сделок подряд в конкретной точке — около 8%. На длинной дистанции такие серии почти неизбежны. И именно в этот момент люди чаще всего выключают работающую стратегию.

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

Какие математические расчеты мы используем в своих стратегиях?

Здесь у нас простое разделение: как мы считаем риск и отбираем стратегии — открыто. По каким конкретно правилам входим в сделку — нет.

Стоп и цель

Стоп рассчитывается от структуры цены, а не задается одним фиксированным числом. В наших 1464 конфигурациях используются пять способов расчета стопа. При этом два основных алгоритмических метода используются в 1358 конфигурациях, а остальные три — в 106.

Цель всегда рассчитывается относительно стопа:

TP = RiskProfit × SL

Размер позиции

Размер позиции зависит от двух вещей: каким процентом капитала мы готовы рискнуть и насколько далеко находится стоп.

При подборе параметров используем фиксированный объем, чтобы результат не зависел от последовательности сделок.

Фактический риск оцениваем не по среднему значению, а по 95-му перцентилю. То есть смотрим не на типичный случай, а на сценарий хуже обычного.

Издержки

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

Как отбираем стратегии

Ни одна метрика не решает все сама по себе. Поэтому алгоритмы оцениваются по сводному Risk Score от 0 до 100.

КомпонентВес
Profit Factor15 %
Return / DD15 %
Max Drawdown15 %
Стабильность, rolling-метрики15 %
Expectancy10 %
Out-of-sample и live-подтверждение10 %
Устойчивость к смене режима10 %
Качество исполнения5 %
Дисциплина риска5 %

Сумма весов риска и устойчивости больше веса прибыльности — это намеренно. Высокая доходность не компенсирует плохой риск полностью.

Допуск к капиталу

После оценки алгоритм попадает в один из трех пулов:

ПулМакс. просадкаProfit factorСделок
Низкий риск≤ 10 %≥ 1,5≥ 500
Средний риск≤ 30 %≥ 1,6
Высокий риск≤ 55 %≥ 2,0

Риск всего портфеля

На последнем уровне мы смотрим уже не на отдельный алгоритм, а на фонд целиком:

  • просадку от исторического максимума капитала;
  • общий открытый риск — не более 1–2% активов;
  • концентрацию — не более 15% на один инструмент;
  • корреляцию между стратегиями.

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

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

Все остальное можно повторить — и это нормально. Работающий фонд отличается не секретной формулой, а тем, насколько последовательно он проверяет стратегии и соблюдает собственные правила риска.

Хотите разбираться в рынках и зарабатывать на них при любых условиях?

Подписывайтесь на наш Telegram-канал о финансах и Data Science в трейдинге:
– Делаем глубокую аналитику
– Тестируем и разрабатываем торговые стратегии
– Кодим индикаторы и алгоритмы
– Собираем базу знаний для трейдеров

Подписаться
Хотите разбираться в рынках и зарабатывать на них при любых условиях?

Подписывайтесь на наш Telegram-канал о финансах и Data Science в трейдинге:
– Делаем глубокую аналитику
– Тестируем и разрабатываем торговые стратегии
– Кодим индикаторы и алгоритмы
– Собираем базу знаний для трейдеров

Подписаться

Научитесь читать графики всего за 15 минут

Заберите простой мини-гайд для быстрого старта в трейдинге. Идеально для новичков

Подтвердите согласие
5 инсайтов, которые мы получили, создавая инвестиционный фонд
Когда строишь инвестиционный фонд с нуля, учишься не по книжкам, а на практике — на собственных ошибках, гипотезах и победах....
Читать далее
💫 Что нужно трейдеру для успешной торговли: психология, дисциплина, алгоритмы
Трейдеры часто говорят, что умение контролировать эмоции определяет чуть ли не 100% успеха в трейдинге. По факту же это не...
Читать далее
Аналитика ETHUSDT на новую неделю (#48)
ETHUSDT с начала октября движется вниз, впрочем как и его коллеги криптовалюты. Победа за продавцами, мы торгуем вместе с ними. EP...
Читать далее