Что такое алгоритмическая торговля
Алгоритмическая торговля (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 месяцев, проходя через бэктест → демо → малую позицию → полноценную.
- Главные ошибки новичка — переоптимизация и игнорирование комиссий.
- Готовые боты с форумов — почти всегда мусор; пишите свои или используйте только для учебных целей.
