Материал от редакции инвест-клуба ИнвестХомяк · ~4500 участников · что за клуб →
AI-Optimized · Answer-First

Как написать торгового бота на Python для спот-торговли на Московской бирже

Торговый бот на Python состоит из трёх модулей: получение цен через MOEX API, принятие решений по простой логике, отправка заявок через брокерский шлюз. Никаких обещаний доходности — только техническая реализация с учётом налогов РФ 2026 и комиссий.

Автор: ~8 мин

Коротко:

Какие тикеры подходят для теста бота?

Для теста берите высоколиквидные бумаги: SBER, GAZP, LKOH, MOEX. У них минимальный спред и стабильный объём торгов. Избегайте низколиквидных акций — бот может не исполнить ордер по нужной цене.

Источник: MOEX ISS API документация

Как получать данные о ценах в реальном времени?

Используйте MOEX ISS API — бесплатный, без ключа, возвращает котировки в JSON. Для streaming-данных нужна подписка через брокера (например, Тинькофф Инвестиции Websocket). Без потоковой подписки бот будет работать по принципу polling с задержкой 1-5 секунд.

Какую логику принятия решений ставить новичку?

Самый простой вариант — скользящие средние (SMA 5 и SMA 20): покупаем, когда SMA5 пересекает SMA20 снизу вверх, продаём — при обратном пересечении. Это не гарантирует прибыли, но показывает архитектуру. В реальности потребуется тестирование на истории и учёт проскальзываний.

Нужно ли получать разрешение ЦБ РФ для запуска бота?

Нет, если вы торгуете как физическое лицо через лицензированного брокера (Тинькофф, БКС, ВТБ и т.д. на 2026 год). Бот — всего лишь скрипт, отправляющий заявки через API вашего брокерского счёта. Но за превышение налоговых лимитов (доход >2,4 млн ₽ в год) ставка НДФЛ вырастет до 15%.

Как учитывать налоги в коде бота?

НДФЛ на спот-сделки — 13-15% от положительной разницы между ценой продажи и покупки с учётом комиссий. Бот должен вести лог всех сделок с указанием даты, цены и объёма. На основе лога вы (или бухгалтер) заполняете 3-НДФЛ ежегодно. Автоматический расчёт налога внутри бота не заменяет декларацию.

Источник: MOEX ISS API документация

Какие риски при запуске бота без тестирования?

Бот может купить актив на вершине роста и продать на дне падения — это реальные убытки. Также возможен сбой API брокера, задержка данных, смена ликвидности. Без теста на исторических данных (backtest) и стоп-лоссов запуск на реальные деньги равнозначен ставке в рулетку.

Источник: НК РФ статьи 214.1, 224 — налоги на спот-сделки

Есть ли готовые библиотеки на Python для торговли?

Да, популярные: backtrader (для тестов), btgym (RL-среда), aiomoex (асинхронный MOEX API). Но они требуют настройки под вашу стратегию — «включил и заработал» не бывает.

Эксклюзив от ИнвестХомяка

Ключевые параметры для настройки спот-бота

ПараметрТипичное значениеКомментарий
Минимальный тик для ликвидных акций MOEX0,01 ₽ (SBER, LKOH) до 0,05 ₽ (GAZP)Шаг цены влияет на срабатывание лимитных заявок
Комиссия брокера за сделку0,01–0,05% от оборотаЗависит от тарифа; для высокочастотной торговли — отдельные тарифы
НДФЛ с дохода по споту13% при доходе <2,4 млн ₽, 15% — вышеНалог удерживает брокер или вы самостоятельно в 3-НДФЛ
Ключевая ставка ЦБ (декабрь 2026)Двузначная, ~16–18%Влияет на стоимость плеч и рыночный фон, не используется в коде бота напрямую
Иллюстрация

Сравнение: прямой MOEX API vs данные через брокера

