Блог им. empenoso

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

Лето подходит к концу и я хочу рассказать о своём увлечении последних месяцев — машинном обучении (Machine Learning) на данных Московской биржи. Эта тема уже давно не даёт мне покоя и в этот раз я решил подойти более основательно — активно использовал новейшие языковые модели, типа Claude Sonnet 5, Gemeni 3.7 Flash не только для написания кода, но и для работы с результатами этих скриптов. При этом не использовал полностью автономных агентов — все языковые модели работали как консультанты в чате — все решения принимал я, в том числе какую исходную информацию давать конкретной модели на каждом из этапов.
Как я провёл лето: строил ML-пайплайн для торговли на Мосбирже
Предвидя будущие вопросы я сразу отвечу что это мой эксперимент и он не только не зарабатывает, но и пока даже непонятно чем закончится — сейчас это всё в процессе. Эту статью решил написать не чтобы «засветить трейдерским граалем» — которых я кстати считаю что не существует, потому что вся информация общедоступна. Эта статья написана чтобы рассказать как есть об этой ML теме без прикрас и познакомиться с комментариями — среди негатива (обычно так) проскакивают интересные мысли. Я сам не работаю в финансах и моя позиция больше исследовательская, так что раскрыть какие‑то корпоративные секреты я не могу — просто прощупываю путь перед собой.

Ну и можно случайно познакомиться с интересными людьми, которые профессионально занимаются темой — так уже бывало.

Как я провёл лето: строил ML-пайплайн для торговли на МосбиржеЛучшие модели по индексу искусственного интеллекта по версии https://openrouter.ai/benchmarks. Использую этот график (он меняется, а не статичен) чтобы выбирать модели — какие вообще модели использовать, с кем переписываться. Можно выбирать как по умности, так и по способности корректно писать код — это разные категории

Перед тем как начинать этот эксперимент я переписывался с Claude Fable 5 в чате — это самая умная и самая дорогая публично доступная большая языковая модель — у меня были некоторые свои мысли, а также источники в виде книг и статей и мне хотелось чтобы модель оформила все в пошаговый план действий. Консультация через чат‑бота стоила примерно $20.

Как я провёл лето: строил ML-пайплайн для торговли на МосбиржеМой план действий, оформленный в текстовую схему в Visual Studio Code, слегка обрезался на скриншоте, шагов итого 20

В итоге я остановился на такой архитектуре, когда каждый шаг — это независимый набор Python скриптов, который запускается вручную и работают только с конкретным шагом.

Шаг 1. Что вообще торгуем?

Я хочу торговпть через российского брокера. Но в это же самое время я хочу покупать лучших и продавать худших одновременно. А на практике одновременно открывать и шорт и лонг, но акций на Московской бирже торгуется не так много (по сравнению например с американским рынком) и шортить акции на Московской бирже — дорого и не всегда есть возможность — особенно для частного лица. Из‑за этого я выбрал открывать длинную позицию в акциях и одновременно короткую — во фьючерсе.

Скрипт поиска связок акция + фьючерс в Visual Studio CodeСкрипт поиска связок акция + фьючерс в Visual Studio Code

Через API Московской биржи (ISS) можно бесплатно скачать данные о торгуемых сейчас акциях (если кто‑то выбыл со временем, то информации об этом нет — Мосбиржа выдаёт только текущий момент), а затем я сравниваю этот список со списком базовых активов, для которых на срочной секции существуют фьючерсы. В результате получаю именно те акции, для которых одновременно существует и акция и фьючерс.

Дальше мне нужен не просто текущий фьючерс, а история контрактов начиная с 2021 года — фьючерсы имеют ограниченный срок жизни. В отличие от акции, у обычного фьючерсного контракта есть дата экспирации. Например, контракт LKU6 относится к конкретному сроку поставки/исполнения и после окончания обращения перестаёт торговаться. Поэтому история фьючерса — это не один бесконечный временной ряд, а последовательность отдельных контрактов с перекрытием по датам.

Например, фьючерс на ПАО Сбербанк:
Как я провёл лето: строил ML-пайплайн для торговли на Мосбирже

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

Дополнительно для акций я получаю через ISS Мосбиржи ИНН эмитента и через поставщика данных DaData подтягиваю название компании, адрес и руководителя. Это не нужно непосредственно для модели, но такой задел на будущее.

Ранее я уже проверял связь российских инструментов с мировыми ценами и увидел, что многие из них действительно быстро реагируют на изменения связанных глобальных рынков. Поэтому в текущем эксперименте я решил добавить несколько внешних факторов: нефть Brent, золото, натуральный газ, опосредованные индексы SPY ETF Trust, QQQ ETF Trust, ну и курсы CNY/RUB и Si, индекса МосБиржи, индекс RGBI (гособлигации).

