Войти
Главная / Алгоритмическая торговля / Жизненный цикл торгового алгоритма: от гипотезы до продакшена
Хотите зарабатывать на трейдинге?

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

Подписаться

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

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

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

Жизненный цикл торгового алгоритма: от гипотезы до продакшена

Привет, на связи CTO Трейд2Гуд Григорий Соколов. Это первая статья из цикла о построении торговой стратегии как бизнеса. Здесь — весь процесс целиком. В следующих пяти статьях подробнее разберем отдельные этапы.

Почему алгоритмы перестают работать, даже если идея хорошая

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

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

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

Карта цикла

Всего 15 этапов, которые мы делим на четыре блока. После каждого блока проверяем, стоит ли двигаться дальше.

БлокЭтапыГлавный вопрос
Идея1–3Есть ли здесь вообще преимущество и кто за него платит
Доказательство4–7Это закономерность или я подогнал параметры под прошлое
Деньги8–11Переживет ли счет худший сценарий и останется ли прибыль после расходов
Эксплуатация12–15Что делать, когда алгоритм работает, и когда его выключать

Блок 1. Идея

Этап 1. Гипотеза

Наблюдение и гипотеза — разные вещи. «Цена часто отскакивает от этого уровня» — наблюдение. Гипотеза звучит иначе: «участники, набравшие позицию от уровня, защищают его при повторном подходе, потому что для них это точка безубытка».

Разница в том, что гипотеза объясняет механизм и потому проверяема. Наблюдение можно только пересчитать на истории, и оно всегда что-нибудь покажет.

Этап 2. Источник преимущества

Самый пропускаемый этап во всем цикле и самый важный. Рынок — игра с отрицательной суммой после издержек. Если вы зарабатываете, кто-то теряет, и надо уметь сказать кто и почему. Приемлемые ответы существуют: участник с другим горизонтом, вынужденный продавец, хеджер, которому цена безразлична, запертая сторона, закрывающая убыток. Неприемлемый ответ — «так показывает индикатор».

Если на вопрос «кто платит» ответа нет, дальше идти не стоит. Вы нашли не преимущество, а закономерность в прошлых данных.

Этап 3. Рынок и инструмент

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

Частая ошибка: протестировать идею на удобном инструменте, а торговать на другом, потому что там меньше депозит. Поведение разное, результат не переносится.

Блок 2. Доказательство

Этап 4. Четкие правила

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

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

Этап 5. Данные

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

Этап 6. Бэктест

Бэктест — проверка стратегии на исторических данных. Сразу учитываем комиссии и проскальзывание — разницу между ожидаемой и фактической ценой сделки.

Например, если стоп составляет 20 шагов цены, а комиссия — 2 шага, ее размер уже равен 10% величины стопа.

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

Этап 7. Проверка на новых данных

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

Если стратегия плохо работает на второй части, вероятно, параметры просто подогнали под прошлое.

Учитываем и количество попыток. Если протестировать 40 вариантов и выбрать лучший, это еще не доказывает, что найдена реальная закономерность. Чем больше попыток, тем строже должна быть проверка.

Блок 3. Деньги

Этап 8. Риск-модель

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

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

Этап 9. Необходимый капитал

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

Этап 10. Юнит-экономика стратегии

Даже прибыльная на тестах стратегия может приносить убытки из-за расходов. Поэтому учитываем постоянные затраты (данные, платформа, сервер, подписки) и переменные (комиссии, проскальзывание, спред). Затем рассчитываем точку безубыточности — сколько нужно зарабатывать, чтобы покрывать расходы.

Этап 11. Исполнение сделок

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

Блок 4. Эксплуатация

Этап 12. Запуск алгоритма

Перед запуском нужно определить, как устроена система, как ее включать и останавливать и что произойдет при потере связи. Например, если терминал перестанет работать, стоп-лосс защитит позицию только в том случае, если он установлен на сервере. Если стоп работает внутри терминала, при сбое он тоже перестанет действовать.

Алгоритм запускают постепенно: сначала проверяют на симуляторе, затем на реальных котировках, после этого переходят к торговле минимальным объемом и только потом — рабочим. Условия перехода между этапами определяют заранее.

Этап 13. Форвард-тест

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

Этап 14. Мониторинг

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

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

Этап 15. Критерии остановки

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

Важно принять эти решения до запуска. Когда алгоритм уже теряет деньги, всегда хочется подождать еще немного в надежде, что ситуация исправится.

Правило артефакта

Каждый этап оставляет после себя документ. Не заметку в голове, а файл, который можно показать другому человеку.

ЭтапАртефакт
Гипотеза и преимуществоОдностраничник: механизм, кто платит, при каких условиях работает
ФормализацияСпецификация правил, пригодная для передачи
ДанныеОписание источника, периода и ограничений
Бэктест и валидацияОтчеты in-sample и out-of-sample, число попыток оптимизации
Риск и экономикаПравила сайзинга, лимиты, расчет точки безубыточности
ПродакшнРегламент запуска, мониторинга и аварийной остановки
ОстановкаСписок цифр, при которых выключаем

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

Где цикл ломается чаще всего

МестоЧто происходитЧем кончается
Этап 2 пропущенНет ответа, кто платитЗакономерность исчезает, как только меняется режим рынка
Этап 7 пропущенПараметры настроены и проверены на одних данныхЖивой результат не похож на тест с первого месяца
Этап 10 пропущенРасходы не посчитаныСтратегия работает, а счет не растет
Этап 15 пропущенКритерии остановки не записаныАлгоритм выключается на дне просадки, после максимального убытка

Что дальше

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

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

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

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

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

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

Подписаться

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

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

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