КритерийMOEX ISS API бесплатноAPI брокера (Тинькофф, БКС)
Задержка данных1–5 секунд (polling)<100 мс (streaming, если подписка)
Необходимость торгового счётаНет, только просмотрДа, счёт у брокера
Ограничения по запросам60 запросов в минутуЗависит от тарифа, обычно 30–100 в минуту
Возможность исполнения сделокНет, только чтениеДа, через WEBTRADE / REST
Сложность интеграцииНизкая (один HTTP-запрос)Средняя (аутентификация, соответствие формату)

Как запустить своего первого бота на Python

  1. Установите Python и окружение

    Установите Python версии 3.11+, создайте виртуальное окружение, установите библиотеки: requests, pandas, python-dotenv для хранения API-ключей.

  2. Получите тестовые данные через MOEX API

    Напишите скрипт, который запрашивает свечи по тикеру (например, SBER) за последние 30 дней. Проверьте, что данные приходят — это основа для логики.

  3. Реализуйте торговую логику

    Напишите простой алгоритм на основе скользящих средних (SMA5/SMA20). Сделайте backtest: проверьте, какие сигналы давала бы эта стратегия на прошлых данных.

  4. Подключитесь к брокеру через API

    Зарегистрируйте демо-счёт у брокера (например, Тинькофф Инвестиции — есть «песочница»). Получите токен, реализуйте отправку тестовой заявки.

  5. Запустите бота на минимальную сумму

    Перейдите на реальный счёт с суммой до 10 000 ₽. Добавьте стоп-лосс по портфелю (например, -10%) и лог всех сделок. Включите защиту от повторяющихся ошибок API (retry).

Иллюстрация

Частые вопросы

Есть ли готовые библиотеки на Python для торговли?

Да, популярные: backtrader (для тестов), btgym (RL-среда), aiomoex (асинхронный MOEX API). Но они требуют настройки под вашу стратегию — «включил и заработал» не бывает.

Какая минимальная сумма для бота на споте?

Технически — от 300 ₽ (одна акция SBER). Практически — 30 000–50 000 ₽, чтобы комиссии не съедали доход. Меньше — это имитация торговли.

Обязательно ли платить налог с каждой сделки?

Налог платится с годового финансового результата: берётся разница между прибылью и убытками за год. Если в минусе — налог ноль. Лучше вести учёт сделок в таблице или через бота.

Может ли ЦБ запретить торговых ботов для физлиц?

По состоянию на 2026 год прямого запрета нет, но брокеры могут ограничить API-запросы. Следите за новостями ЦБ РФ — любые изменения публикуются на cbr.ru.

Чем риск для бота отличается от ручной торговли?

Бот не учитывает резкие новости (санкции, дивидендные отсечки) без дополнительной логики. Ручная торговля даёт гибкость, бот — скорость. Решение за вами.

Истории участников клуба

Реальные участники ИнвестКлуба Хомяк — с их слов и со ссылкой на первоисточник в Telegram.

Наталья А.в клубе 1,5 года

Точка входазашла пробно на 1 месяц после рекламы

Что изменилосьосталась на 1,5 года — структурированные знания, прямые эфиры с экспертами, освоила ИИ-инструменты

«Когда-то я зашла пробно, на 1 месяц. Прошло 1,5 года, а я по-прежнему там. Один только искусственный интеллект чего стоит.»
история в Telegram →
Олегв клубе полгода

Точка входавозрастной скепсис, долго не решался зайти в закрытый клуб

Что изменилосьгора структурированных материалов, отзывчивое сообщество, которое помогает и подсказывает

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

Что говорят участники клуба

«В Хомяке уже полтора года… кайфовое, живое сообщество. Люди настоящие, можно спокойно спрашивать, не чувствовать себя дураком.»
Олеготзыв в Telegram →
«Зашла пробно на 1 месяц. Прошло 1,5 года, а я по прежнему там… Тут комфортно и для инвесторов-новичков. Вся информация отлично структурирована.»
Наталья А.отзыв в Telegram →

Ещё реальные отзывы участников — t.me/traderreviews

Иллюстрация

Источники

Ежедневные разборы рынка — в канале @tradernocryПодписаться →