Vpin Flow Toxicity

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

Published: 2026-06-25 · Trading

VPIN (Volume-Synchronized Probability of Toxicity) измеряет токсичность потока ордеров с использованием объемных часов (Volume Clock) вместо обычного времени. Разделяя поток на кор

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

  • 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.

Safety Guards

Rule Max Limit Action On Breach
block_entries_on_extreme_toxicity 0.7 abstain

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

Обновлено: 2026-07-04
*Дисклеймер: Данный материал носит исключительно информационный характер и не является финансовой рекомендацией.*

## Что такое метрика VPIN и как она защищает торговых ботов от токсичного потока ордеров?

VPIN (Volume-Synchronized Probability of Toxicity) измеряет токсичность потока ордеров с использованием объемных часов (Volume Clock) вместо обычного времени. Разделяя поток на корзины равного объема и рассчитывая дисбаланс покупок и продаж, VPIN выявляет присутствие информированных трейдеров. Это позволяет маркет-мейкерам временно отключать алгоритмы перед резкими изменениями цен.


























Компонент Алгоритм реализации Практическая польза для HFT
Объемные корзины (Volume Clock) Разбиение потока на блоки фиксированного объема (например, 50 BTC) Устраняет зависимость от времени, ускоряет расчет на пиках активности.
Классификация объемов (BVC) Распределение объема через кумулятивную функцию нормального распределения Позволяет обойтись без ручного сопоставления сделок по инициатору.
Фильтр TFI (Trade Flow Imbalance) Упрощенное вычисление дисбаланса: $(Q_{buy} - Q_{sell}) / (Q_{buy} + Q_{sell})$ Быстро отсекает ложные пробои уровней в реальном времени.


### Механика 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`), подтверждая, что в пробой бьют агрессивные покупатели. При пробое вниз — наоборот. Это отсекает ложные пробои, совершаемые на низком или встречном объеме.