<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
    <title>Notes &amp; Insights - market-microstructure</title>
    <subtitle>Блог об архитектуре систем, AI-агентах, распределенных системах и алгоритмическом трейдинге.</subtitle>
    <link rel="self" type="application/atom+xml" href="https://xsa-dev.github.io/tags/market-microstructure/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://xsa-dev.github.io"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-10-08T00:00:00+00:00</updated>
    <id>https://xsa-dev.github.io/tags/market-microstructure/atom.xml</id>
    <entry xml:lang="ru">
        <title>Order Flow, Footprint и CVD в алготрейдинге: физика ликвидности и чтение микроструктуры рынка</title>
        <published>2026-10-08T00:00:00+00:00</published>
        <updated>2026-10-08T00:00:00+00:00</updated>
        
        <author>
          <name>Alexei Savin</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://xsa-dev.github.io/posts/order-flow-footprint-cvd-algo-trading/"/>
        <id>https://xsa-dev.github.io/posts/order-flow-footprint-cvd-algo-trading/</id>
        
        <content type="html" xml:base="https://xsa-dev.github.io/posts/order-flow-footprint-cvd-algo-trading/">&lt;p&gt;Большинство розничных трейдеров и начинающих квант-разработчиков смотрят на рынок через призму &lt;strong&gt;свечей (OHLCV)&lt;/strong&gt; и производных индикаторов (RSI, MACD, скользящие средние). Главная проблема такого подхода — &lt;strong&gt;запаздывание и потеря информации&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Свеча фиксирует только финальный результат интервала времени, скрывая главное: &lt;em&gt;какие объемы, по каким ценам и с какой агрессией проторговывались внутри бара&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Order Flow (поток ордеров)&lt;/strong&gt; — это фундаментальная физика биржи. Это регистрация реального взаимодействия между покупателями и продавцами в режиме реального времени.&lt;/p&gt;
