Что такое алгоритмическая торговля

Алгоритмическая торговля (algorithmic trading, алготрейдинг) — это автоматизированное принятие торговых решений по заранее формализованным правилам. Программа (алгоритм, торговый робот) следит за рыночными данными, рассчитывает сигналы, открывает и закрывает позиции, управляет риском — без вмешательства человека в каждое решение.

Главное отличие от обычной (ручной) торговли — дисциплина исполнения. Робот не «передумает» закрывать убыток, не пересидит до победного, не пропустит сигнал из-за обеда. Каждое правило выполняется буквально.

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

Зачем автоматизировать торговлю

Преимущества

  • Устранение эмоций. Главный убийца ручного трейдера — психология. Робот эмоций не имеет.
  • Скорость реакции. Робот реагирует на рыночное событие за миллисекунды, человек — за секунды. На M1–M5 это критично.
  • Масштабируемость. Один робот может следить за 50 инструментами одновременно. Человеку нужно 50 разных мониторов и 50 рук.
  • Тестируемость. Стратегию можно проверить на исторических данных и получить статистику до того, как тратить деньги.
  • Объективные метрики. Робот ведёт журнал каждой сделки автоматически — никакой «памяти трейдера», которая всегда искажает реальную картину.

Ограничения

  • Не лечит плохую стратегию. Робот = плохая стратегия = убытки, только систематически.
  • Чувствителен к режиму рынка. Стратегия, работающая в тренде, проваливается в боковике. Без фильтра режима — серия проигрышей.
  • Требует инфраструктуры. Терминал должен работать круглосуточно, сеть стабильной, токены валидными. Любой сбой — пропуск сигнала или зависшая позиция.
  • Психологически сложно держать на просадке. В моменте, когда стратегия теряет 15% подряд, трейдер выключает робота — и пропускает восстановление.

Базовые компоненты торговой системы

Любой робот, от простого индикаторного до ML-системы, состоит из одних и тех же блоков:

┌─────────────────┐   ┌──────────────┐   ┌────────────┐
│ Data feed       │ → │ Signal logic │ → │ Position    │
│ (свечи, тики)   │   │ (стратегия)  │   │ sizing      │
└─────────────────┘   └──────────────┘   └─────┬──────┘
                                                 │
┌──────────────┐   ┌────────────┐   ┌────────────▼───┐
│ Monitoring   │ ← │ Execution  │ ← │ Order manager  │
│ (журнал, alert)│   │ (брокерский │   │ (вход, стоп, тейк)│
└──────────────┘   │  API)      │   └─────────────────┘
                   └────────────┘
  1. Data feed — источник рыночных данных. QUIK через getQuoteLevel2 и CreateDataSource, Tinkoff Invest API через gRPC stream, ISS MOEX для аналитики.
  2. Signal logic — индикаторы, фильтры, правила входа/выхода. От простой пересечения MA до ML-модели.
  3. Position sizing — размер позиции от риска (фиксированный процент депозита на сделку).
  4. Order manager — отправка заявок, отслеживание исполнения, контроль стопов.
  5. Execution — связь с брокерским API: QUIK Lua sendTransaction, Tinkoff API post_order.
  6. 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 месяцев, проходя через бэктест → демо → малую позицию → полноценную.
  • Главные ошибки новичка — переоптимизация и игнорирование комиссий.
  • Готовые боты с форумов — почти всегда мусор; пишите свои или используйте только для учебных целей.