TradeoniaTM
ГлавнаяСтатьиАлготрейдинг с нуля: как устроен торговый бот

Алготрейдинг с нуля: как устроен торговый бот

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

·23 минуты чтения·Редакция Tradeonia

Первая статья из серии об алготрейдинге и торговых роботах.

Человекоподобный робот-трейдер смотрит на объёмный график японских свечей
Торговый бот видит тот же график, что и человек, — но реагирует на него за миллисекунды и без эмоций.

Что такое алготрейдинг

Алготрейдинг (он же алгоритмическая торговля) — это торговля по заранее формализованному набору правил, исполнение которых передано программе. Ключевое слово здесь — «формализованный». Правило должно быть записано так, чтобы компьютер исполнил его без единого уточняющего вопроса.

«Покупай, когда рынок выглядит сильным» — это не правило, это ощущение. Компьютер не знает, что такое «сильный».

«Покупай, если цена закрытия часовой свечи выше максимума предыдущих 20 часов, объём выше среднего за сутки, и сейчас между 10:00 и 18:00 по Москве» — это правило. Его можно записать, проверить на истории и отдать роботу. Именно в этом переходе от ощущения к правилу и заключается вся суть алгоритмической торговли; всё остальное — язык программирования, брокер, сервер — технические детали, которые решаются.

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


Что такое эдж и почему без него бот бесполезен

Эдж (от английского edge — «преимущество») — это устойчивое статистическое превосходство торгового правила над случайностью. Не «правило иногда угадывает», а «на длинной серии сделок оно в среднем приносит больше, чем забирают комиссии, спред и проскальзывание». Без эджа автоматизация бессмысленна: робот просто быстрее и дисциплинированнее приведёт вас к убытку.

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

Рынок не обязан вам платить

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

Реальные источники эджа сводятся к нескольким:

  • Плата за предоставление ликвидности. Кому-то нужно совершить сделку немедленно: закрыть позицию по требованию брокера, войти на новостях, исполнить клиентское поручение до конца дня. Такой участник берёт цену из стакана. Вы делаете обратное: заранее выставляете лимитные заявки по обе стороны и ждёте. Кому-то срочно надо продать — вы покупаете чуть дешевле справедливой цены; срочно надо купить — продаёте чуть дороже. Эта разница (спред) и есть плата за вашу готовность подождать. Так работают маркет-мейкеры, подробнее о них ниже.
  • Премия за риск. Вы берёте на себя риск, который другие берут неохотно — например, держите позицию через выходные или через выход отчётности, покупаете на пробой уровня или на откат от него и так далее.
  • Структурные ограничения других участников. Крупный фонд обязан продать бумагу, вылетевшую из индекса, — не потому, что хочет, а потому, что так написано в его правилах. Он продаёт по любой цене, а вы можете купить.
  • Скорость и внимание. Кто-то реагирует на событие быстрее остальных или следит за инструментом, за которым не следит никто.

Если вы не можете назвать источник — скорее всего, эджа нет, а есть красивая кривая на истории.

Почему опубликованный эдж умирает

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

Это не значит, что учиться по книгам, статьям, роликам — бесполезно. Механику понимать нужно. Многое зависит и от того, какой результат вы считаете приемлемым. Бота, приносящего в среднем 15–20% годовых при адекватном риске, вполне реально собрать и по общедоступным источникам — особенно если потом доработать его под себя: добавить фильтр по объёму, ограничить часы торговли, убрать инструменты и периоды, на которых идея заведомо не работает. Опубликованная стратегия — это заготовка, а не готовое решение: рабочий результат появляется как раз на этапе доработки под конкретный инструмент и конкретные издержки.


Из каких блоков собирается торговый бот

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

1. Данные. Данные бывают двух видов. Исторические — закрытые свечи за прошлые месяцы и годы (дата, цены открытия, максимума, минимума и закрытия, объём); на них проверяют идею. Потоковые — то, что приходит прямо сейчас, пока идут торги: каждая новая сделка, каждое изменение стакана заявок; на них бот принимает решения в бою.

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

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

3. Риск-менеджмент и размер позиции. Сколько купить. Где закрыться с убытком. Какой максимальный убыток за день считается сигналом всё выключить. Этот блок определяет, доживёте ли вы до того момента, когда ваш эдж проявит себя.