Дополнительные факторы через фьючерсы МосбиржиДополнительные факторы через фьючерсы Мосбиржи

Весь результат сохраняется в два текстовых JSON‑файла: отдельно акции, у которых есть фьючерсы, и отдельно дополнительные фьючерсные активы.

Получается примерно такая схема: сначала Московская биржа отвечает на вопрос «что сейчас вообще торгуется», затем мой код определяет пересечение акций и фьючерсов, после этого восстанавливает историю контрактов и обогащает полученный набор дополнительной информацией.

Результат работы скрипта поиска в Visual Studio Code, файл на 9 тысяч строкРезультат работы скрипта поиска в Visual Studio Code, файл на 9 тысяч строк

Причём всё это сделано отдельным независимым шагом. Если завтра я поменяю список активов или захочу добавить ещё один внешний фактор, мне не приходится переделывать весь последующий ML‑пайплайн — достаточно заново сформировать этот начальный слой данных.

Шаг 2. Погружение в микроструктуру

Вообще чтобы что‑то делать с машинным обучением нужны не только список бумаг, но и данные по ним.

Все привыкли к обычным свечам когда есть цена открытия, максимальная цена, минимальная цена, цена закрытия и объём (обозначаются часто как OHLC). Все эти данные нарезаны по времени. Это такой общепринятый формат — по ним рисуется графики и в общем‑то всё понятно, но для моего эксперимента с машинным обучением одного OHLCV недостаточно.

Как я провёл лето: строил ML-пайплайн для торговли на МосбиржеРастущая свеча в вакууме

Потому что внутри одной свечи может происходить много интересного: кто‑то совершает агрессивную покупку — то есть исполняет заявку по доступной цене продавца. Кто‑то выставляет большое количество лимитных заявок. Кто‑то снимает их, не дожидаясь исполнения. В какой‑то момент стакан может быть почти пустым, а через несколько миллисекунд в нём появится большой объём. Цена при этом может практически не измениться.

Уточнение: лимитная заявка — это условие «купить или продать не хуже указанной мной цены». Такие заявки образуют стакан — список доступных объёмов на разных ценовых уровнях. Например, путь цены:

Вариант A:

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

Вариант B:

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

То есть две свечи с одинаковыми OHLC могут быть получены совершенно разным поведением участников рынка.

Московская биржа через Algopack предоставляет уже агрегированную информацию о том, что происходило внутри временного интервала 5 минут:

Как я провёл лето: строил ML-пайплайн для торговли на МосбиржеAlgopack работает только на 5 минутках

Внутри алгопака есть:

TradeStats это сделки: это не просто объем, а профиль агрессии. Кто бил по рынку — покупатели или продавцы? Объемы разделены на vol_b (покупки) и vol_s (продажи), считаются средневзвешенные цены исполнения (vwap), количество сделок и дисбаланс объемов (disb).

OrderStats это заявки и намерения: сколько лимитных заявок было выставлено (put_orders, put_val) и сколько снято до исполнения (cancel_orders, cancel_val). Это индикатор реального давления и «пугливости» ликвидности.

OBStats это срез стакана (Order Book): глубина, спреды на 10-м уровне spread_lv10, эффективный спред на объем в 1 млн руб spread_1mio, а также дисбаланс объемов по всему стакану imbalance_vol.

Для модели это потенциально гораздо более интересный источник признаков, чем просто OHLC.

Биржевой стакан:

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

Но нужен ли вообще алгопак для рыночной микроструктуры на Московской бирже?

Для моего эксперимента пятиминутная агрегация — довольно крупный интервал. Если я захочу перейти к более быстрому анализу, возникает вопрос: можно ли получить те же показатели самостоятельно из потока сделок и стакана?

И у меня даже произошел спор с товарищем — можно ли собрать такие данные как в Алгопаке самому? И например учить на 5 минутках истории Алгопака, а для реалтайма собирать эти же данные самостоятельно, но из других доступных для частного лица источников и использовать эти более быстрые данные.

Его аргумент был вполне логичным: зачем Algopack, если можно самостоятельно подключиться к потоку рыночных данных, то есть записывать стакан и ленту сделок через API с минимальными интервалами, а потом посчитать все необходимые показатели?

И действительно — в значительной степени это возможно. Если у тебя постоянно пишется поток сделок, из него можно восстановить обычную статистику TradeStats: OHLC, объём, оборот, количество сделок, VWAP, объёмы покупок и продаж и другие производные признаки.

