Vpin Flow Toxicity

VPIN: Измерение токсичности потока ордеров и защита от неблагоприятного отбора

Published: 2026-06-25 · Trading

Введение На крипторынках HFT-алгоритмы и поставщики ликвидности постоянно сталкиваются с риском неблагоприятного отбора (adverse selection) — ситуацией, когда они исполняют ордера информированных учас

⚡ Быстрый ответ

  • VPIN (Volume-Synchronized Probability of Toxicity) and Bulk Volume Classification (BVC) model for crypto HFT.
  • Uses volume-clock buckets to normalize order book imbalance.
  • Prevents adverse selection of market makers and limits grid entries during high one-sided toxicity.
MemIR AI Agent Summary
VPIN (Volume-Synchronized Probability of Toxicity) and Bulk Volume Classification (BVC) model for crypto HFT. Uses volume-clock buckets to normalize order book imbalance. Prevents adverse selection of market makers and limits grid entries during high one-sided toxicity.

Executable Parameters

Contracts

RPC Endpoints

https://fapi.binance.com/fapi/v1/aggTrades

Constants

volume_bucket_size_btc: 50
vpin_window_buckets: 20
toxicity_threshold: 0.7

Safety Guards

Rule Max Limit Action On Breach
block_entries_on_extreme_toxicity 0.7 abstain

Руководство по интеграции

### Введение
На крипторынках HFT-алгоритмы и поставщики ликвидности постоянно сталкиваются с риском **неблагоприятного отбора** (adverse selection) — ситуацией, когда они исполняют ордера информированных участников рынка, обладающих краткосрочным информационным преимуществом. Метрика **VPIN** (Volume-Synchronized Probability of Toxicity) позволяет измерять вероятность токсичности потока ордеров в реальном времени.

### Механика VPIN и Volume Clock
В отличие от стандартных временных срезов (1-минутные или 5-минутные свечи), VPIN использует **объемные часы** (Volume Clock). Торговый поток делится на корзины равного объема (например, каждые 50 BTC объема торгов формируют одну корзину). Это нормирует сигналы:
1. В периоды высокой активности корзины заполняются быстро (высокая частота выборки).
2. В периоды затишья корзины заполняются медленно.

### Bulk Volume Classification (BVC)
Поскольку точная инициализация сделки (покупка по рынку или продажа по рынку) не всегда доступна или чиста в исторических агрегированных тиках, применяется метод BVC:

\[ V_B = V \cdot \Phi \left( \frac{\Delta P}{\sigma_P} \right) \]
\[ V_S = V - V_B \]

Где \(V\) — общий объем корзины, \(\Delta P\) — изменение цены внутри корзины, \(\sigma_P\) — стандартное отклонение цены, а \(\Phi\) — кумулятивная функция стандартного нормального распределения.

### Расчет VPIN
VPIN рассчитывается по скользящему окну из \(N\) корзин:

\[ VPIN = \frac{\sum_{\tau=1}^{N} |V_B^\tau - V_S^\tau|}{N \cdot V} \]

Значение VPIN колеблется от 0 до 1. Значение выше `0.70` указывает на то, что поток ордеров критически односторонен и агрессивен, что обычно предшествует резким выносам ликвидности (volatility spikes) и проскальзыванию цен.

### Практическое применение в breakout-боте
Для локальных breakout-стратегий вычисление полного VPIN на ходу может быть затратным. Внедряется упрощенный **Trade Flow Imbalance (TFI)** фильтр в окне времени \(T\):

\[ TFI = \frac{Q_{buy} - Q_{sell}}{Q_{buy} + Q_{sell}} \]

При пробое уровня вверх бот требует, чтобы \(TFI > \text{min\_flow\_imbalance}\) (например, `+0.05`), подтверждая, что в пробой бьют агрессивные покупатели. При пробое вниз — наоборот. Это отсекает ложные пробои, совершаемые на низком или встречном объеме.