4. Исполнение. Как именно отправить заявку: рыночной или лимитной, целиком или частями. Что делать, если заявка не исполнилась. Что делать, если исполнилась наполовину.

5. Состояние и учёт. Бот обязан в любой момент знать, что у него сейчас в позиции — и сверять это с тем, что видит брокер.

6. Мониторинг. Логи, уведомления, аварийный выключатель. Бот, за которым никто не следит, — это не автоматизация, а лотерея с отложенным розыгрышем.

Новичок обычно уверен, что вся работа — это блок №2. На практике основная часть времени уходит на остальные пять. Именно там живут те самые «мелочи», из-за которых прибыльная на бумаге стратегия теряет деньги в бою.


Сколько сделок на бирже совершают роботы

Короткий ответ по порядку величин: на рынке акций США алгоритмы дают 60–75% оборота, на Московской бирже — порядка 50–58%. Точной статистики при этом не существует нигде в мире: биржа не спрашивает у участника «вы робот или человек?», и все оценки строятся косвенно — по скорости выставления и снятия заявок, по типу подключения, по регистрации в специальных категориях участников. Поэтому ниже — диапазоны с указанием источника и даты, а не точные доли.

Мировые рынки

Акции США. Наиболее часто цитируемая оценка — 60–75% всего оборота приходится на алгоритмы, из них на высокочастотную торговлю (HFT) — порядка 50–55%. Это оценки индустриальных аналитиков и регуляторов, а не сплошная официальная статистика. Для сравнения: в 2003 году доля алгоритмов здесь составляла около 15%, к 2010-му превысила 70% и с тех пор держится примерно на этом уровне.

Фьючерсы США. Здесь есть по-настоящему твёрдые данные — от американского регулятора CFTC, у которого есть доступ к обезличенным данным по всем сделкам. В исследовании за период с октября 2012 по октябрь 2014 года автоматизированные системы участвовали хотя бы с одной стороны сделки в:

  • ~80% оборота валютных фьючерсов;
  • 62% — фьючерсов на индексы акций;
  • 47% — металлы и энергоносители;
  • 38% — сельскохозяйственные товары.

Отдельная оценка сотрудников CFTC: в самых ликвидных контрактах, дающих более 75% всего оборота, более 90% сделок совершается с использованием алгоритмов или иной формы автоматизации.

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

Россия

Московская биржа публикует такую статистику нерегулярно. Наиболее конкретные широко цитируемые цифры относятся к марту 2020 года, когда рынок штормило на фоне пандемии и обвала нефти: 58,4% оборота на рынке акций и 58% оборота конверсионных операций на валютном рынке. Более общая отраслевая оценка доли высокоскоростных участников на Мосбирже — около 50%, против 70–80% на американских площадках.

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

По данным Московской биржи, доля физических лиц в объёме торгов акциями в 2025 году составила в среднем 70,7%, на срочном рынке — 56,5%, на рынке облигаций — 31,3%. Российский рынок преимущественно розничный, и значительная часть этой розницы торгует руками. Для частного алготрейдера отсюда следуют два вывода — приятный и не очень:

  • Приятный. Конкуренция за краткосрочные неэффективности здесь мягче, чем в США: многие простые закономерности, давно «съеденные» на американских рынках, на российских инструментах ещё живы.
  • Неприятный. Ликвидность тоньше, спреды шире, комиссии в процентах от оборота выше, а на многих инструментах нет глубокой истории данных. Издержки съедают эдж быстрее, чем вы успеваете его найти.

Какие бывают алгоритмические стратегии

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

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

Возврат к среднему. Обратная идея: цена, слишком далеко ушедшая от своего обычного уровня, склонна возвращаться. Робот продаёт «перекупленность» и покупает «перепроданность». Плюс — высокая доля прибыльных сделок. Минус — редкие, но очень крупные убытки, когда «слишком далеко» оказывается началом настоящего движения. Доступно частнику.

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

В чистом виде такая сделка почти безрискова — поэтому расхождения закрываются за доли секунды теми, у кого быстрее доступ к рынку. Скорость формально можно купить: Мосбиржа предоставляет колокацию, то есть размещение вашего сервера в её дата-центре рядом с торговым ядром, — но стойка, канал, подписка на прямой поток данных и оборудование окупаются только на больших оборотах. Частнику остаются медленные разновидности, где расхождение живёт минутами и часами; там конкурируют не скоростью, а терпением и честным учётом издержек, которые в парной сделке двойные.