Со стаканом ситуация тоже похожая. Если постоянно поддерживать его актуальное состояние, можно периодически, но очень быстро, например 50 миллисекунд, делать снимок и самостоятельно рассчитывать спред, количество уровней, суммарный объём, дисбаланс и многие другие показатели.

Но есть нюанс: стакан — это ещё не история всех заявок. Представим, что на цене 100 рублей в стакане стояло 1000 лотов. Через несколько мгновений осталось 500. Что произошло?

Первый вариант — кто‑то снял заявку на 500 лотов.

Второй — кто‑то агрессивно купил эти 500 лотов.

Третий — заявка была каким‑то образом изменена.

Если у нас есть только агрегированное состояние стакана и лента сделок, однозначно ответить на этот вопрос нельзя.

Именно здесь появляется принципиальная разница между состоянием стакана и историей жизненного цикла отдельных заявок.

В L2-стакане мы видим объём, агрегированный по ценовым уровням. Но у нас нет идентификаторов конкретных заявок и полного жизненного цикла каждой из них:

<code class="1c">10.00 → 500
10.01 → 300
10.02 → 700</code>

Поэтому самостоятельно получить точное значение cancel_orders простым анализом изменений агрегированного стакана нельзя.

История событий с номерами заявок:

<code class="1c">10:00:001 ADD  id=123  300 @ 10.00
10:00:017 ADD  id=124  200 @ 10.00
10:00:024 TRADE id=123 100
10:00:031 CANCEL id=124 200
...</code>

L2 показывает состояние. Полный лог позволяет восстанавливать последовательность событий.

Номера заявок вроде как можно видеть через QUIK или TRANSAQ, но это не точно — я сам так не пробовал и даже не исследовал вопрос.

