Алгоритмическая торговля: что это, как устроена и с чего начать
Алгоритмическая торговля (алготрейдинг) — это автоматизация торговых решений с помощью программ. Алгоритм по правилам открывает и закрывает позиции, реагирует на рыночные данные, контролирует риск — без эмоций трейдера. Разбираем устройство типичной системы, какие классы стратегий существуют, какой фон знаний нужен, какие инструменты используются на российском рынке (QUIK Lua, Tinkoff API, ISS MOEX), сколько реально зарабатывают алготрейдеры и с чего начинать.
Что такое алгоритмическая торговля
Алгоритмическая торговля (algorithmic trading, алготрейдинг) — это автоматизированное принятие торговых решений по заранее формализованным правилам. Программа (алгоритм, торговый робот) следит за рыночными данными, рассчитывает сигналы, открывает и закрывает позиции, управляет риском — без вмешательства человека в каждое решение.
Главное отличие от обычной (ручной) торговли — дисциплина исполнения. Робот не «передумает» закрывать убыток, не пересидит до победного, не пропустит сигнал из-за обеда. Каждое правило выполняется буквально.
Алгоритмическая торговля не равна прибыльной торговле. Если стратегия проигрышная, робот будет последовательно сливать счёт. Автоматизация — это инструмент исполнения, а не источник альфы.
Зачем автоматизировать торговлю
Преимущества
- Устранение эмоций. Главный убийца ручного трейдера — психология. Робот эмоций не имеет.
- Скорость реакции. Робот реагирует на рыночное событие за миллисекунды, человек — за секунды. На M1–M5 это критично.
- Масштабируемость. Один робот может следить за 50 инструментами одновременно. Человеку нужно 50 разных мониторов и 50 рук.
- Тестируемость. Стратегию можно проверить на исторических данных и получить статистику до того, как тратить деньги.
- Объективные метрики. Робот ведёт журнал каждой сделки автоматически — никакой «памяти трейдера», которая всегда искажает реальную картину.
Ограничения
- Не лечит плохую стратегию. Робот = плохая стратегия = убытки, только систематически.
- Чувствителен к режиму рынка. Стратегия, работающая в тренде, проваливается в боковике. Без фильтра режима — серия проигрышей.
- Требует инфраструктуры. Терминал должен работать круглосуточно, сеть стабильной, токены валидными. Любой сбой — пропуск сигнала или зависшая позиция.
- Психологически сложно держать на просадке. В моменте, когда стратегия теряет 15% подряд, трейдер выключает робота — и пропускает восстановление.
Базовые компоненты торговой системы
Любой робот, от простого индикаторного до ML-системы, состоит из одних и тех же блоков:
┌─────────────────┐ ┌──────────────┐ ┌────────────┐
│ Data feed │ → │ Signal logic │ → │ Position │
│ (свечи, тики) │ │ (стратегия) │ │ sizing │
└─────────────────┘ └──────────────┘ └─────┬──────┘
│
┌──────────────┐ ┌────────────┐ ┌────────────▼───┐
│ Monitoring │ ← │ Execution │ ← │ Order manager │
│ (журнал, alert)│ │ (брокерский │ │ (вход, стоп, тейк)│
└──────────────┘ │ API) │ └─────────────────┘
└────────────┘
- Data feed — источник рыночных данных. QUIK через
getQuoteLevel2иCreateDataSource, Tinkoff Invest API через gRPC stream, ISS MOEX для аналитики. - Signal logic — индикаторы, фильтры, правила входа/выхода. От простой пересечения MA до ML-модели.
- Position sizing — размер позиции от риска (фиксированный процент депозита на сделку).
- Order manager — отправка заявок, отслеживание исполнения, контроль стопов.
- Execution — связь с брокерским API: QUIK Lua
sendTransaction, Tinkoff APIpost_order. - Monitoring — журнал, telegram-уведомления, watchdog при сбоях.
Качественный робот = ~300–500 строк кода + обвязка. Не «магическая стратегия», а дисциплинированная инфраструктура для её исполнения.
Классы алгоритмических стратегий
Подробный обзор всех подходов — в статье «Бот для трейдинга: какие бывают». Краткая карта:
- Индикаторные (rule-based) — пересечения MA, выходы из RSI-зон, пробои каналов. Простые и понятные, но edge давно сжался.
- Trend-following / Momentum — покупаем растущее, шортим падающее. Низкий процент удачных сделок, заработок на нескольких крупных трендах в году.
- Mean reversion — возврат к среднему, Bollinger Bands, Z-score. См. гайд.
- Парный трейдинг (статистический арбитраж) — лонг одной бумаги, шорт коинтегрированной. См. гайд.
- Арбитражные — кросс-биржевые, треугольные, базисные.
- Маркет-мейкинг — выставление двусторонних котировок, заработок на спреде.
- ML-боты — gradient boosting, нейросети, RL. Реалистичный edge 1–3% сверх случайного.
Для новичка разумный путь — индикаторные на исторически надёжных схемах, потом mean-reversion / parnoj trejding, потом постепенно усложнение.
Какой фон знаний нужен
Математика и статистика
- Описательная статистика: среднее, медиана, дисперсия, стандартное отклонение, корреляция.
- Распределения: нормальное, эмпирическое; почему рынок не нормальный (fat tails).
- Временные ряды: стационарность, тест Дики-Фуллера, коинтеграция.
- Линейная регрессия: для расчёта хедж-коэффициента в парном трейдинге.
- Бэктест-метрики: Sharpe ratio, max drawdown, win rate, profit factor.
Глубокого матана для базовой алготорговли не нужно. Достаточно школьного курса + базы из университета по статистике.
Программирование
- Python — стандарт для частной разработки. Pandas, NumPy, статистические библиотеки. См. туториал Tinkoff API на Python.
- Lua — если работа через QUIK. См. туториал по QUIK Lua.
- Базы данных: SQL для хранения сделок и истории.
- Контроль версий: git хотя бы базово.
Для написания первого простого робота достаточно уровня «прохожу скрипты на Python без помощи». Не нужно быть senior-разработчиком.
Знание рынка
- Какие инструменты доступны на MOEX (фьючерсы, опционы, акции).
- Время торгов, клиринги, ГО для деривативов.
- Налогообложение в РФ (разные карманы для акций и фьючерсов).
- Базовые понятия из биржевого глоссария: спред, ликвидность, стакан, лонг/шорт, маржинальная торговля.
Инструменты на российском рынке
Источники данных
- QUIK — основной терминал, дают все брокеры. Подходит для роботов с 1–10 сделками в день. См. QUIK Lua.
- Tinkoff Invest API (gRPC) — современный Python-стек, облачный деплой, песочница. См. туториал.
- ALOR Open API — REST + WebSocket, для розничных клиентов Алора.
- ISS MOEX — публичные данные с задержкой, для бэктеста и аналитики. См. гайд.
- Plaza-2 — прямой биржевой шлюз FORTS, для серьёзных инфраструктур.
Библиотеки и фреймворки на Python
- pandas / NumPy — обработка данных.
- TA-Lib / pandas-ta — индикаторы технического анализа.
- statsmodels / scikit-learn — статистика и ML.
- backtrader / vectorbt — фреймворки бэктеста.
- tinkoff-investments — официальный SDK для T-Invest API.
Инфраструктура
- Docker для деплоя.
- Linux VPS — Selectel, Reg.ru, Timeweb для российского хостинга.
- Telegram для уведомлений.
- PostgreSQL / SQLite для хранения данных и сделок.
Как организовать процесс: от идеи до production
Реалистичный путь от идеи до боевого робота:
Этап 1: Гипотеза (1–2 недели)
Сформулировать стратегию словами:
- На каком инструменте.
- На каком таймфрейме.
- По какому правилу входим.
- По какому выходим.
- Какой максимальный убыток на сделку.
Гипотеза должна быть проверяемой. Не «купить, когда RSI низкий», а «купить SBER в 5-минутный бар, если RSI(14) закрылся ниже 30; стоп на минимум последних 20 свечей; тейк на 2R; не торговать при ADX < 20».
Этап 2: Бэктест на истории (2–4 недели)
- Загрузить исторические данные (минимум 2–3 года).
- Прогнать стратегию на pandas или backtrader.
- Получить метрики: Sharpe, max drawdown, win rate, profit factor.
- Проверить на out-of-sample: 70% данных — для подбора параметров, 30% — для проверки.
Если стратегия не показывает положительный результат на out-of-sample — она не работает. Дальше не идём.
Этап 3: Forward-test на демо-счёте (1–3 месяца)
- Запустить бот на демо-счёте брокера.
- Проверить, как стратегия ведёт себя на свежих данных в реальном времени.
- Проверить инфраструктуру: переподключения, обработка ошибок, watchdog.
Этап 4: Малая позиция на реальном счёте (3–6 месяцев)
- Запустить с минимальным размером позиции (0.1% риска на сделку).
- Сравнить результаты с бэктестом.
- Если соответствует — постепенно увеличить размер.
Этап 5: Production (постоянный мониторинг)
- Полноценный размер позиции.
- Ежедневный мониторинг через журнал и алерты.
- Ежеквартальная переоценка: стратегия всё ещё работает или режим рынка изменился?
Полный цикл — минимум 6–12 месяцев на одну стратегию.
Реалистичные ожидания доходности
Что показывает статистика:
| Профиль | Доходность | Просадка | Когда достигается |
|---|---|---|---|
| Начинающий с базовой стратегией | 0 или минус | 20–50% | первые 6–12 месяцев |
| Освоивший дисциплину | 10–20% годовых | 15–25% | 1–2 года |
| Опытный с проверенной системой | 20–40% годовых | 10–20% | 3+ лет |
| Профессионал в составе фонда | 15–30% (с большего капитала) | < 15% | 5+ лет |
Цифры «100% годовых», которые встречаются в маркетинге курсов, — на маленьких суммах и узких таймфреймах могут случаться, но не масштабируются. Условный гениальный сетап на 100 000 ₽ не повторяется на 10 млн ₽ из-за проскальзывания и ограничений ликвидности.
Где учиться и развиваться
Бесплатные ресурсы:
- smart-lab.ru — крупнейшее российское трейдерское сообщество. Раздел «Алготрейдинг» — статьи, обсуждения, готовые скрипты.
- mql5.com — форум MetaTrader, много рабочих советников и кодовых примеров.
- Quantopian (архивы) — образовательные материалы по количественной торговле.
- books: «Algorithmic Trading» Эрнеста Чана, «Trading and Exchanges» Ларри Харриса, «Quantitative Trading» Хана.
- arxiv.org — академические статьи (на английском, для продвинутых).
Платные курсы — фильтруйте жёстко. Реальный сигнал качества — наличие у автора публичной торговой истории, не просто слайдов. Большинство курсов «алготрейдинга для начинающих» дают только базу, которая есть бесплатно.
Подводные камни новичка
- Переоптимизация на исторических данных. Подобрать параметры, чтобы Sharpe был 3 на конкретной истории, легко. Эта стратегия проваливается на свежих данных. Защита — walk-forward и out-of-sample.
- Игнорирование комиссий. На M1–M5 комиссии и проскальзывание съедают всю прибыль. Считайте edge за вычетом транзакционных издержек.
- Поиск святого Грааля. «Найти стратегию, которая всегда зарабатывает» — путь в никуда. Реальные алготрейдеры держат портфель из 5–20 стратегий, каждая со своим режимом эффективности.
- Преждевременный запуск с реальными деньгами. Без 3-месячного forward-теста на демо — гарантированная потеря денег на первой же ошибке инфраструктуры.
- Слепое доверие к чужим стратегиям. Готовый бот с форума или платный — почти всегда либо устарел, либо «утечка из будущего» в коде. Используйте чужие стратегии только как референс, не как production-решение.
Частые вопросы
С чего начать обучение алготрейдингу?
С Python и pandas — это рабочие инструменты для бэктеста и большинства стратегий. Параллельно изучайте базовую статистику (среднее, дисперсия, корреляция, регрессия) и читайте про конкретный рынок, на котором собираетесь торговать. Первой простой стратегией обычно выбирают MA-кроссы или mean reversion на ликвидной акции.
Сколько времени нужно, чтобы выйти на стабильную доходность?
В реалистичных условиях — от 1 до 3 лет постоянной работы. Первый год обычно уходит на изучение инструментария, написание и тестирование первых стратегий, проигрыш мелких сумм. Стабильная положительная доходность с предсказуемой просадкой появляется на втором году у тех, кто продолжает.
Какой нужен капитал для старта?
Для тестирования и обучения достаточно 30 000–50 000 ₽ на реальном счёте. Это позволит торговать малыми позициями и видеть реальное проскальзывание. Для серьёзной алготорговли с диверсификацией по 5+ стратегиям — от 500 000 ₽. Меньший капитал не позволит соблюдать риск-менеджмент (1% от 50 000 = 500 ₽ риск на сделку — слишком мало для разумной позиции).
Стоит ли покупать готовых ботов с форумов?
В подавляющем большинстве — нет. Бесплатные обычно либо учебные, либо нерабочие. Платные часто — переупаковка чужих стратегий с косметическими изменениями. Если очень хочется готовое решение, выбирайте проверенных авторов с публичной торговой историей минимум 12 месяцев, и тестируйте на демо 2–3 месяца до перехода на реальный счёт.
Можно ли заниматься алготрейдингом параллельно с работой?
Да, и так делают большинство частных алготрейдеров. Робот работает автономно, мониторинг занимает 15–30 минут в день. Главные требования — стабильный VPS для деплоя и дисциплинированная еженедельная проверка результатов. Принимать торговые решения «между совещаниями» не нужно — это весь смысл автоматизации.
Что запомнить
- Алготрейдинг — это автоматизация исполнения стратегии, а не сама стратегия.
- Базовая структура: data feed → signal → sizing → execution → monitoring.
- Минимум для старта: Python + pandas + базовая статистика + знание одного брокерского API.
- На MOEX основные пути — QUIK Lua и Tinkoff Invest API; для аналитики — ISS MOEX.
- Реалистичная доходность — 10–20% годовых после 1–2 лет работы, не «100% за месяц».
- Цикл от идеи до production — 6–12 месяцев, проходя через бэктест → демо → малую позицию → полноценную.
- Главные ошибки новичка — переоптимизация и игнорирование комиссий.
- Готовые боты с форумов — почти всегда мусор; пишите свои или используйте только для учебных целей.