Маркет-мейкинг. Одновременное выставление заявок на покупку и продажу с заработком на спреде. Это и есть та самая «плата за предоставление ликвидности» из раздела про эдж. Требует очень низких издержек и качественной инфраструктуры, часто — отдельного договора с биржей. Частнику в классическом виде почти недоступно.

Высокочастотная торговля (HFT). Тысячи операций в секунду, заработок на мельчайших расхождениях. Требует размещения серверов в дата-центре биржи, прямого подключения и бюджета, который измеряется десятками миллионов рублей. Для частного трейдера это не вариант ни при каком старании — и хорошо, что нет: конкурировать здесь бессмысленно.

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


Кто может создать торгового робота и сколько это займёт

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

Порог сместился, потому что современные AI-модели пишут код торгового бота уверенно: подключение к брокерскому API, загрузка котировок, расчёт индикаторов, отправка заявок, логирование, обработка ошибок — типовые задачи, которые модель решает быстрее и аккуратнее, чем средний начинающий разработчик. Но барьер не исчез, он переехал: раньше он звучал как «умею писать код», теперь — «умею точно формулировать и умею проверять результат».

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

Что реально нужно на старте:

  • умение чётко описать правило словами, без «примерно» и «когда рынок готов»;
  • базовая аккуратность в работе с компьютером — файлы, папки, установка программы, запуск скрипта;
  • критичность: привычка не верить первому же красивому результату;
  • терпение — львиная доля срока уходит не на код.

Что понадобится технически

Список короткий и не про деньги: брокерский счёт у брокера с торговым API (желательно с песочницей — тестовым контуром, где заявки отправляются «понарошку»; первые запуски делаются только там), исторические данные по вашему инструменту и место, где бот будет жить.

С последним всё просто: на старте достаточно домашнего компьютера — бот работает, пока этот компьютер включён. Но как только робот начинает торговать по-настоящему, домашний интернет и спящий ноутбук становятся точкой отказа, и бота переносят на арендованный сервер (VPS), работающий круглосуточно. Стоит это порядка нескольких сотен рублей в месяц.

Сколько это займёт времени

От нуля до работающего робота уходит порядка 100–150 часов активной работы и 1–3 месяца календарного времени. Оценки ниже — для человека без опыта программирования, работающего с AI-помощником, и для простой механически понятной стратегии на одном инструменте, а не для сложной системы.

ЭтапЧто получается на выходеТрудозатраты
0. Среда и данныеУстановлено окружение, загружена история котировок, построен первый график5–10 часов
1. Первый бэктестПростая идея проверена на истории, есть кривая доходности10–15 часов
2. Проверка честностиУчтены комиссии и проскальзывание, проверена задержка сигнала, результат посмотрен по годам20–30 часов
3. Бумажная торговляРобот работает на демо-счёте (чем дольше, тем лучше, желательно не меньше недели), не падает, ведёт логи30–60 часов
4. Живой счётМинимальный размер позиции, ежедневный контроль+1–3 месяца календаря

Суммарно, вместе с ежедневным контролем на живом счёте, эти этапы и дают те самые 100–150 часов — до состояния «бот работает сам, приносит понемногу и не теряет сильно».

Здесь два принципиальных момента.

Написание кода — малая часть работы. Основное время съедают этап 2, который новички пропускают, и этап 3, который новички сокращают. Именно эти два этапа отделяют работающего робота от красивой картинки.

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


Торговый робот или ручная торговля: что выбрать

Робот выигрывает в дисциплине, охвате и измеримости; человек — в понимании контекста и в реакции на небывалые события. Сравнивать их имеет смысл не по принципу «что лучше», а по принципу «что каждый делает хорошо».

Что сравниваемЧеловекРобот
ДисциплинаПереносит стоп, усредняется от отчаяния, закрывает прибыль раньше срокаИсполняет план как написано; на сотой сделке так же, как на первой
ОхватВнимательно ведёт два-три инструментаВедёт огромное количество инструментов круглосуточно
КонтекстЗнает про заседание ЦБ, новые санкции, SPO эмитентаЗнает только ту информацию, которую вы ему дали
Редкие событияПоймёт, что происходит что-то необычное и остановитсяОбработает по правилам, написанным для других обстоятельств
ИзмеримостьЧерез месяц не вспомнит, что именно делал в мартеРезультат раскладывается на составляющие: что заработало, что потеряло
Проверка на историиИнтуицию прогнать по данным нельзяФормализованную стратегию можно прогнать за десятки лет
ГибкостьМеняет подход за один деньНуждается в калибровке раз в какое-то время (или даже в смене стратегии)
Скорость стартаНужны счёт и терминалНужен ещё и сам робот

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