И конечно, у Мосбиржи есть полная история всех заявок (Full Order Book, но это терабайты данных (Big Data), с которыми частному лицу работать невероятно сложно и дорого.

Поэтому здесь мой спор с товарищем закончился: он прав — значительную часть статистики можно посчитать самостоятельно, но это не то же самое, что иметь биржевую информацию о жизненном цикле каждой заявки.

Почему я всё‑таки пока выбрал Algopack

Но есть и более прозаичная причина. Чтобы самостоятельно накапливать такую историю, нужно с сегодняшнего дня постоянно записывать рыночные данные. Не просто запустить один скрипт, а обеспечить непрерывную работу инфраструктуры, следить за соединениями, хранить поток данных и проверять, что ничего не потерялось. И если начать это делать сегодня, то завтра у тебя будет один день истории. Через неделю — неделя. А мне нужна история начиная с 2021 года.

Можно, конечно, построить собственную инфраструктуру и ждать несколько лет. Но для исследовательского проекта это довольно странный способ провести лето.

Algopack в этом смысле решает главную проблему сразу: исторические данные уже накоплены за прошлые годы и доступны для загрузки. Цена вопроса — деньги и определённые ограничения самого продукта.

Как я провёл лето: строил ML-пайплайн для торговли на МосбиржеРазмер данных в формате Parquet с Алгопака Мосбиржи, скачивается кстати многие часы, потому что по кусочкам

А данные Алгопака и ИСС Мосбиржи совпадают?

Раз уж я собираюсь строить на этих данных модель, доверять им вслепую было бы странно.

Поэтому я написал отдельный валидатор и решил сравнить пятиминутные данные Algopack с обычными свечами, которые можно бесплатно получить через ISS Московской биржи.

Как я провёл лето: строил ML-пайплайн для торговли на МосбиржеСкришот https://smart‑lab.ru/q/futures/LKU6/, но на минутках уже не перемотать на июль, потому что у TradingView ограничение по истории: глубина на разных диапазонах разная

Например, для фьючерса LKU6 за 2 июля 2026 года (когда я проводил подробный анализ) только за один день набралось около десяти случаев расхождения.

На первый взгляд некоторые различия были совсем небольшими: например, в 10:05, 13:10, 13:20, 15:25, 17:20 и 17:50 цена закрытия отличалась на один пункт, а объём — всего на два‑три контракта.

Ещё оказалось, что при сравнении нужно очень внимательно смотреть на границы интервалов: в Algopack время 09:05 означает фактически интервал с 09:00:00 до 09:04:59; а в стандартных свечах ISS время относится к началу минутного интервала.

А вот большие расхождения уже интереснее. Были и случаи, которые нельзя объяснить одним только пограничным timestamp.

Например, для того же LKU6 в 11:45 один источник показывал объём 135 контрактов, а другой — 229. Разница — 94 контракта. В 12:50 было 22 против 39.

Это уже не ситуация одна сделка попала в соседнюю пятиминутку, хотя писал им в поддержку и мне ответили, сказали что разобрались и пересчитали.

Что в итоге получилось

Теоретически вместо вопроса: «Куда пошла цена за последние пять минут?» можно будет задавать модели гораздо более содержательные вопросы:

  • «Что происходило с агрессивными покупками?»

  • «Увеличивался ли дисбаланс стакана?»

  • «Сколько заявок появилось и сколько было снято?»

  • «Насколько дорогим было бы исполнение крупной заявки?»

  • «Что происходило с ликвидностью непосредственно перед движением цены?»

Пока я не знаю, какие из этих признаков действительно окажутся полезными. И возможно, значительная их часть окажется бесполезной.

Итоги первой части

На этом этапе у меня ещё нет ни модели, ни торгового сигнала, ни ответа на главный вопрос — можно ли вообще заработать на этой информации.

Зато есть потраченное время и главное: исторический набор рыночных данных, собранный в единую структуру.

Я восстановил историю акций и фьючерсов с 2021 года, добавил туда внешние факторы и получили не только цены и объёмы, но и микроструктуру рынка: агрессивные покупки и продажи, заявки, снятия, спреды, глубину стакана и дисбаланс ликвидности.

При этом пришлось отдельно проверять данные Алгопака и искать причины расхождений с ISS.

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

Автор: Михаил Шардин
🔗 Моя онлайн‑визитка
📢 Канал «Умный Дом Инвестора» в TG или MAX

25 августа 2026 года

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
9.5К | ★14
101 комментарий
Садьдо/сантимент  по рыночным исполненным заявкам покупки/продажи Вы можете сами с легкостью распарсить  информацию из таблицы — «Таблица обезличенных сделок », причем на лету и за любой период, но только в рамках торговой сессии .  Со  стаканом сложнее, надо будет самому собирать/записывать данные и уже анализировать.
avatar
Anest, это через квик, а со стаканами через API наоборот проще
Anest, 05:07 Скрипты Lua в Quik'е элементарно дают любую информацию (в том числе из стакана OnQuote) и средства её либо прямой обработки, либо передачи в отдельно запускаемое приложение Windows. В том числе и в приложение Python — через библиотеку LuaSocket и протокол TCP/IP.
Но это «несолидно». Подготовка к процессу, прелюдия, важнее процесса и его результата.
Rostislav Kudryashov, да, но ведь историю там не скачаешь за годы?
Михаил Шардин, 08:27 С историей ещё проще на сайте Финама. А за некоторые (достаточно многие) годы история стакана есть на
erinrv.qscalp.ru/
www.qscalp.ru/qsh-service
www.qscalp.ru/download
www.qscalp.ru/store/qsh2txt.zip
Так ли нужна для обучения нейронки история стакана хотя бы за год?

Rostislav Kudryashov, да я знаю про эти ссылки, но там набор инструментов очень ограниченный и стакан всего 10 уровней.

Я в начале лета все скачал оттуда, получилось 70 Гб, посмотрел, но что делать с ними так и не решил. Акции только в прошлом у них.

Делал файл индекс человеческий — если найду — выложу

 

Картинки все рисуете, так и жизнь пройдет мимо ))
avatar
AlexShul, это же молодость. Времени море и три реки впадают в океан. Мне в 50 лет уже ничего не надо.
Пока я не знаю, какие из этих признаков действительно окажутся полезными. И возможно, значительная их часть окажется бесполезной.

