Разработка AI-модели анализа потока ордеров Order Flow

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Разработка AI-модели анализа потока ордеров Order Flow
Сложная
~5 рабочих дней
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1218
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    853
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1047
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    825

Разработка AI-модели анализа потока ордеров Order Flow

Order Flow анализ — изучение сделок, а не заявок. Если Order Book показывает намерения, то Order Flow показывает реальные действия: кто агрессивно покупает или продаёт, снимая ликвидность с книги. Это основа для понимания "smart money" и имбаланса спроса/предложения.

Ключевые концепции Order Flow

Aggressor vs. Passive: Каждая сделка инициирована либо покупателем (market buy — поднял ask), либо продавцом (market sell — ударил bid). Классификация по tick rule или Lee-Ready:

  • Сделка по цене > предыдущей → buyer-initiated
  • Сделка по цене < предыдущей → seller-initiated
  • По той же цене → смотрим на предыдущее движение

Delta (Cumulative Volume Delta, CVD):

Delta = Buyer_Volume - Seller_Volume
CVD = Σ Delta за период

Положительный CVD при росте цены = подтверждение тренда. Отрицательный CVD при росте цены = дивергенция (потенциальный разворот).

Absorption: крупный пассивный участник "поглощает" агрессивные ордера без движения цены. Это уровень поддержки/сопротивления с крупным игроком.

Feature Engineering из Order Flow

Trade-level features:

def compute_order_flow_features(trades_df, window_seconds=60):
    features = {}

    # Buyer/Seller classification
    trades_df['initiator'] = np.where(trades_df['side'] == 'buy', 1, -1)

    # Rolling window aggregations
    features['buy_volume'] = trades_df[trades_df.initiator==1]['volume'].rolling(f'{window_seconds}s').sum()
    features['sell_volume'] = trades_df[trades_df.initiator==-1]['volume'].rolling(f'{window_seconds}s').sum()
    features['cvd'] = features['buy_volume'] - features['sell_volume']
    features['trade_imbalance'] = features['cvd'] / (features['buy_volume'] + features['sell_volume'])

    # Trade size distribution
    features['avg_buy_size'] = (features['buy_volume'] / buy_count)
    features['avg_sell_size'] = (features['sell_volume'] / sell_count)
    features['large_buy_ratio'] = (large_buy_volume / total_volume)  # сделки > 95th percentile

    return features

Volume Profile: Гистограмма объёма по ценовым уровням за период (VPOC = Volume Point of Control — уровень с максимальным объёмом). Используется как уровень поддержки/сопротивления.

Time and Sales анализ: Паттерны в последовательности сделок: кластеры крупных покупок за короткое время = крупный игрок входит в позицию.

Footprint Chart как входные данные

Footprint (или Cluster Chart) — Order Book + Order Flow объединённые:

  • Каждая свеча разбита на ценовые уровни
  • Каждый уровень: [buyer_volume × seller_volume]
  • Видны дивергенции: много покупок на уровне, но цена не выросла → absorption

ML на footprint данных:

# Footprint as matrix: [time_bins × price_levels × 2 (buy/sell)]
# Например: 100 одноминутных баров × 20 ценовых уровней × 2

class FootprintCNN(nn.Module):
    def __init__(self):
        super().__init__()
        self.conv1 = nn.Conv3d(1, 32, kernel_size=(3, 3, 2))
        self.conv2 = nn.Conv3d(32, 64, kernel_size=(3, 3, 1))
        self.flatten = nn.Flatten()
        self.fc = nn.Linear(64 * ..., 1)

Volume Weighted Average Price (VWAP) анализ

VWAP — benchmark для institutional execution. Отклонение цены от VWAP с учётом объёма:

VWAP deviation signal:

  • Цена выше VWAP + большие buy объёмы → тренд подтверждён
  • Цена выше VWAP + seller доминирует в объёме → потенциальный разворот

TWAP vs. VWAP execution: Для крупных ордеров — предсказание оптимального времени исполнения для минимизации market impact. RL-агент оптимизирует execution strategy.

Prediction Tasks

Short-term (1-10 min):

  • Направление mid-price за следующие N сделок
  • Вероятность значительного движения в ближайшие X секунд
  • Оценка немедленного market impact от размещения ордера

Execution Quality:

  • Слипаж: предсказание отклонения исполнения от теоретической цены
  • Optimal order sizing: максимальный размер без значимого market impact

Stacked Imbalance и крупные уровни

"Stacked imbalance" — несколько соседних ценовых уровней с преобладанием покупок/продаж. Статистически это уровни поддержки/сопротивления.

ML-детекция значимых уровней:

def detect_imbalance_levels(footprint_data, threshold=0.7):
    """
    Уровень значим, если buy_vol / (buy_vol + sell_vol) > threshold
    ИЛИ sell_vol / ... > threshold
    И суммарный объём в топ-20% дневного
    """

Данные и инфраструктура

Источники тиковых данных:

  • Dukascopy (forex): бесплатные исторические тиковые данные
  • Kinetick (фьючерсы): real-time тиковые данные, $50/мес
  • IQFeed: comprehensive US market data
  • Binance WebSocket: криптовалютный L3 (по сделкам)

Хранение: ClickHouse идеален для тиковых данных: колонарное хранение, < 1 мс запросы на миллиарды строк. TimescaleDB как PostgreSQL-альтернатива.

Сроки: Order Flow Feature Engineering + baseline regression — 3-4 недели. Footprint CNN с backtesting и production pipeline — 3-4 месяца.