Главная проблема алготрейдинга: переадаптация к истории
Основная ошибка при разработке алгоритма — это переадаптация (overfitting). Разработчик смотрит на историю и пишет алгоритм, который идеально подходит к тому, что уже случилось. Например: В 2020 году после падения на 10% следовал рост на 20%, значит, входим на откатах на 10%. Это прекрасно работает на истории 2020 года. Но в 2021 году рынок может работать иначе. И робот начинает сливать деньги. Чем больше правил в алгоритме, тем выше риск переадаптации. Простое правило (покупай, если цена выше скользящей средней) часто работает лучше, чем сложное (покупай, если цена выше скользящей, но только если объём больше чем средний и волатильность в диапазоне и цена коснулась уровня поддержки).
Как разработчик может обмануть (неумышленно или умышленно)
На рынке продаются готовые роботы, часто с впечатляющими результатами. Как они могут быть настолько хороши, если большинство трейдеров теряют деньги? Основной метод обмана — селекция истории. Разработчик тестирует алгоритм на разных периодах и берёт те периоды, где результаты были лучшими. Например, алгоритм работал плохо в 2018–2019, но отлично в 2020–2021, поэтому показывают результаты только за 2020–2021. Второй метод — предсмотр данных: при кодировании алгоритм использует информацию о будущем (если завтра цена будет выше текущей, вход сейчас), что невозможно в реальной торговле. Третий метод — скрытые комиссии: при бэктесте не учитывают комиссии, спред и скольжение, а в реальности эти издержки съедают половину прибыли.
Почему готовый робот — это ещё более рискованно
Если вы пишете свой робот, вы понимаете логику. Если вы покупаете готовый, вы берёте чужую стратегию вслепую. Создатель готового робота может быть честным разработчиком, а может быть и мошенником, который продаёт свой убыточный робот за $99 и исчезает. Даже если создатель честен, его стратегия может быть оптимизирована для конкретного рынка или периода, который больше не повторяется. Например, робот может торговать восходящий тренд очень хорошо, но при боковом диапазоне сливать деньги.
Что нужно проверить в готовом роботе
Если вы всё же хотите использовать готовый робот: запросите доказательства (реальные скриншоты счёта, а не бэктест). Спросите, как часто робот убыточный в месяц (если говорят, что прибылен каждый месяц, это ложь или сильно выборочные данные). Спросите, как робот ведёт себя при боковом диапазоне (когда цена не растёт и не падает). Запустите робота на демо-счёте минимум месяц, чтобы увидеть реальный результат на свежих данных. И, самое главное, никогда не кладите на счёт тот капитал, потерей которого вы не готовы пожертвовать.
Примеры неудачных алгоритмов в истории — раскрывается
2012 год, США — алгоритм, торгующий flash crash (когда цена скачет на несколько процентов за секунды). Алгоритм показал результаты на flash crash событиях в прошлом. Потом цены стали стабильнее (биржи улучшили механизмы защиты), и алгоритм начал сливать деньги. Создатель потерял депозит.
2020 год, нефть (WTI) — цена упала ниже нуля (первый раз в истории). Многие алгоритмы, которые торговали отскоки от нуля, потеряли всю прибыль за годы за несколько часов. Рынок сделал нечто, что раньше в истории не происходило, и алгоритмы не были к этому готовы.
2023 год — множество торговых ботов на рынке криптовалют потеряли деньги клиентов. Многие работали отлично при растущем рынке, но при падении просто сливали счета, потому что были оптимизированы только для тренда вверх.
Как применить это на практике
Если вас интересует алготрейдинг не как способ заработка, а как интересная техническая задача, вот честный путь. Если вы не программист — не пишите сами. Это требует опыта. Вместо этого изучите, как работают готовые платформы (например, MetaTrader, ByBit API, брокерские платформы с автоматизацией). Попробуйте запустить простой алгоритм на демо и посмотрите, как он ведёт себя. Если вы программист — пишите простые алгоритмы, не сложные. Торгуйте на истории, но потом обязательно форвард-тестируйте на демо месяц-два. И помните: если алгоритм показывает результат годовых, это либо ошибка в коде, либо переадаптация к истории.
Шаг 1: Определите логику, которую хотите автоматизировать
Прежде чем писать код или искать готовый робот, определитесь с логикой на простом примере. Например: Я хочу торговать отскоки от скользящей средней (SMA 50). Может ли человек торговать эту идею вручную? Если да, можно написать робот. Если логика слишком запутанная даже для ручной торговли, то робот её не упростит.
Шаг 2: Если пишете свой — начните с очень простого алгоритма
Самый простой алгоритм: Если цена выше SMA 50, покупай. Если цена ниже SMA 50, продавай. Тестируйте эту идею месяц на демо. Посчитайте результат. Потом можете добавить второе правило. Избегайте соблазна сделать алгоритм сложным, добавляя десяток индикаторов — это только повышает риск переадаптации.
Частые ошибки при использовании роботов
- Верят, что робот будет работать вечно — алгоритм работает хорошо, пока рынок похож на то, что было раньше; когда условия меняются, робот может начать сливать
- Покупают готовый робот, не проверив результаты на демо — впечатляющие результаты на бэктесте часто не воспроизводятся в реальности
- Не ставят стоп-лосс на уровне счёта — робот может сливать деньги быстро, если что-то пошло не так, нужен максимальный дневной или недельный стоп
- Включают робота и забывают про счёт — даже хороший робот требует периодического мониторинга и корректировок; забытый робот может стать причиной потери депозита
Алготрейдинг кажется идеальным: система работает без эмоций. На практике это требует понимания кодирования, знания того, как правильно тестировать стратегии, и готовности потерять деньги при первых попытках. В Humster Club мы разбираем механику алгоритмических стратегий, как оценивать готовые роботы и что реально можно ожидать от автоматизации. Цена 3000 ₽ в месяц часто спасает от покупки мошеннического робота или запуска плохого алгоритма на реальные деньги.