Вы и сами знаете, что это не сработает.
avatar
columbus, посмотрим узнаем 🤷‍♂️
… шел пятый год войны, а где-то в Перми Михаил с Клавдией занимались непристойными вещами — брали по очереди в руки свечку и измеряли глубину стакана
avatar
myaucha, как-то пессимистично :)
myaucha, Сегодня в 06:15 Кто сказал, что корреляции существуют только в мирное время?
За 4 года войны уже порядочная статистика. А для игры в стакане достаточно статистики за 4 дня.
myaucha, Пермь / Перми
Михаил Шардин, Принято, исправил
avatar
myaucha, после буквы «р» мягкий знак для обозначения мягкости не пишется никогда
avatar
DrManhattan, кажется это всё слегка отклонилось от основной темы статьи :)
DrManhattan, А как же «Корь»?! Выглядит довольно мягко
avatar
Линейный алгоритм.
Линейное мышление.
Система не бывает линейной.
Система — это взаимосвязь между всеми частями.
12345 — это не система.
12 13 14 15 23 24 25 34 35 45 — вот система.
Василий Федорович, почему вы считаете что он линейный?
Василий Федорович, Гениально!
avatar
myaucha, спасибо, обращайтесь, если что.
Василий Федорович, Сегодня 06:18  Ну почитал бы хоть азы, прежде чем высказываться.
«Deep Learning with Python 2Ed» Fransois Chollet
Начало ссылки
sourestdeeds.github.io/pdf/Deep Learning with Python.pdf
Конец ссылки
Нелинейности элементарно вводятся в модель на нейросети.
Василий Федорович, система — это не просто набор связей, а структура, обладающая эмерджентными свойствами.
Это множество парных связей (12 13 14 15 и т.д.) не имеет подсистем, иерархии, обратных связей и границ системы.
Полный граф парных взаимодействий описывается матрицей смежности, а динамика процессов в таком графе сводится к линейной алгебре.
В настоящей нелинейной системе важную роль играют эффекты синергии.
Кирпичи содержат потенциал дома, но они ещё не
дом.
avatar
DrManhattan, не очень понял, но поставил плюс
Михаил Шардин, а я не поставил, если человек пишет непонятно для других, то это ОН не умеет писать, а не мы не умеем читать. Здесь многие с вышкой, с двумя вышками, с техническими вышками, есть и КТН. А самолюбие — грех.
DrManhattan, набор фраз,
ну вот просто так возьмем один кусок:
«В настоящей нелинейной системе важную роль играют эффекты синергии.» — отвечаем: эффект синергии не создает систему.
Без комментариев.
Василий Федорович, может множество знаков?
Там же написано русским язык, что создает систему:
подсистемы, иерархии, обратные связи и границы.
Дополнения приветствуются.
Но надо, конечно, придраться к синергии.
Возьмем другой кусок — «Система не бывает линейной».




avatar
DrManhattan, да конечно бывает, я тут давно не был, пытаюсь через провокацию прощупать местную публику.
Проблема в том что стакан есть только на российской бирже.
Я бы делал все сразу под америку.
А потом с америки алгоритмы переносил бы на россию.
Имхо россиская биржа из за маленького числа бумаг и малой ликвидности очень трендовая и перенести алго на америку не получится.
Мне пришлось пересобирать торговлю на америке заново. Т.к успешные на россии алгоритмы отказались работать на сша. Только один бот в qqq и только в лонг еще как то работает.
avatar
ves2010, а без бота просто лонг не работает на кукуку?
Есть ли реально корреляции в стакане, кроме шума?
Балаган, ну если готов терпеть просадки в -50% как в 2020ом то ок…
или например после падения 1999-2002гг qqq показал новые хаи только через 7 лет
avatar
ves2010, стакан есть на крипте.
avatar
chizhan, он есть но он ничего не дает… т.к ликвидность размазанна по нескольким биржам со своими стаканами...

аналогично с насдак и найс — стакан есть но 80% сделок внутри есн
avatar
ves2010, сильно ли меняется доходность стратегий, апробированных на америке, и адаптированные под россию?
avatar
Eskalibur, там вопрос не в доходности… а в выборе актива для торговли… в россии весь рынок это 10 акций + фьюч ртс ++ фьюч си… а в сша только акций 500  штук и что торговать?

т.е на америке помимо алгоритма торговли добавляется алгоритм выбора торгуемого актива… исключение qqq  его можно торговать прям как российские активы

доходность кстати та же ...

но если в россии я обгоняю рынок то на америке я отстаю от рынка и только на больших падениях я догоняю
avatar
ves2010, неужели из 500 акций нет трендовых как российские?
И ещё — что с таблицей все сделки, она доступна?
avatar
MoscowTrades, смотри… в российском рынке много денег и мало акций поэтому они вечно движутся… на американском много акций и мало денег под эти акции поэтом движутся только хайповые бумаги… хайп закончился — акция стала унылым говном WDC — Western Digital Corp Stock Price and Quote

что за таблица? есть лента в которую пишутся текущие сделки… но т.к их много там бардак
avatar
Короче, Склифосовский. 
Сколько заработал уже?
Балаган, в начале статьи сказано:

«мой эксперимент и он не только не зарабатывает, но и пока даже непонятно чем закончится»

То есть, ничего не зарабатывает
avatar
Андрей, спасибо. Я как открыл это полотно, хорошо что не читал))
Балаган, 
хорошо что не читал))
Очевидно же. Чукча не читатель. Чукча писатель.
avatar

Балаган, 

 

На этом этапе у меня ещё нет ни модели, ни торгового сигнала, ни ответа на главный вопрос — можно ли вообще заработать на этой информации.

Зато есть потраченное время и главное: исторический набор рыночных данных, собранный в единую структуру.

