Блог им. AlexCosta

Создание торгового робота Market Microstructure "40_in" v.1.0

Привет! Хочу поделиться с вами плодами многомесячной работы и представить мой первый в жизни торговый робот. Его имя: Market Microstructure 40_in v.1.0. Это не просто «ещё один алго-бот», а сложная система, разработанная для того, чтобы «читать» рынок на глубоком уровне, выявляя скрытые намерения крупных игроков и аномалии, недоступные обычному трейдеру.

Потенциально, когда робот будет полностью готов, планирую на его основе создать стратегию автоследования на comon.ru

Что такое Market Microstructure 40_in v.1.0 и как он работает?

В то время как большинство торговых роботов опираются на классические индикаторы или новостной фон, Market Microstructure 40_in v.1.0 погружается в микроструктуру рынка. Это означает, что он не просто смотрит на цену, а анализирует сам процесс формирования цен и объёмов в биржевом стакане и ленте сделок. Представьте себе рентген, который просвечивает рыночные данные, чтобы увидеть то, что скрыто от глаз.

Его основные «органы чувств» и «мозговые центры» включают:

Детектор «Айсбергов» (Модуль X-Ray): Вы когда-нибудь замечали, как крупная заявка в стакане «пополняется» после частичного исполнения? Это «айсберг» — большая скрытая заявка. Мой робот умеет их идентифицировать, понимая истинный масштаб спроса или предложения, что даёт преимущество в понимании рыночного давления.

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

Анализатор Агрессии (Aggression Analyzer): Робот отслеживает «агрессивные» сделки — те, что исполняются по рыночной цене (маркет-ордера). Накапливая и анализируя их объём, он определяет, насколько сильно покупатели «толкают» цену вверх или продавцы «тянут» её вниз, давая четкий сигнал о текущем настроении рынка.

Измеритель Силы Стакана (Strength Module): Этот модуль оценивает баланс сил в биржевом стакане, анализируя глубину и объёмы заявок на покупку и продажу на разных ценовых уровнях. Он помогает понять, кто доминирует на рынке — быки или медведи.

Оптимизатор Торгового Времени (Time Optimizer): В разных часах торговой сессии рынок ведёт себя по-разному. Робот со временем «учится» определять наиболее прибыльные временные интервалы для каждого инструмента, подстраиваясь под его уникальный «ритм».

Монитор Безопасности (Safety Monitor): Как и в любой сложной системе, безопасность превыше всего. Этот модуль постоянно следит за «сердцебиением» всех остальных компонентов. Если что-то идёт не так, он может активировать аварийный режим, чтобы предотвратить нежелательные ситуации.

Скорость и Производительность

Market Microstructure 40_in v.1.0 работает на базе QUIK-терминала, используя Lua 5.4.1. Благодаря оптимизированному коду и мощности моего железа (Intel Core i7-4790S, 8ГБ ОЗУ), я смог настроить частоту обновления данных до 250 миллисекунд (0.25 секунды). Это означает, что робот обновляет свою картину рынка и пересчитывает все сигналы 4 раза в секунду для каждого из 6 отслеживаемых инструментов! Такая скорость позволяет ему быть очень реактивным и оперативно принимать торговые решения.

Для кого этот робот?

Market Microstructure 40_in v.1.0 ориентирован на внутридневную торговлю и идеально подходит для тех, кто ищет преимущества в потоке ордеров и краткосрочных рыночных аномалиях. Он не торгует по фундаментальному анализу или долгосрочным трендам, а скорее «вынюхивает» моменты, когда поведение рынка отклоняется от нормы или когда крупные игроки проявляют свои намерения.

_ _ _
На данный момент робот находится в стадии теста и имеет ряд багов:
1. Почему-то во время первой сделки каждый день начинает открывать 4 раза позицию, при этом больше это не повторяется, даже если сбросить настройки робота и начать с чистого листа. На другой день история повторяется. Пока отложил решение этой проблемы.
2. Иногда пропускает запись сделок в лог файл (возможно это связано с тем, что я открывал этот лог с помощью блокнота и поэтому престает писать лог. Или же это связано с излишним режимом отладки и не хватает памяти. Причина избирательности учета мне пока не очень ясна. Поэтому решение этой проблемы тоже пока откладываю. Просто наблюдаю.
3. Робот находится в процессе оптимизации параметров конфигурации. Параметры робота пока не определены.
4. Соответственно, не ясно пока насколько работает или не работает модуль самообучения, который должен оптимизировать время входа. Так как пока нет такой статистики для анализа этим модулем.
5. Так что пока ничего о потенциальной доходности данного робота сказать не могу.

496
11 комментариев
ой. если б все думали так как Вы, то Человечество бы все еще с палками по лесам бегали
avatar
28 февраля 2022 года — он «вынюхал» момент, когда поведение рынка отклоняется от нормы или когда крупные игроки проявляют свои намерения?

Василий Федорович, 28 февраля даже 2025 этого работа еще и в планах не было.
Он работает со стаканом и с обезличенными сделками.

С новостной лентой робот не работает.

А вот айсберг-заявки крупных игроков нацеленные на продажу или на покупку — увидит.

Например, вот из сегодняшнего лога во время тестирования: 

[2025-07-17 14:37:13] [XRAY] ⚡️ АЙСБЕРГ: GAZP offer @ 122.2000 | Общий: 19103 лотов (23343866 руб) Выедено: 18550 лотов Восстановлений: 22 [Порог: 301745 руб]

avatar
AlexCosta, ну, скажем, идея по айсберг-заявкам — интересно. А крупные игроки всегда правы? есть статистическое подтверждение этому?

Василий Федорович, вряд ли есть кто-то, кто всегда прав. Крупные игроки не исключение. Однако, та цена на которой стоит крупная скрытая заявка может служить неким уровнем поддержки/сопротивления, от которого можно подумать над стратегией. Статистки сейчас у меня нет, только в планах сопостаавить сигналы с графиком движения цены. Робот только-только вышел на тест (пару дней).  Пока нужно оптимизировать множество переменных. Айсберг-заявки не единственное поле для оптимизации.

avatar
А чего так медленно — чего вы там делаете четверть секунды?
avatar

Михаил, не HFT решение — естественно, медленно относительно HFT.

QUIK. Через поллинг идет опрос стакана и заявок. Плавно уменьшаю значение POLLING_INTERVAL = 250

Опасаюсь превысить лимит запросов в QUIK. Может быть смогу сделать более быстрым, но все равно это не будет HFT решением. 

Микросекунды не получится сделать.

avatar
Ради интереса, а алго сделан не основе книги микроструктура рынка?
avatar
Андрей К, не читал такую книгу.
avatar

Читайте на SMART-LAB:
Фото
Про вложения в ВДО в контексте дефолта Монополии
Что Монополия – рискованный эмитент, мы пару раз писали в нашем блоге (в телеграм-канале   — по тегу #монополия). Вообще, облигации...
Фото
DXY у ключевой поддержки: шорт-сквиз или новый этап распродажи?
Индекс доллара DXY плавно дрейфует в область месячного минимума в районе 98,50. Однако ослабление доллара на FX неравномерно: EURUSD стоит около...
Фото
Почему можно и нужно проводить ребалансировку портфеля
Фондовый рынок — это динамичная среда, которая постоянно меняется под воздействием новой информации. Из-за этого определенные инвестиционные идеи...

теги блога AlexCosta

....все тэги



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