&lt;p&gt;Разберем, как устроена биржевая ликвидность, как читать кластерный график (&lt;strong&gt;Footprint&lt;/strong&gt;), интерпретировать накопленную дельту (&lt;strong&gt;CVD&lt;/strong&gt;) и формализовать эти сигналы в алгоритмических стратегиях.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;1-fizika-rynka-market-vs-limit-ordera-v-birzhevom-stakane-dom&quot;&gt;1. Физика рынка: Market vs Limit ордера в биржевом стакане (DOM)&lt;/h2&gt;
&lt;p&gt;Рыночная цена не движется сама по себе — ее двигает исключительно дисбаланс между агрессивными и пассивными заявками в &lt;strong&gt;Depth of Market (DOM)&lt;/strong&gt;:&lt;/p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align: left&quot;&gt;Сторона стакана&lt;/th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Ценовой уровень&lt;/th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Доступный объем&lt;/th&gt;&lt;th style=&quot;text-align: left&quot;&gt;Роль участника&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: left&quot;&gt;🔴 &lt;strong&gt;ASK (Sell Limit)&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;$65,010&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;12.5 BTC&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Пассивный продавец&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: left&quot;&gt;🔴 &lt;strong&gt;ASK (Sell Limit)&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;$65,005&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;8.0 BTC&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Пассивный продавец&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: left&quot;&gt;🔴 &lt;strong&gt;ASK (Sell Limit)&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;$65,000&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;4.2 BTC&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Best Ask (ближайшая ликвидность)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: left&quot;&gt;⚡ &lt;strong&gt;SPREAD&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;—&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;—&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&lt;strong&gt;Market BUY&lt;/strong&gt; выкупает ликвидность Ask&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: left&quot;&gt;🟢 &lt;strong&gt;BID (Buy Limit)&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;$64,995&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;5.1 BTC&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Best Bid (ближайшая поддержка)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: left&quot;&gt;🟢 &lt;strong&gt;BID (Buy Limit)&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;$64,990&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;10.0 BTC&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Пассивный покупатель&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: left&quot;&gt;🟢 &lt;strong&gt;BID (Buy Limit)&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;$64,985&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;15.4 BTC&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Пассивный покупатель&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;h3 id=&quot;kliuchevye-aksiomy-mikrostruktury&quot;&gt;Ключевые аксиомы микроструктуры:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Limit Orders (Пассивные):&lt;/strong&gt; добавляют ликвидность в стакан. Они формируют уровни поддержки/сопротивления и ждут, пока в них исполнятся другие участники.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Market Orders (Агрессивные):&lt;/strong&gt; забирают ликвидность из стакана. Только рыночные ордера двигают цену, «выедая» лимитные заявки на противоположной стороне.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deep vs Shallow Market:&lt;/strong&gt; на глубоком рынке крупный рыночный ордер сдвинет цену незначительно; на тонком (неликвидном) рынке даже средний объем пробьет несколько ценовых уровней (проскальзывание / slippage).&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;2-volume-footprint-klasternyi-rentgen-svechi&quot;&gt;2. Volume Footprint: кластерный рентген свечи&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Footprint&lt;/strong&gt; разбивает каждую свечу на ценовые уровни и показывает объем сделок, совершенных по цене &lt;strong&gt;Bid&lt;/strong&gt; (агрессивные продажи) и по цене &lt;strong&gt;Ask&lt;/strong&gt; (агрессивные покупки):&lt;/p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align: center&quot;&gt;Уровень цены&lt;/th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Bid (Market Sell)&lt;/th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Ask (Market Buy)&lt;/th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Delta ($\Delta$)&lt;/th&gt;&lt;th style=&quot;text-align: left&quot;&gt;Рыночная структура&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;strong&gt;$65,020&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;12&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;85&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;+73&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;🟢 &lt;strong&gt;Stacked Buying Imbalance&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;strong&gt;$65,015&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;5&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;42&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;+37&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;🟢 &lt;strong&gt;Stacked Buying Imbalance&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;strong&gt;$65,010&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;18&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;90&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;+72&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;🟢 &lt;strong&gt;Агрессор пробивает уровень&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;strong&gt;$65,005&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;50&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;48&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;-2&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Нейтральный баланс&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;strong&gt;$65,000&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;120&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;110&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;code&gt;-10&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;🔵 &lt;strong&gt;Point of Control (POC / макс. объем)&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;h3 id=&quot;chto-daet-footprint&quot;&gt;Что дает Footprint:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Delta ($\Delta$):&lt;/strong&gt; разница между покупками по Ask и продажами по Bid на конкретной цене:
$$\Delta = \text{Volume}_{\text{Ask}} - \text{Volume}_{\text{Bid}}$$&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stacked Imbalance (Стек дисбалансов):&lt;/strong&gt; ситуация, когда 3 и более ценовых уровня подряд показывают многократный перевес покупателей или продавцов (обычно от 300% до 400%). Это маркер сильного импульса.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;3-dva-kliuchevykh-patterna-absorption-vs-initiation&quot;&gt;3. Два ключевых паттерна: Absorption vs Initiation&lt;/h2&gt;
&lt;p&gt;При анализе Footprint алгоритм ищет два фундаментальных состояния рынка:&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #BFBDB6; background-color: #0D1017;&quot; &gt;&lt;code data-lang=&quot;mermaid&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;flowchart&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt; TD&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;    subgraph&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt; P1 &lt;/span&gt;&lt;span&gt;[&amp;quot;🛡️ Паттерн 1: Absorption &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;Поглощение лимитным игроком&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;)&lt;/span&gt;&lt;span&gt;&amp;quot;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        direction TB&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        A1&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Агрессивные Market SELL (Delta резко отрицательная)&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        A2&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Крупный Buy Limit на дне свечи впитывает весь объем&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        A3&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Итог: Гигантский объем на дне, но цена НЕ падает&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        A4&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;🟢 Сигнал: Бычий разворот (Bullish Reversal)&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        A1 &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;gt; A2 &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&amp;gt;&lt;/span&gt;&lt;span&gt; A3 &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&amp;gt;&lt;/span&gt;&lt;span&gt; A4&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;    end&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;    subgraph&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt; P2 &lt;/span&gt;&lt;span&gt;[&amp;quot;⚡ Паттерн 2: Initiation &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;Инициация импульса&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;)&lt;/span&gt;&lt;span&gt;&amp;quot;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        direction TB&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        B1&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Агрессивные Market BUY легко выносят тонкий стакан Ask&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        B2&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Свеча закрывается на максимуме с устойчивой дельтой&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        B3&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;🟢 Сигнал: Истинный пробой и продолжение тренда&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        B1 &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;gt; B2 &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&amp;gt;&lt;/span&gt;&lt;span&gt; B3&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;    end&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;4-cvd-cumulative-volume-delta-i-divergentsii&quot;&gt;4. CVD (Cumulative Volume Delta) и дивергенции&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;CVD (накопленная дельта объема)&lt;/strong&gt; суммирует дельту всех совершенных сделок с начала сессии или расчетного окна:&lt;/p&gt;
&lt;p&gt;$$\text{CVD}_t = \sum_{i=1}^{t} \Delta_i = \sum_{i=1}^{t} (\text{Vol}_{\text{Ask}, i} - \text{Vol}_{\text{Bid}, i})$$&lt;/p&gt;
&lt;h3 id=&quot;divergentsii-cvd-kak-indikator-istoshcheniia&quot;&gt;Дивергенции CVD как индикатор истощения:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Медвежья дивергенция (Bearish Absorption):&lt;/strong&gt; цена обновляет локальный максимум (Higher High), но CVD формирует более низкий максимум (Lower High) или резко падает. Это означает, что рост идет на тонком рынке без поддержки реальных покупок.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Бычья дивергенция (Bullish Absorption):&lt;/strong&gt; цена обновляет минимум (Lower Low), а CVD растет (Higher Low). Агрессивные продажи упираются в скрытые лимитные заявки крупного покупателя.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;5-volume-profile-poc-value-area-hvn-i-lvn&quot;&gt;5. Volume Profile: POC, Value Area, HVN и LVN&lt;/h2&gt;
&lt;p&gt;В то время как классический объем привязан к времени (Volume per Bar), &lt;strong&gt;Volume Profile&lt;/strong&gt; группирует объем по горизонтальным ценовым уровням (Volume at Price):&lt;/p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align: center&quot;&gt;Ценовой уровень&lt;/th&gt;&lt;th style=&quot;text-align: left&quot;&gt;Профиль объема&lt;/th&gt;&lt;th style=&quot;text-align: center&quot;&gt;Тип зоны&lt;/th&gt;&lt;th style=&quot;text-align: left&quot;&gt;Структура ликвидности&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;strong&gt;$65,030&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&lt;code&gt;█&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;strong&gt;LVN&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Зона быстрого пролета (тонкая ликвидность)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;strong&gt;$65,020&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&lt;code&gt;██████&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;strong&gt;VA&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Value Area (торговля в балансе)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;strong&gt;$65,010&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&lt;code&gt;████████████████████&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;strong&gt;POC / HVN&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&lt;strong&gt;Point of Control (максимальное принятие цены)&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;strong&gt;$65,000&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&lt;code&gt;██████████&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;strong&gt;VA&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Value Area (торговля в балансе)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;strong&gt;$64,990&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&lt;code&gt;█&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;strong&gt;LVN&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Зона отторжения цены&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;h3 id=&quot;anatomiia-kliuchevykh-zon-volume-profile&quot;&gt;Анатомия ключевых зон Volume Profile:&lt;/h3&gt;
&lt;p&gt;В зависимости от концентрации объема алгоритм делит горизонтальный профиль на четыре базовых узла ликвидности:&lt;/p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align: left&quot;&gt;Уровень&lt;/th&gt;&lt;th style=&quot;text-align: left&quot;&gt;Описание&lt;/th&gt;&lt;th style=&quot;text-align: left&quot;&gt;Торговый смысл&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: left&quot;&gt;&lt;strong&gt;POC (Point of Control)&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Ценовой уровень с максимальным объемом за период.&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Служит «магнитом» для цены и сильным уровнем ретеста.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: left&quot;&gt;&lt;strong&gt;Value Area (VA)&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Диапазон цен, в котором прошло ~70% всего объема.&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Торговля внутри VA = баланс; выход за границы VA = направленный импульс.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: left&quot;&gt;&lt;strong&gt;HVN (High Volume Node)&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Узлы высокой плотности объема.&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Зоны консолидации и принятия справедливой цены.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: left&quot;&gt;&lt;strong&gt;LVN (Low Volume Node)&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Узлы низкой плотности объема.&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Уровни неликвидности, которые цена проскакивает с высокой скоростью.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;6-algoritmicheskaia-realizatsiia-raschet-delta-i-cvd-na-python&quot;&gt;6. Алгоритмическая реализация: расчет Delta и CVD на Python&lt;/h2&gt;
&lt;p&gt;Для количественных бэктестов и торговых ботов поток тиков (&lt;em&gt;Trade Prints / Time &amp;amp; Sales&lt;/em&gt;) агрегируется по тиковым флагам (&lt;code&gt;is_buyer_maker&lt;/code&gt;):&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #BFBDB6; background-color: #0D1017;&quot; &gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;import&lt;/span&gt;&lt;span&gt; pandas&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt; as&lt;/span&gt;&lt;span&gt; pd&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;import&lt;/span&gt;&lt;span&gt; numpy&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt; as&lt;/span&gt;&lt;span&gt; np&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt; calculate_order_flow_metrics&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt;trades_df&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span&gt; pd&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;DataFrame)&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt; -&amp;gt;&lt;/span&gt;&lt;span&gt; pd&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;DataFrame:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;    &amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;    Расчет дельты и CVD по потоку тиковых сделок биржи.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;    trades_df содержит: [&amp;#39;timestamp&amp;#39;, &amp;#39;price&amp;#39;, &amp;#39;quantity&amp;#39;, &amp;#39;is_buyer_maker&amp;#39;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;    &amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #5A6673;font-style: italic;&quot;&gt;    # Если сделка совершена по инициативе покупателя (buyer is taker), это покупка по Ask&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #5A6673;font-style: italic;&quot;&gt;    # Если is_buyer_maker == True, значит покупатель выставил лимит, а продавец ударил по рынку (Sell)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    trades_df[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;#39;is_buy&amp;#39;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; = ~&lt;/span&gt;&lt;span&gt;trades_df[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;#39;is_buyer_maker&amp;#39;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    trades_df[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;#39;buy_vol&amp;#39;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span&gt; np&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt;where&lt;/span&gt;&lt;span&gt;(trades_df[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;#39;is_buy&amp;#39;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;span&gt; trades_df[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;#39;quantity&amp;#39;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt; 0.0&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    trades_df[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;#39;sell_vol&amp;#39;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span&gt; np&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt;where&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt;~&lt;/span&gt;&lt;span&gt;trades_df[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;#39;is_buy&amp;#39;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;span&gt; trades_df[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;#39;quantity&amp;#39;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt; 0.0&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    trades_df[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;#39;delta&amp;#39;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span&gt; trades_df[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;#39;buy_vol&amp;#39;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; -&lt;/span&gt;&lt;span&gt; trades_df[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;#39;sell_vol&amp;#39;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #5A6673;font-style: italic;&quot;&gt;    # Расчет кумулятивной дельты (CVD)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    trades_df[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;#39;cvd&amp;#39;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span&gt; trades_df[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;#39;delta&amp;#39;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt;cumsum&lt;/span&gt;&lt;span&gt;()&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #5A6673;font-style: italic;&quot;&gt;    # Агрегация по 1-минутным барам&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    bars&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span&gt; trades_df&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt;resample&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;#39;1min&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;span&gt; on&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;#39;timestamp&amp;#39;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt;agg&lt;/span&gt;&lt;span&gt;({&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;        &amp;#39;price&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;#39;first&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; &amp;#39;max&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; &amp;#39;min&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; &amp;#39;last&amp;#39;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;        &amp;#39;quantity&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; &amp;#39;sum&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;        &amp;#39;buy_vol&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; &amp;#39;sum&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;        &amp;#39;sell_vol&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; &amp;#39;sum&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;        &amp;#39;delta&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; &amp;#39;sum&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;        &amp;#39;cvd&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; &amp;#39;last&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    })&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;    return&lt;/span&gt;&lt;span&gt; bars&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;kliuchevye-vyvody&quot;&gt;Ключевые выводы&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Цену двигают только агрессивные заявки:&lt;/strong&gt; рыночные покупки бьют по лимитным продажам (Ask), рыночные продажи — по лимитным покупкам (Bid).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Footprint дает опережающий сигнал:&lt;/strong&gt; паттерны &lt;em&gt;Absorption&lt;/em&gt; (поглощение) на ключевых уровнях позволяют заходить в позиции до того, как индикаторы успеют отреагировать.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CVD выявляет манипуляции и истощение:&lt;/strong&gt; расхождение между движением цены и накопленной дельтой защищает от ложных пробоев.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Volume Profile очерчивает карту боя:&lt;/strong&gt; POC и границы Value Area (VA) служат математически обоснованными таргетами для фиксации прибыли и выставления защитных стоп-приказов.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;pervoistochniki-i-materialy&quot;&gt;Первоисточники и материалы&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Автор курса и видеоматериал:&lt;/strong&gt; &lt;a rel=&quot;external&quot; href=&quot;https://youtu.be/Rqu-AoD9BUo&quot;&gt;Mind Math Money — MASTER Order Flow Trading (Complete Guide)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Детальный конспект и cheat-sheet в базе знаний:&lt;/strong&gt; &lt;a rel=&quot;external&quot; href=&quot;https://github.com/xsa-dev/obsidian-vault/blob/main/YouTube/Order-Flow-Trading-Course-MindMathMoney-2026.md&quot;&gt;Obsidian Vault: Order Flow Course Notes (GitHub)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Количественные репозитории:&lt;/strong&gt; &lt;a rel=&quot;external&quot; href=&quot;https://github.com/xsa-dev&quot;&gt;github.com/xsa-dev&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Алгоритмический трейдинг на Polymarket: архитектура снайпера 5-минутных бинарных рынков через CLOB API</title>
        <published>2026-10-08T00:00:00+00:00</published>
        <updated>2026-10-08T00:00:00+00:00</updated>
        
        <author>
          <name>Alexei Savin</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://xsa-dev.github.io/posts/polymarket-clob-algo-trading-sniper/"/>
        <id>https://xsa-dev.github.io/posts/polymarket-clob-algo-trading-sniper/</id>
        
        <content type="html" xml:base="https://xsa-dev.github.io/posts/polymarket-clob-algo-trading-sniper/">&lt;p&gt;Рынки предсказаний (&lt;strong&gt;Prediction Markets&lt;/strong&gt;, в частности &lt;strong&gt;Polymarket&lt;/strong&gt;) переживают экспоненциальный рост объема торгов. В отличие от традиционных спотовых или фьючерсных рынков, здесь торгуются &lt;strong&gt;бинарные контракты&lt;/strong&gt; (&lt;em&gt;Binary Outcome Shares&lt;/em&gt;), цена которых колеблется в диапазоне от &lt;code&gt;$0.00&lt;/code&gt; до &lt;code&gt;$1.00&lt;/code&gt; и отражает вероятность наступления события:&lt;/p&gt;