Балаган, а кстати, вы Вазелин?
Я не увидел в статье ничего именно про обучение
avatar
Андрей, потому что это следующий шаг
Вставлю свои пять копеек, во первых это не зря потраченное время, автор развивается и это прекрасно. Во вторых если даже собрав L2 данные минимум за 1 год MOEX по всем инструментам и написание рабочей плюсовой модели вряд ли поможет. Да модель будет показывать плюс на коротком горизонте до 1-2 минут максимум. Но тогда нужно подписка и сервер в стойку биржи и плюс борьба с конкурентами а там их не мало. Плюс алгоритмы у них прошитые в платы и по скорости вам будет сложно (невозможно) конкурировать. Все это огромные издержки и в одиночку это не осилить. А на среднесрочном горизонте вам L2 данные ни чего не дадут вообще. Подумайте -  среднесрочный горизонт+ это единственное что может покрывать издержки торговли. 
avatar
Pauli777, спасибо
Pauli777, 08:39 Именно! Торговать по тикам можно только с нулевой комиссией и без проскальзывания. Движения тикового масштаба слишком малы. Не говоря уж, что заявки «Айсберг» маскируют их специфичность.
Pauli777, во первых это не зря потраченное время
Именно что зря. То, что делалось 10 лет назад, уже делают ИИ-агенты и гораздо быстрее-качественнее, тот скил считайте обнулён. То что делает автор сейчас, делалось лет 5-8 назад на гораздо более серьёзном уровне, особых результатов нет, скажем, в Форбс-500 есть ли кто из алготрейдеров?

Если развиваться ради самого развития, то лучше OHLC данные, они проще, по ним тонны инфы, их легче собрать и обработать в хвост и гриву, по ним результаты кубка робинсона и прочих лчи. ML, DL, RL это архисложно одному и без $m вливаний.
avatar
chizhan, с ИИ агентами это всё упростилось, но конечно инфраструктуру тянуть дело такое…
Михаил Шардин, как упростилось, так и усложнилось. Сейчас при интеграции с ИИ важно не скатиться до полного доверия к нему, а это значит проверять «вручную» что он там нагенерил. То есть читать километры строк кода самому. И если челевеческий код по крайней мере не допускает детские ляпы, человек представляет, что он создает, то машине это все фиолетово, она лишь компилирует то, что уже кто-то создал.
avatar
chizhan, другая модель может проверять первую
Михаил Шардин, да он сейчас один из крутых! 
avatar
Ещё 8 лет назад Начало ссылки
www.inf.u-szeged.hu/~korosig/teach/books/Jason Brownlee — Deep Learning for Time Series Forecasting — Predict the Future with MLPs, CNNs and LSTMs in Python (2018).pdf
Конец ссылки Для скачивания не «Копировать ссылку», а просто «Копировать» выделенное. Ахтунг! С-Л заменяет дефис "-" на тире.
считалось, что статистические методы лучше нейросетей, а простые модели на сетях лучше более сложных.
Если исходить из того, что ИИ силён обобщением накопленного человечеством опыта, то накоплен ли уже такой опыт в алготрейдинге, достаточный для обобщения?
не думали прикрутить поиск рыночной неэффективности? например между фьючами и акциями 
хотя думаю, все это уже давно прикручено алготрейдерами
avatar
SVG, вроде это все ради её поиска
OHLCV можно оживить, если выполняются все условия:
Трейдинг:
-лимитки только (по сути ловить движения «ножи»)
-трейлинг если идет цена ниже лимита и ждать
-тп и сл одинаковые, учитывать спред
-при локе, стараться выходить по середине или ждать следующий сигнал
-лок позиции на противоположных
-старый добрый мартин с широким пипсом
-фьючерсы (акции в шорт нельзя на MOEX)
-ожидать просадку 30%

Технологии:
-высокий тф не ниже H4
-любые ML/DL
-несколько сигналов с вероятностями (несколько меток, 2-3. Например -1, 0, 1). активация sigm или tanh
-вся история переведена из абсолюта в относительные (темпы)
-разный тип моделей для разных инструментов (не ансамбль)
-история не менее 3 лет
-переобучение раз в неделю
-все остальные прелести ML для эффективного обучения

геморно, хрупко, мало доходное. но работает. не использую, но когда-то использовал. )) 
Ilya Kosarev kimkarus, а на что перешли в итоге?
avatar
MoscowTrades, 

Трейдинг:

-облигации
-позиции в лонг
-вход и выход по рынку
-тп и сл. разные и виртуальные (менее надежно)
-не допускать просадку на позицию ниже 5%
-2-3% на позицию

Технологии:

-ML (математика)
-автоматизация: скринер, размещение заявок (покупка/продажа)
-автоматизация: ребалансировка, реинвестирование
-автоматизация: контроль виртуальных тп и сл

как мне показалось, более надежно, менее геморно и доходность выше на единицу затрат на это все (разработка и поддержание)


Программирование не изучал, оценить открытие не могу. Но по данному графику понятно, что речь идет о путешествии во времени. Время с цены 105 до 104 развернулось и шло в обратном направлении. Может доживу когда научатся ворачивать меня в мои 18 лет. 
Александр, это чатгпт иллюстрацию нарисовал :)
Михаил, привет
сколько денег на подобную задачу потратилось через openrouter на моделях
Claude Sonnet 5, Gemeni 3.7 Flash? и примерно за какой срок?
Андрей К, я не использую агентов — через чат в браузере эти модели бесплатно. Ноль. Через опенроутер Fable только
Михаил Шардин, Fable 20 баксов прочитал. Это надолго початиться хватило? Это же не подписка за 20 баксов, а покупка токенов была?

меня жаба душит Fable в Cursor использовать, вот думаю все на openrouter лимиты закупать, но это мне надо всю инфрастуктуру разработки перестроить, пока не решился
Андрей К, ужасно мало. Покупка токенов
Михаил Шардин, 
ужасно мало.
а этот Fable, да и Opus просто прет поговорить, наговорить кучу токенов ) постоянно приходится его ограничивать правилами

но для ресерчей они конечно хороши, логика и мышление развиты )
Gemeni 
Как ты собираешься освоить МЛ, если ты за все лето даже не выучил, как правильно называется модель?
avatar
BobbyKotick, про модели в статье ни слова нет
BobbyKotick, а, Google Gemini — опечатка
Здравствуйте, коллега. Поделюсь своим опытом. Прежде всего посчитайте комиссии Мосбиржи для вашей системы на пяти минутах. Без этого потратите время зря. Второй момент определите хотя бы примерно количество сделок вашей системы. Вополне может получиться так, что прежде чем что-то заработать надо будет отдать процентов 80% в год. Например при 2000 сделок, стопе около 2-3 ATR и комиссии мейкера 0.2% на круг — за год придется отдать около 25-40% депо только за комиссии биржи.

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

Добавьте в схему OCHLV еще один показатель волатильность. Далее количество сделок для статистически вывернного результата, у вас может не оказаться материала для исследований, поэтому задайте этот вопрос для начала. Сколько нужно сделок чтобы понять релевантность.
CryptoGoldenAce, спасибо
Михаил Шардин, И для понимания, что и сколько стоит, при интенсивной работе в DeepSeek v4-pro я потратил за месяц 8 млрд. токенов. Это в ценах Fable — около $100 тыс. Сейчас они подняли цены, стало кусаться, поэтому ограничил потребление двумя моделями OpenAI — Sol 5.6 pro / Claude Opus 5 pro  + DeepSeek на подхвате как мозги для Hermes
CryptoGoldenAce, почему не Qwen?
Михаил Шардин, c QWEN не зашло, очень сложный интерфейс, в результате, дают 1 млн. токенов, но на все модели. Получается так — нужна модель для API, модель подключается, пару запросов и беслатные токены заканчиваются, ты переключаешся на платную модель, тут им карта и поперла, вам врубают нехилый счетчик и ты не понимаешь за что. В общем языковая модель неплохая, но с оговорками
А почему 5 минутки? Для HFT это слишком крупно, для трендовой торговли мелко, модель научится на шуме. У вас хорошая инфраструктура без рабочей гипотезы. Мне попадалось исследование, по этой информации из стакана ML может предсказывать цену, но это преимущество пропадает буквально за 10 миллисекунд www.paris-december.eu/sites/default/files//papers/2024/alessio-sancetta.pdf И еще есть такое исследование, researchonline.lse.ac.uk/id/eprint/128950/ у них даже есть свой фреймворк для тестов, пришли к выводу что высокая предсказательная сила модели на практике не трансформируется в прибыльные торговые сигналы.
Александр Крапильский, алгопак предоставляет только 5 минутки на истории :) вроде у них в чате писали что в этом году хотят минутный интервал сделать, но пока нет
Михаил Шардин, честно говоря пока пришел к выводу что использовать ML на данных вслепую это достаточно бессмысленная затея, потом сложно понять что она вообще торгует и когда споткнется. Вот если есть хоть какая-то рабочая гипотеза, пусть даже с крошечным преимуществом, ML сделает ее в 2 раза эффективнее.  
я один не понял, о чем пишет ТС?
avatar
Ho_Chu, хз
Ho_Chu, его вечно куда то не туда тянет 
avatar
RiskTrader, шёл бы на завод работать… или в ремесленое, пока могут взять по возрасту ))
avatar
Сейчас популярны обсуждения мертвого интернета