Чего у робота нет и не будет

Он слеп ко всему, что вы ему не дали. Если в данных нет новостей — новостей для него не существует. Отсюда обычная на практике связка: робот торгует по цене и объёму, а за информационным фоном — лентой рыночных новостей и календарём дивидендных отсечек — человек следит сам и вручную задаёт роботу рамки на такие дни.

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

Можно ли комбинировать робота и ручную торговлю

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

  • Робот исполняет, человек управляет риском — самая распространённая связка. Бот торгует по правилам, человек задаёт рамки: максимальный размер позиции, дневной лимит убытка, список инструментов, право нажать «стоп». В отдельные сделки человек не вмешивается — только в общий кран.
  • Сигнальный бот. Робот присылает уведомление «условие выполнено», решение и клик остаются за человеком. Идеальный переходный режим: месяц сравниваете, что бот предлагал и что вы в итоге сделали.
  • Разделение капитала. Систематическая часть портфеля торгуется роботом на отдельном счёте, дискреционная — руками на другом. Ключевое здесь — именно разные счета: иначе через месяц вы не поймёте, кто из вас двоих заработал или потерял.
  • Человек задаёт направление, робот исполняет. Вы решаете «в этом месяце работаем только в лонг по индексу», робот внутри этого ограничения ищет точки входа по своим правилам.

И один антипаттерн, который стоит назвать прямо. Ручное вмешательство в открытые позиции робота — худшее из возможных решений. Закрывая руками одну сделку из ста, потому что она вам не понравилась, вы уничтожаете статистические свойства системы: тестировали вы одно, а торгуете другое. Оценить результат становится невозможно. Если робот не нравится настолько, что хочется вмешаться, — выключите его целиком и разберитесь.


Может ли ИИ придумать торговую стратегию

Короткий ответ: да, ИИ отлично генерирует гипотезы, но не может выдать вам готовую прибыльную стратегию по запросу.

Почему «дай мне прибыльную стратегию» не работает

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

Где ИИ действительно даёт преимущество

Скорость проверки гипотез. Раньше на одну идею уходила неделя: написать код, найти данные, отладить. Теперь — вечер. Ценность не в том, что ИИ угадывает, а в том, что вы успеваете быстро похоронить двадцать нерабочих идей вместо одной.

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

Поиск ваших собственных ошибок. Если попросить модель не «сделай красиво», а «найди, где в этом коде я мог заглянуть в будущее» — она находит. Заглядывание в будущее (look-ahead bias) — это расчёт, использующий информацию, которой в момент принятия решения ещё не существовало. Одна из самых частых и коварных ошибок бэктеста: программа работает без единого сбоя, а кривая доходности выходит подозрительно ровной. Подробнее — ниже. Умение вылавливать такие места — пожалуй, самое ценное применение ИИ в алготрейдинге.

Где по-прежнему нужен человек

За человеком остаются выбор рынка и инструмента, понимание механизма («кто платит, за что и почему продолжит платить»), знание издержек и самое трудное — решение остановиться и признать, что эджа нет, даже если картинка красивая. Отсюда главный вывод статьи: чтобы сделать по-настоящему прибыльного робота, нужно гораздо больше знаний в трейдинге, чем в программировании. Код сегодня — расходный материал, понимание рынка — нет.

Главная опасность работы с ИИ

Модель услужлива: она хочет дать вам хороший результат. Попросите «улучши стратегию» — и она улучшит: подберёт параметры, добавит фильтр, уберёт неудачный период. Кривая доходности станет красивее, прибыльность в бою — нет. Поэтому и важно грамотно формулировать запрос к ИИ, чтобы таких проблем было как можно меньше.

Это называется переподгонкой и остаётся самым быстрым способом потерять деньги в алготрейдинге. Работает простое правило: если результат стал лучше после того, как вы что-то подкрутили, — это не открытие, а скорее всего подгонка, пока не доказано обратное.

