Блог им. AlexCosta
Привет! Хочу поделиться с вами плодами многомесячной работы и представить мой первый в жизни торговый робот. Его имя: 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. Так что пока ничего о потенциальной доходности данного робота сказать не могу.
Василий Федорович, 28 февраля даже 2025 этого работа еще и в планах не было.
Он работает со стаканом и с обезличенными сделками.
С новостной лентой робот не работает.
А вот айсберг-заявки крупных игроков нацеленные на продажу или на покупку — увидит.
Например, вот из сегодняшнего лога во время тестирования:
[2025-07-17 14:37:13] [XRAY] ⚡️ АЙСБЕРГ: GAZP offer @ 122.2000 | Общий: 19103 лотов (23343866 руб) Выедено: 18550 лотов Восстановлений: 22 [Порог: 301745 руб]
Василий Федорович, вряд ли есть кто-то, кто всегда прав. Крупные игроки не исключение. Однако, та цена на которой стоит крупная скрытая заявка может служить неким уровнем поддержки/сопротивления, от которого можно подумать над стратегией. Статистки сейчас у меня нет, только в планах сопостаавить сигналы с графиком движения цены. Робот только-только вышел на тест (пару дней). Пока нужно оптимизировать множество переменных. Айсберг-заявки не единственное поле для оптимизации.
Михаил, не HFT решение — естественно, медленно относительно HFT.
QUIK. Через поллинг идет опрос стакана и заявок. Плавно уменьшаю значение POLLING_INTERVAL = 250
Опасаюсь превысить лимит запросов в QUIK. Может быть смогу сделать более быстрым, но все равно это не будет HFT решением.
Микросекунды не получится сделать.