И скоро мы похоже придем к мертвой бирже
avatar
Remington12, вряд ли
Remington12, Как может умереть то, что уже умерло и смердит 
Михаил, бесполезно, местный народ вообще не одупляет о чем речь, в топике ровно ноль комментариев по теме. На смартлабе публика давно деградировала до уровня срачей и обсуждения примитивных инвестиций. Если кто-то что-то еще понимает про простых роботов и теханализ, то как только появляется ML и DL на основе микроструктуры — понимание падает до нуля. Я один раз попробовал — больше не буду тратить время и ресурс клавиатуры).

ЗЫ. На конференции Биржевой Алгоритм будете про этот эксперимент рассказывать?
avatar
BeyG, скорее всего да, про него. Пока он в процессе :)
А по поводу агентов — это вы зря. У меня команла из локального Qwen 3.8-27B (до этого 3.6) в роли чернорабочего-кванта и Codex Sol 5.6 xhigh в роли супервайзора-дата саетиста-менеджера превратилась в почти автономный конвейер по поиску альфы.

Они делают лучше человека уже почти все. Им только не хватает наводки где и как искать — остальное уже по накатанной гораздо лучше меня.
avatar
BeyG, интересно
BeyG, с квантованием?
Михаил Шардин,  квен, да, Q4, на 17 с небольшим Гб, с Q4 KV квантованным контекстом и парой настроек получается полный оффлоуд на 24Gb GPU с 160-170k контекста и скоростью 31-33 ток/с. Если есть 32GB и больше, туда можно и Q5 с 256k Q8 KV контекстом поместить, а это уже почти неотличимо от оригинала.По метрикам по моим расчетам равен GPT-5, местами тупит конечно, но компенсируется любым временем работы и бесплатными токенами.
avatar
BeyG, подскажите пжлст конфиг, на чем крутите 3.8-27B с 160-170 контекста и 33ток/c?

на данный момент имею старую gpu с hbm2 32gb, она тащит только 32к контекста и больше вылетает и да, на 3.5-9b

рассматриваю supermicro c v100 32gb. Вот думаю, сможет ли там хотя бы 64к контекста

все хочу арендовать глянуть, руки не доходят
заранее спасибо )
avatar
BeyG, компенсируется любым временем работы и бесплатными токенами.
А я думал локальные LLM используют, чтоб не палить граали))
avatar
chizhan, так их же не существует
BeyG, 
Codex Sol 5.6 xhigh в роли супервайзора-дата саетиста-менеджера превратилась в почти автономный конвейер по поиску альфы.
кодекс же покупной токены? или прям подписка
интересно, сколько денег в роли супервайзера уходит, ну или хотя бы токенов в месяц in/out
avatar
Мой начальник, не являясь программистом, подобный набор действий для ежемесячной финансовой отчётности в одной из крупнейших российских компаний смастерил в 2020. Так же, поэтапно выполнялись команды на Phyton, проводившие вычисления и обновлявшие по сети данные в нескольких базах разной природы. Это чтоб каждый раз не собирать, не проверять, не вычислять данные вручную.
avatar
Трейдинг — это работа с неопределённостью движения графика и при этом с поиском закономерностей на нём.
  Определять таким огромным массивом сколько заявок выставили и сколько исполнили или сняли — это тупиковый путь. 
  А грааль в трейдинге — это когда трейдер сможет победить себя и идеально исполнить свою стратегию на дистанции.
avatar

Читайте на SMART-LAB:
Фото
Улучшаем технологии на «Поиске»
Завершается строительство цеха флотации на золотоизвлекательной фабрике производственного комплекса «Поиск» в Краснощековском районе...
Фото
📃 Подбираем инструмент под вашу ситуацию
Облигации с плавающим купоном и фонды денежного рынка приносят доход при высоких ставках, но решают разные задачи. Всё зависит от ваших целей и...
📌 Материалы с вебинара по результатам II квартала
Друзья, запись сегодняшнего вебинара уже доступна: 🔗 Rutube 🔗 VK Video Кроме того, вы можете ознакомиться с презентацией по итогам II...
Фото
Мозговой штурм + обзор трендов, которые определяют инвестиции
Доброго дня. Сегодня наша команда провела традиционный мозговой штурм и я бы хотел познакомить вас с его итогами. Но для начала предлагаю...

теги блога Михаил Шардин

....все тэги



UPDONW
Новый дизайн