О доходности: честная арифметика

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

Посчитаем. Есть честная стратегия: около 20% годовых, в плохие периоды счёт проседает на 20–30% — нормальное, здоровое соотношение. Теперь вы хотите 100% годовых. Если сама стратегия остаётся прежней, способ ровно один: увеличить риск в пять раз. Но тогда впятеро вырастет и просадка — счёт обнулится задолго до того, как вы увидите обещанную доходность.

Отсюда вывод: устойчивые 100%+ годовых при умеренном риске делаются не размером позиции, а качеством сигнала. Такие стратегии существуют, но у них есть характерные признаки: они работают на относительно небольшом капитале (при росте объёма эдж съедается издержками), живут в узком окне возможностей и требуют реальной, неочевидной идеи. Получить такую идею по запросу к ИИ за выходные, скорее всего, не выйдет.

Полезен и внешний ориентир, но читать его нужно правильно. Лучшие количественные фонды мира показывают доходности, измеряемые десятками процентов годовых, а не сотнями, — и дело не в том, что они «не умеют больше», а в двух ограничениях, которых у частника нет. Размер: эдж, прекрасно работающий на миллионе рублей, на миллиардах долларов перестаёт существовать — вы сами двигаете цену собственными заявками. Риск: фонд управляет чужими деньгами, и просадка даже в 10–20% означает отток клиентов, а иногда и конец бизнеса; платят фонду не за доходность саму по себе, а за доходность на единицу риска.

У частника ситуация обратная: капитал небольшой, деньги свои, допустимую просадку он назначает себе сам. Поэтому 100%+ годовых на маленьком счёте — величина принципиально достижимая, но платить за неё придётся просадкой в разы глубже фондовой: периоды в минус 20–30% нужно закладывать в план заранее. Аккуратной работой — диверсификацией, жёстким лимитом риска на сделку, снижением объёма в неблагоприятные периоды — просадку можно довести до терпимой; свести её к фондовым величинам, сохранив трёхзначную доходность, нельзя. Поэтому и критерий простой: трёхзначные проценты вместе с ровной кривой без просадок не встречаются в природе — если вам обещают такое сочетание, вопрос уже не в выгоде, а в том, кто на вас собирается заработать. Что немаловажно, 95% людей, продающих алгоритмических ботов с заявленной доходностью более 100% годовых — мошенники.

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


Риски алготрейдинга: что может пойти не так

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

Технические отказы

Обрыв связи. Интернет пропал, у брокера технические работы, сервер перезагрузился. Вопрос, на который ответ нужен заранее: что происходит с открытой позицией, пока бота нет? Базовая страховка — стоп-заявка, физически размещённая на бирже, а не «стоп в голове у бота»: тогда даже мёртвый робот не оставит вас без защиты.

Зависание. Процесс живой, но ничего не делает: зациклился, ждёт ответа, который не придёт, или упёрся в утечку памяти. Это опаснее падения — падение вы заметите, зависание нет. Лечится «сторожем»: отдельный скрипт раз в минуту проверяет, что бот подаёт признаки жизни, и присылает уведомление, если сигнал пропал.

Двойное исполнение после перезапуска. Бот открыл позицию, упал, перезапустился, не вспомнил о позиции — и открыл вторую. Через час у вас тройной объём вместо одинарного. Отсюда правило: при старте бот обязан первым делом запросить у брокера реальную позицию и синхронизировать с ней своё состояние — не наоборот.

Ошибка при обновлении кода. Самая известная авария такого рода произошла 1 августа 2012 года с американской компанией Knight Capital: при обновлении торгового ПО новый код установили только на семь серверов из восьми, а на восьмом активировалась старая, не использовавшаяся с 2003 года логика. За 45 минут система совершила более 4 миллионов сделок по 154 бумагам общим объёмом около 397 миллионов акций — вместо того чтобы исполнить 212 клиентских заявок. Убыток составил около 440 миллионов долларов, больше собственного капитала компании, и через несколько месяцев Knight Capital перестала существовать как самостоятельная фирма.

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

Рыночные неожиданности

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

Гэпы. Рынок открылся на 3% ниже вчерашнего закрытия — ваш стоп на −1% исполнится не на −1%, а на −3%: между закрытием и открытием торгов не было. Реальный риск позиции всегда больше размера стопа, и считать позицию нужно по худшему сценарию. Для российского рынка добавьте разрывы между основной, вечерней и утренней сессиями и клиринговые перерывы.

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

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