&lt;p&gt;$$P(\text{Event}) \in [0, 1]$$&lt;/p&gt;
&lt;p&gt;С появлением ультракоротких 5-минутных рынков на криптовалюты (BTC, ETH, SOL, XRP «Будет ли цена выше $X в 14:05?») открылось окно возможностей для алгоритмического арбитража и снайпинга за счет временного лага между спотовыми/деривативными биржами и стаканом предсказаний.&lt;/p&gt;
&lt;p&gt;Разберем архитектуру торгового бота &lt;strong&gt;Strike Sniper&lt;/strong&gt; (исследованного Moon Dev), особенности работы с &lt;strong&gt;Polymarket CLOB API&lt;/strong&gt; и ключевые риски высокочастотного исполнения.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;1-topologiia-arkhitektury-cross-exchange-price-discovery&quot;&gt;1. Топология архитектуры: Cross-Exchange Price Discovery&lt;/h2&gt;
&lt;p&gt;Снайпинг предсказательных рынков строится на сопоставлении двух источников данных:&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #BFBDB6; background-color: #0D1017;&quot; &gt;&lt;code data-lang=&quot;mermaid&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;flowchart&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt; TD&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;    subgraph&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt; S1 &lt;/span&gt;&lt;span&gt;[&amp;quot;⚡ 1. Быстрый источник &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;Hyperliquid L2 WebSocket&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;)&lt;/span&gt;&lt;span&gt;&amp;quot;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        direction TB&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        H1&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Real-time спот/перп котировки (BTC, ETH, SOL)&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        H2&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Мгновенная регистрация импульса цены&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        H1 &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&amp;gt;&lt;/span&gt;&lt;span&gt; H2&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;    end&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    S1 &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;==&amp;gt;|&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;Референсная цена P_ref&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;|&lt;/span&gt;&lt;span&gt; S2&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;    subgraph&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt; S2 &lt;/span&gt;&lt;span&gt;[&amp;quot;🎯 2. Стратегический движок &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;Strike Sniper Logic&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;)&lt;/span&gt;&lt;span&gt;&amp;quot;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        direction TB&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        G1&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Polymarket Gamma API: Strike Price K&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        G2&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Сравнение: P_ref &amp;gt; K + Spread_safe?&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        G3&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Расчет размера позиции (Share Sizing)&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        G1 &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&amp;gt;&lt;/span&gt;&lt;span&gt; G2&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        G2 &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&amp;gt;|&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;Да, вероятность YES растет&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;|&lt;/span&gt;&lt;span&gt; G3&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;    end&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    S2 &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;==&amp;gt;|&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;Taker Order Intent &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; EIP&lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;712&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;|&lt;/span&gt;&lt;span&gt; S3&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;    subgraph&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt; S3 &lt;/span&gt;&lt;span&gt;[&amp;quot;🛡️ 3. Исполнение &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;Polymarket CLOB API&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;)&lt;/span&gt;&lt;span&gt;&amp;quot;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        direction TB&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        C1&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Central Limit Order Book (L2 стакан)&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        C2&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Лимитные / Taker заявки на YES / NO&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        C3&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Event Logger + Circuit Breaker (Daily Stop-Loss)&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        C1 &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;gt; C2 &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&amp;gt;&lt;/span&gt;&lt;span&gt; C3&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;    end&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;2-mekhanika-birzhi-central-limit-order-book-clob&quot;&gt;2. Механика биржи: Central Limit Order Book (CLOB)&lt;/h2&gt;
&lt;p&gt;Polymarket использует не классический AMM (как Uniswap), а полноценную биржевую книгу лимитных ордеров (&lt;strong&gt;CLOB — Central Limit Order Book&lt;/strong&gt;) с поддержкой EIP-712 подписей:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;YES / NO токены:&lt;/strong&gt; каждый исход представлен ERC-1155 токеном. Покупка YES по цене &lt;code&gt;$0.65&lt;/code&gt; означает выплату &lt;code&gt;$1.00&lt;/code&gt; в случае победы (прибыль &lt;code&gt;$0.35&lt;/code&gt;) или &lt;code&gt;$0.00&lt;/code&gt; в случае проигрыша (убыток &lt;code&gt;$0.65&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Taker vs Maker:&lt;/strong&gt; снайпер чаще всего выступает как &lt;strong&gt;Taker&lt;/strong&gt; — выкупает ликвидность из стакана Ask, когда референсная цена на Hyperliquid уже ушла выше страйка, но лимитные заявки на Polymarket еще не успели переставиться.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Расчет количества долей (Shares):&lt;/strong&gt;
$$\text{Shares} = \frac{\text{Budget}}{\text{Best Ask Price}}$$&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;3-kolichestvennyi-kontur-na-python&quot;&gt;3. Количественный контур на Python&lt;/h2&gt;
&lt;p&gt;Пример архитектуры ядра снайпера для опроса цен и отправки ордера:&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #BFBDB6; background-color: #0D1017;&quot; &gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;import&lt;/span&gt;&lt;span&gt; time&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;import&lt;/span&gt;&lt;span&gt; requests&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;from&lt;/span&gt;&lt;span&gt; dataclasses&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt; import&lt;/span&gt;&lt;span&gt; dataclass&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #E6C08A;&quot;&gt;@dataclass&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #59C2FF;&quot;&gt; MarketTarget&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    symbol&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt; str&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    strike_price&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt; float&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    token_id&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt; str&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    end_time&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt; int&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #59C2FF;&quot;&gt; PolymarketStrikeSniper&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;    def&lt;/span&gt;&lt;span style=&quot;color: #F07178;&quot;&gt; __init__&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt; clob_client&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt; hyperliquid_feed&lt;/span&gt;&lt;span&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #39BAE6;font-style: italic;&quot;&gt;        self&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;client&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span&gt; clob_client&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #39BAE6;font-style: italic;&quot;&gt;        self&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;feed&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span&gt; hyperliquid_feed&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #39BAE6;font-style: italic;&quot;&gt;        self&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;daily_pnl&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt; 0.0&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #39BAE6;font-style: italic;&quot;&gt;        self&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;max_daily_loss&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; = -&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt;50.0&lt;/span&gt;&lt;span style=&quot;color: #5A6673;font-style: italic;&quot;&gt;  # Circuit Breaker: -$50 в день&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;    def&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt; evaluate_market&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt; target&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span&gt; MarketTarget&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt; budget_usd&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt; float&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt; 5.0&lt;/span&gt;&lt;span&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #5A6673;font-style: italic;&quot;&gt;        # 1. Защита капитала (Circuit Breaker)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;        if&lt;/span&gt;&lt;span style=&quot;color: #39BAE6;font-style: italic;&quot;&gt; self&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;daily_pnl&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; &amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: #39BAE6;font-style: italic;&quot;&gt; self&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;max_daily_loss&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F07178;&quot;&gt;            print&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;[ALERT] Daily Stop-Loss достигнут. Торги остановлены.&amp;quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;            return&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #5A6673;font-style: italic;&quot;&gt;        # 2. Получение быстрой цены с деривативной биржи&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        ref_price&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #39BAE6;font-style: italic;&quot;&gt; self&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;feed&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt;get_latest_mid_price&lt;/span&gt;&lt;span&gt;(target&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;symbol)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #5A6673;font-style: italic;&quot;&gt;        # 3. Получение лучшего аска в стакане Polymarket CLOB&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        orderbook&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #39BAE6;font-style: italic;&quot;&gt; self&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;client&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt;get_order_book&lt;/span&gt;&lt;span&gt;(target&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;token_id)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        best_ask&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt; float&lt;/span&gt;&lt;span&gt;(orderbook[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;#39;asks&amp;#39;&lt;/span&gt;&lt;span&gt;][&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt;0&lt;/span&gt;&lt;span&gt;][&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;#39;price&amp;#39;&lt;/span&gt;&lt;span&gt;])&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #5A6673;font-style: italic;&quot;&gt;        # 4. Логика арбитражного входа: цена уверенно выше страйка, но контракт дешев&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        price_buffer&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span&gt; target&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;strike_price&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; *&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt; 0.0015&lt;/span&gt;&lt;span style=&quot;color: #5A6673;font-style: italic;&quot;&gt;  # 0.15% буфер запаса&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;        if&lt;/span&gt;&lt;span&gt; ref_price&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; &amp;gt;&lt;/span&gt;&lt;span&gt; (target&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;strike_price&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; +&lt;/span&gt;&lt;span&gt; price_buffer)&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; and&lt;/span&gt;&lt;span&gt; best_ask&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt; 0.85&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;            shares&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt; int&lt;/span&gt;&lt;span&gt;(budget_usd&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; /&lt;/span&gt;&lt;span&gt; best_ask)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;            if&lt;/span&gt;&lt;span&gt; shares&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt; &amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #D2A6FF;&quot;&gt; 0&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F07178;&quot;&gt;                print&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;[EXECUTE] BUY &lt;/span&gt;&lt;span style=&quot;color: #95E6CB;&quot;&gt;{&lt;/span&gt;&lt;span&gt;shares&lt;/span&gt;&lt;span style=&quot;color: #95E6CB;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; shares @ $&lt;/span&gt;&lt;span style=&quot;color: #95E6CB;&quot;&gt;{&lt;/span&gt;&lt;span&gt;best_ask&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:.2f&lt;/span&gt;&lt;span style=&quot;color: #95E6CB;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; (Ref: $&lt;/span&gt;&lt;span style=&quot;color: #95E6CB;&quot;&gt;{&lt;/span&gt;&lt;span&gt;ref_price&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:.2f&lt;/span&gt;&lt;span style=&quot;color: #95E6CB;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; &amp;gt; Strike: $&lt;/span&gt;&lt;span style=&quot;color: #95E6CB;&quot;&gt;{&lt;/span&gt;&lt;span&gt;target&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;strike_price&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:.2f&lt;/span&gt;&lt;span style=&quot;color: #95E6CB;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;)&amp;quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #5A6673;font-style: italic;&quot;&gt;                # Отправка taker-ордера через подпись EIP-712&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #39BAE6;font-style: italic;&quot;&gt;                self&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;client&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt;create_and_post_order&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                    token_id&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt;=&lt;/span&gt;&lt;span&gt;target&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;.&lt;/span&gt;&lt;span&gt;token_id&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                    price&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt;=&lt;/span&gt;&lt;span&gt;best_ask&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                    size&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt;=&lt;/span&gt;&lt;span&gt;shares&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                    side&lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;BUY&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                )&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;4-podvodnye-kamni-i-riski-5-minutnogo-snaipinga&quot;&gt;4. Подводные камни и риски 5-минутного снайпинга&lt;/h2&gt;
&lt;p&gt;Высокая частота рынка создает серьезные скрытые издержки:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Turnover Drag (Частотный риск):&lt;/strong&gt; 4 актива каждые 5 минут генерируют до 48 торговых циклов в час. Без строгого математического преимущества (&lt;em&gt;Edge&lt;/em&gt;) серия из 3–4 убытков подряд быстро сжигает депозит.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Задержка разрешения рынка (Settlement Latency):&lt;/strong&gt; оракул (UMA / Chainlink) разрешает исход по фиксированному снепшоту цены. Разница в источниках цен (Binance vs Coinbase vs Hyperliquid) может привести к тому, что локальный индикатор показал победу, а оракул зафиксировал проигрыш.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Slippage и глубина стакана:&lt;/strong&gt; на 5-минутных контрактах ликвидность ограничена сотнями долларов. Попытка зайти крупным объемом мгновенно сдвигает цену до невыгодных &lt;code&gt;$0.95+&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;kliuchevye-vyvody&quot;&gt;Ключевые выводы&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Бинарные рынки — это вероятность, а не направление:&lt;/strong&gt; расчет строится вокруг вероятности $P &amp;gt; \text{Ask Price}$ с поправкой на дисконт риска.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Кросс-рыночный арбитраж:&lt;/strong&gt; скорость получения спотовых/перп тиков (Hyperliquid L2) является главным конкурентным преимуществом.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Обязательный Circuit Breaker:&lt;/strong&gt; алгоритмический лимит дневного убытка (&lt;code&gt;max_daily_loss&lt;/code&gt;) критически необходим для защиты от непредвиденных сбоев оракулов или задержек сети.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;pervoistochniki-i-materialy&quot;&gt;Первоисточники и материалы&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Автор исследования и демонстрация бота:&lt;/strong&gt; &lt;a rel=&quot;external&quot; href=&quot;https://youtu.be/zrUQ-oE5ND4&quot;&gt;Moon Dev — Fable 5 Made Me a 5 Min Polymarket Trading Bot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Детальный конспект в базе знаний:&lt;/strong&gt; &lt;a rel=&quot;external&quot; href=&quot;https://github.com/xsa-dev/obsidian-vault/blob/main/YouTube/Polymarket-Fable5-Strike-Sniper-MoonDev-2026.md&quot;&gt;Obsidian Vault: Polymarket Strike Sniper Notes (GitHub)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Количественные репозитории:&lt;/strong&gt; &lt;a rel=&quot;external&quot; href=&quot;https://github.com/xsa-dev&quot;&gt;github.com/xsa-dev&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
        
    </entry>
</feed>
