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

Автор эксперимента не трейдер и не сотрудник финансовой компании, а исследователь, который открыто делится каждым шагом пайплайна (последовательности обработки данных) и честно предупреждает: прибыли пока нет, результат не гарантирован. Именно такая прозрачность позволяет разобрать архитектуру без иллюзий.
Эксперимент описал автор блога на Хабре, который несколько месяцев строил систему машинного обучения поверх открытых данных Московской биржи. Он использовал языковые модели Claude Sonnet 5 и Gemini 3.5 Flash не как автономных ИИ-агентов (программ, действующих самостоятельно), а как консультантов в чате: задавал вопросы, получал варианты кода и анализа, но каждое решение принимал сам. Ниже разобрана архитектура его эксперимента так, чтобы вы могли повторить отдельные шаги или адаптировать подход под свои задачи.
Что понадобится?
- Python 3.10+ и базовые библиотеки для работы с данными: pandas, requests, json
- Доступ к API Мосбиржи (ISS): бесплатный, без регистрации, отдаёт текущие торгуемые инструменты и историю
- Аккаунт DaData (бесплатный тариф хватит): для обогащения данных об эмитентах по ИНН
- Подписка на языковую модель: автор использовал Claude Sonnet 5 и Gemini 3.5 Flash в режиме чата. Консультация через Claude Fable 5 (самая дорогая публично доступная модель на тот момент) обошлась примерно в 20 долларов
- Время: от нескольких вечеров на первый шаг до нескольких недель на полный цикл. Каждый шаг независим, можно останавливаться и возвращаться
Пошаговая инструкция
1. Определите, какие инструменты торгуете: пары «акция плюс фьючерс»
На российском рынке шортить (продавать без покупки, зарабатывая на падении) акции дорого и не всегда возможно, особенно для частного лица. Поэтому автор выбрал стратегию: длинная позиция в акции и одновременно короткая во фьючерсе на ту же бумагу.
Через API Мосбиржи запросите список торгуемых акций, затем сравните его со списком базовых активов, для которых существуют фьючерсы на срочной секции. На пересечении получите именно те бумаги, где можно открыть обе позиции одновременно.
# Пример запроса списка акций через ISS Мосбиржи
import requests
url = "https://iss.moex.com/iss/engines/stock/markets/shares/boards/TQBR/securities.json"
response = requests.get(url)
data = response.json()
2. Восстановите историю фьючерсных контрактов
Фьючерс, в отличие от акции, имеет дату экспирации (срок, когда контракт прекращает торговаться). Контракт SBRF-6.25, например, относится к конкретному сроку исполнения и после него исчезает. Поэтому история фьючерса это не один непрерывный ряд цен, а последовательность отдельных контрактов, которые перекрываются по датам.
Для каждого базового актива запросите историю контрактов начиная с 2021 года. Для каждого найденного контракта дополнительно подтяните через ISS расширенную информацию: название, группу, дату начала торгов, последнюю дату торгов и дату исполнения.
Результат сохраните в два JSON-файла: акции с фьючерсами и дополнительные фьючерсные активы.
3. Обогатите данные внешними факторами
Автор проверял связь российских инструментов с мировыми ценами и обнаружил, что многие бумаги быстро реагируют на изменения глобальных рынков. Поэтому он добавил внешние факторы:
- Нефть Brent, золото, природный газ
- Индексы через ETF: SPY и QQQ
- Валютные пары: юань к рублю (CNY/RUB), фьючерс на доллар (Si)
- Индекс Мосбиржи и индекс гособлигаций RGBI
По ИНН эмитента через сервис DaData подтяните название компании, адрес и руководителя. Для модели машинного обучения это пока не нужно, но пригодится для будущего анализа.
4. Постройте архитектуру так, чтобы каждый шаг был независимым
Каждый шаг это отдельный набор Python-скриптов, который запускается вручную и работает только со своей задачей. Если завтра вы поменяете список активов или добавите ещё один внешний фактор, не придётся переделывать весь последующий пайплайн. Достаточно заново сформировать начальный слой данных.
5. Погрузитесь в микроструктуру: данные глубже обычных свечей
Стандартные свечи OHLCV (цена открытия, максимум, минимум, закрытие, объём) для машинного обучения недостаточны. Внутри одной свечи происходит многое: агрессивные покупки (исполнение заявки по цене продавца), появление и снятие лимитных заявок, моменты, когда стакан (список заявок на покупку и продажу) почти пуст, а через миллисекунды в нём появляется большой объём.
Для эксперимента с машинным обучением в финансах нужны данные о микроструктуре рынка: кто покупает, кто продаёт, как меняется глубина стакана внутри каждого временного интервала.
6. Используйте языковую модель как консультанта, а не как автопилот
Автор подчёркивает: все модели работали в режиме чата. Он формулировал задачу, передавал конкретные данные на каждом этапе и сам решал, какой код запускать и какие результаты принимать. Перед началом эксперимента он обсудил план с Claude Fable 5, передав свои идеи, книги и статьи, и попросил модель оформить всё в пошаговый план действий.
Пример: от запроса к результату
- Путать фьючерс с акцией при построении истории. Фьючерс это не бесконечный ряд, а цепочка контрактов с перекрытием по датам. Если склеить их без учёта экспирации, модель получит ложные разрывы и скачки цен.
- Надеяться на полноту данных Мосбиржи. ISS отдаёт только текущий момент: если бумага была делистирована (снята с торгов), информации о ней в API уже не будет. Это создаёт «ошибку выжившего»: модель учится только на тех, кто дожил до сегодня.
- Доверять модели как автопилоту. Автор прямо говорит: эксперимент не зарабатывает, результат неизвестен. Языковая модель помогает писать код и структурировать план, но не принимает торговых решений. «Трейдерских граалей» автор считает не существует, потому что вся информация общедоступна.
- Игнорировать стоимость шорта на Мосбирже. Для частного лица шортить акции дорого и не всегда доступно. Пара «акция плюс фьючерс» решает эту задачу, но фьючерс несёт собственные риски: ограниченный срок жизни, необходимость роллирования (перехода на следующий контракт).
Что делать с этим прямо сейчас?
Автору Дзена и копирайтеру. Формат «я не эксперт, но разбираюсь шаг за шагом и честно показываю процесс» работает: он вызывает доверие и собирает комментарии. Если вы пишете про технологии или финансы, попробуйте структуру «независимые шаги, каждый понятен отдельно». Это проще и для вас, и для читателя.
Маркетологу. Машинное обучение в финансах пока удел энтузиастов-исследователей, а не массовый продукт. Но сам подход, когда языковая модель выступает консультантом для нетехнического специалиста, уже применим в маркетинге: анализ данных, сегментация, прогнозы.
Предпринимателю в РФ. API Мосбиржи бесплатен и работает без ограничений для базовых запросов. Сервис DaData доступен на бесплатном тарифе. Из языковых моделей в РФ доступны YandexGPT и GigaChat, но для написания Python-кода автор использовал Claude и Gemini, доступ к которым из РФ может потребовать дополнительных шагов.
Этот эксперимент ценен не результатом (его пока нет), а методом. Автор показал, как нетехнический специалист может выстроить полноценный пайплайн машинного обучения, используя языковые модели как помощников. По моим наблюдениям, именно такой формат, «ИИ-консультант, а не ИИ-автопилот», даёт наиболее воспроизводимые результаты. Модель пишет код, вы понимаете, зачем он нужен. Но честная оговорка: между «собрал данные и обучил модель» и «заработал на бирже» лежит пропасть, которую не закроет ни одна языковая модель. Машинное обучение в финансах требует не только данных и кода, но и дисциплины, управления рисками и готовности к тому, что результат будет нулевым.
Хотите использовать нейросети для своих задач?
В dzen.guru мы разбираем, как применять языковые модели на практике: от написания текстов до анализа данных.
Попробовать dzen.guruЕсли вы давно хотели попробовать машинное обучение на российских данных, этот эксперимент показывает: начать можно с бесплатного API Мосбиржи, пары вечеров и чата с языковой моделью. Главное, не путать исследование с торговлей и не доверять модели больше, чем собственному пониманию того, что она делает.

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».
Читайте также

OCR для чертежей внутри 3D-конвейера: ScanToNeutral строит модели сразу в КОМПАС и Inventor
Компания‑разработчик ScanToNeutral опубликовала подробный инженерный разбор своего конвейера, который превращает сканы старых бумажных чертежей в…

Что такое ИИ-агент на практике: GigaCowork от «Сбера» сравнили с Claude Cowork
Компания «Сбер» запустила GigaCowork, платформу, где ИИ-агент (программа, которая сама планирует шаги, обращается к файлам и сервисам и возвращает готовый…

DLSS Nvidia удваивает FPS без новой видеокарты: как включить и настроить
Технология DLSS от Nvidia появилась в 2018 году и за несколько лет изменила подход к производительности в играх и рабочих приложениях, а сейчас, когда…
Комментарии