Ошибки логики

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

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

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

Неверный размер позиции. На Мосбирже акции торгуются лотами, и в лоте может быть 1, 10 или 100 бумаг. Бот, которому сказали «купи 100», спокойно купит 100 лотов вместо 100 акций — позиция окажется в сто раз больше запланированной. Сюда же: расчёт объёма от всей суммы счёта вместо свободных средств, забытое плечо, округление в большую сторону.

Сигнал срабатывает повторно. Условие выполнено — бот открыл позицию. Через минуту условие всё ещё выполнено — бот открыл вторую. К концу дня вместо одной позиции у вас десять, а риск вырос десятикратно. Робот обязан помнить, что этот сигнал он уже отработал, а не проверять условие с чистого листа на каждой свече.

Бот верит данным буквально. Акция «упала» на 8%, но это дивидендная отсечка, а не обвал. В ленте проскочил ошибочный тик вдвое выше рынка. За час не было ни одной сделки, и бот решил, что цена не менялась. Робот, который не проверяет входные данные на адекватность, рано или поздно отработает сигнал по такому мусору.

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

Минимальный чек-лист перед первым запуском

  • Бот показывает доходность на прошлых данных (иначе нет смысла его запускать), код проверен, ошибок не найдено
  • Стоп-заявка физически размещена на бирже, а не только в логике бота.
  • При старте бот сверяет свою позицию с реальной позицией у брокера.
  • Задан дневной лимит убытка, при достижении которого торговля останавливается автоматически.
  • Ограничен максимальный размер позиции — на случай, если логика сойдёт с ума.
  • Желательно интегрировать «сторожа», присылающего уведомление, если бот перестал подавать признаки жизни.
  • Пишутся логи: каждая заявка, каждый ответ брокера, каждая ошибка. Это нужно для того, чтобы потом проанализировать и сделать работу над ошибками.
  • Первый месяц — минимальный размер позиции.
  • Обновления кода — только вне торговой сессии, с сохранённой предыдущей версией.

Это не перестраховка. Это тот минимум, который отделяет «бот потерял немного, пока я разбирался» от «бот потерял всё, пока я спал».


Что дальше

Здесь мы держались на уровне устройства и здравого смысла. Во второй статье серии об алготрейдинге спускаемся на уровень конкретики: возьмём одного конкретного торгового бота и разберём его по-настоящему:

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

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


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

Статью подготовила редакция Tradeonia — команда практикующих трейдеров, которая сама пишет и запускает торговых роботов. Мы рассказываем только о том, что делаем и проверяем сами.

© 2026 Tradeonia. Все права защищены. Полное или частичное копирование материала, его переработка и публикация на других ресурсах без письменного разрешения правообладателя запрещены. Цитирование допускается в объёме, оправданном целью цитирования, с указанием автора и активной гиперссылкой на эту страницу.


Источники данных, приведённых в статье

  • Доля автоматизированных систем на фьючерсных рынках США — исследования Комиссии по торговле товарными фьючерсами США (CFTC), «Automated Trading in Futures Markets» и «Impact of Automated Orders in Futures Markets» (данные за октябрь 2012 — октябрь 2014).
  • Доля алгоритмической торговли и HFT на рынке акций США — оценки индустриальных аналитиков и отчёты Комиссии по ценным бумагам и биржам США (SEC) о структуре рынка.
  • Доля алгоритмической торговли на Мосбирже (март 2020, рынок акций и валютный рынок) — данные, распространённые агентством ПРАЙМ.
  • Доля физических лиц в объёме торгов акциями, на срочном рынке и рынке облигаций — статистика Московской биржи по итогам 2025 года.
  • Авария Knight Capital Group, 1 августа 2012 года — материалы Комиссии по ценным бумагам и биржам США (SEC) и публичные разборы инцидента.
Материалы сайта носят информационный характер и не являются индивидуальной инвестиционной рекомендацией. Статьи отражают опыт и мнение редакции; примеры кода публикуются в учебных целях, предоставляются «как есть» и не гарантируют какого-либо результата. Торговля на бирже связана с риском потери вложенных средств.
© 2026 Tradeonia | Редакция Tradeonia