Проскальзывание (slippage) и его влияние на реальные результаты торговли

Проскальзывание (slippage) — это разница между ценой, по которой стратегия ожидала исполнения ордера, и ценой, по которой он был исполнен фактически. И это довольно частое явление в трейдинге. В большинстве стратегий проскальзывание — постоянная составляющая транзакционных издержек, которая систематически снижает доходность.

Для высокочастотных стратегий проскальзывание часто превышает комиссию брокера. Для стратегий с большим размером позиции оно может съедать значительную часть теоретического преимущества (edge). Игнорирование проскальзывания в бэктестинге — одна из ключевых причин расхождения между результатами на исторических данных и реальным P&L (profit and loss).

Механизм возникновения

Любой торговый ордер поступает на рынок не мгновенно. Между моментом принятия решения и фактическим исполнением проходит время: задержка сети, обработка на стороне брокера, маршрутизация на биржу. За это время цена смещается. Дополнительно: рыночный ордер исполняется по лучшей доступной цене в стакане, которая редко совпадает с последней сделкой (last price).

Для ордеров значительного объема ситуация сложнее. Стакан имеет конечную глубину, и крупный ордер «съедает» несколько уровней bid/ask. Средняя цена исполнения оказывается хуже, чем цена лучшего предложения в момент подачи.

Компоненты реальных транзакционных издержек

Полные транзакционные издержки складываются из нескольких составляющих:

  • комиссия брокера и биржевой сбор — фиксированные или процентные, известны заранее;
  • bid-ask спред — минимальные издержки при любом входе/выходе по рынку;
  • market impact — сдвиг цены, вызванный самим фактом подачи ордера;
  • timing slippage — отклонение цены за время между сигналом и исполнением;
  • opportunity cost — упущенная прибыль при неисполнении лимитного ордера.

Комиссия и спред поддаются точному расчету. Market impact и timing slippage — вероятностные величины, зависящие от ликвидности, волатильности и объема ордера. Именно они создают наибольшую неопределенность при оценке реальных издержек стратегии.

Виды проскальзывания

У каждого вида проскальзываний есть свои причины и способы снижения. И это важно учитывать. Если смешивать их в модели, теряется точность настройки (калибровки).

Рыночное проскальзывание (Market Impact)

Market impact — сдвиг цены, вызванный непосредственно вашим ордером. Делится на две части: временный (temporary) и постоянный (permanent).

  • Временный импакт возникает в момент исполнения: ликвидность в стакане поглощается ордером, цена движется против позиции. После исполнения рынок частично восстанавливается — маркет-мейкеры заполняют стакан заново;
  • Постоянный импакт — та часть сдвига, которая не восстанавливается: рынок воспринимает крупный ордер как информационный сигнал и переоценивает актив.
👉🏻  Модели временной структуры процентных ставок: Hull-White, Cox-Ingersoll-Ross (CIR) и другие одно- и многофакторные модели

Для ликвидных инструментов (ES, крупные акции S&P 500) временный импакт доминирует. Для малоликвидных бумаг постоянный импакт может быть значительным даже при относительно небольших объемах.

Проскальзывание исполнения (Execution Slippage)

Проскальзывание исполнения (execution slippage) — это разница между ценой в момент принятия решения и фактической средней ценой исполнения сделки. В него входят спред между ценой покупки и продажи (bid-ask spread) и влияние сделки на рынок (рыночное воздействие, market impact).

Стандартная метрика для оценки — недополученный результат исполнения (implementation shortfall, IS). Ее предложил Перольд в 1988 году. Она сравнивает реальный результат портфеля с гипотетическим: как если бы сделки проходили по цене решения (decision price) без издержек. Формула расчета Implementation shortfall:

IS = (P_исполнения − P_решения) × объем / P_решения × 100%

где:

  • P_решения — цена актива в момент генерации сигнала;
  • P_исполнения — средневзвешенная цена реального исполнения.

Для покупки положительное IS означает потери, отрицательное — выгоду (цена упала между сигналом и исполнением).

Проскальзывание из-за задержки (Latency Slippage)

Проскальзывание из-за задержки (latency slippage) возникает из-за разрыва во времени между сигналом и отправкой ордера. Цена за это время успевает измениться.

Для стратегий с дневными или часовыми данными этот эффект обычно мал. Для внутридневных стратегий с удержанием позиции менее часа — уже заметен. В стратегиях на тиковых данных он часто становится основным источником издержек.

Типичные задержки в розничной алгоритмической торговле — 10–100 мс при использовании Python и брокерского интерфейса (API). В институциональной инфраструктуре с прямым доступом и размещением серверов рядом с биржей (колокация) — единицы миллисекунд.

На волатильном рынке разница даже в 50 мс может быть критичной. Например, во время выхода данных по занятости в США (Non-Farm Payrolls, NFP) это может давать 0.1–0.3% проскальзывания на валютных парах (Forex).

Оценка проскальзывания для разных классов активов

Величина проскальзывания определяется тремя факторами:

  1. ликвидностью инструмента;
  2. размером ордера относительно среднего объема торгов;
  3. рыночными условиями в момент исполнения.

Универсальных констант тут нет — нужна калибровка под конкретный инструмент и стратегию. Ниже приведены практические ориентиры. Они подходят для большинства розничных и небольших институциональных стратегий с капиталом до нескольких миллионов долларов под управлением.

👉🏻  Прогнозирование динамики фьючерсов с XGBoost

Ликвидные инструменты: акции крупной капитализации и фьючерсы

Акции из топ-100 индекса S&P 500 и ликвидные фьючерсы (ES, NQ, CL, 6E) — наиболее благоприятная среда с точки зрения проскальзывания (slippage).

Спред между ценой покупки и продажи (bid-ask spread) для фьючерса ES обычно равен одному тику, что соответствует $12.5 на контракт. Средний дневной объем торгов — сотни тысяч контрактов. В нормальных рыночных условиях ордера размером до 50–100 контрактов исполняются почти без влияния на рынок (без market impact).

Типичные ориентиры для бэктестинга:

  • акции крупной капитализации (large-cap, NYSE/NASDAQ top-200): 1–3 базисных пункта на сделку при объеме до 0.5% от среднего дневного объема;
  • фьючерсы на индексы (ES, NQ): 0.5–1 тик проскальзывания при объеме до 50 контрактов;
  • товарные фьючерсы (commodities, CL, GC): 1–2 тика в нормальных условиях, до 5 и более тиков при высокой волатильности.

Ключевое условие: эти оценки справедливы вне событийной волатильности (например, выходов отчетности компаний (earnings), решений центрального банка США, выхода макроэкономической статистики).

В такие моменты спред между ценой покупки и продажи может расширяться в 3–10 раз, а доступный объем в стакане заявок (глубина рынка, market depth) резко снижается.

Форекс и криптовалюта

Forex — децентрализованный рынок, и здесь проскальзывание зависит от брокера и типа счета:

  • ECN/STP брокеры с прямым доступом к ликвидности дают спред 0.1–0.5 пункта на EURUSD в основную сессию;
  • Маркет-мейкеры с фиксированным спредом компенсируют его за счет реквот и задержек исполнения.

Для крипты картина существенно хуже. Спред на BTC/USDT на Binance в нормальных условиях — около 10 базисных пунктов, но книга ордеров тонкая по сравнению с традиционными рынками. Ордер на $100K уже создает заметный импакт. Кроме того, крипторынок торгуется 24/7, и в ночные часы ликвидность падает на 30–50%, увеличивая проскальзывания.

Практический ориентир для крипты: закладывать 5–15 бп на сделку для стратегий с позициями до $50K на BTC/ETH, и 20–50 бп для альткоинов с капитализацией ниже $1 млрд.

👉🏻  Этапы разработки биржевых торговых стратегий

Малоликвидные инструменты: акции средней и малой капитализации, опционы

Акции вне топ-500 по капитализации требуют отдельного подхода. Средний дневной оборот на уровне $500K–2M жестко ограничивает размер позиции. Ордер больше 1–2% от дневного объема дает заметное постоянное влияние на цену и оставляет след в стакане заявок. Другие участники рынка могут использовать это против вас.

Опционы — отдельный случай. Широкий спред между ценой покупки и продажи, часто 5–15% от средней цены (midpoint), делает проскальзывание структурно высоким, особенно для неликвидных страйков.

В опционных стратегиях в качестве базовой цены используют midpoint. Фактическое исполнение оценивают по отклонению от него. Исполнение по midpoint или лучше в розничной торговле встречается редко. На практике проскальзывание от midpoint составляет 20–40% от спреда.

Модели оценки влияния на рынок (Market Impact)

Модели влияния на рынок (market impact) отвечают на практический вопрос: как изменится цена при исполнении ордера заданного объема?

Это нужно в двух задачах:

  1. проверка реалистичности стратегии;
  2. оптимизация алгоритма исполнения ордеров.

Ниже показано, как разные модели оценивают влияние на цену в зависимости от доли участия в дневном объеме.

Сравнение трех моделей влияния на рынок (Market Impact) при разных долях участия в дневном объеме. Модель с квадратным корнем (Square Root Law) и модель Альмгрена–Крисса (Almgren-Chriss) показывают сублинейный рост издержек с увеличением объема. Линейная модель завышает оценку влияния при малых объемах и занижает при крупных

Рис. 1: Сравнение трех моделей влияния на рынок (Market Impact) при разных долях участия в дневном объеме. Модель с квадратным корнем (Square Root Law) и модель Альмгрена–Крисса (Almgren-Chriss) показывают сублинейный рост издержек с увеличением объема. Линейная модель завышает оценку влияния при малых объемах и занижает при крупных

Линейные и квадратичные модели: Square Root Law и Almgren-Chriss

Square Root Law — популярная эмпирическая модель для оценки временного влияния на рынок (market impact). Формула модели следующая:

MI = η × σ × √(Q / ADV)

где:

  • MI — market impact в долях цены;
  • η — коэффициент пропорциональности (эмпирически 0.1–0.2 для ликвидных рынков);
  • σ — дневная волатильность актива;
  • Q — объем ордера;
  • ADV — средний дневной объем.

Квадратный корень отражает сублинейную зависимость: удвоение объема увеличивает влияние примерно в 1.4 раза, а не в 2. Модель подтверждается данными многих рынков, хотя η может варьироваться.

Almgren–Chriss — более строгая аналитическая модель, разделяющая временное и постоянное влияние на рынок (market impact) и позволяющая оптимизировать график исполнения ордеров.

👉🏻  Библиотека yfinance и API Yahoo Finance: методы загрузки данных, фильтры, параметры

В упрощенной форме временное влияние рассчитывается так:

MI_temp = ε + η × (Q / ADV)^δ

где:

  • δ ≈ 0.6 — степенной показатель;
  • ε — фиксированные издержки (например, половина спреда, half-spread);
  • η — коэффициент пропорциональности;
  • Q — объем ордера;
  • ADV — средний дневной объем.

Эта модель лежит в основе большинства институциональных алгоритмов исполнения.

Практическая калибровка на исторических данных

Аналитические модели дают ориентиры, однако точная настройка требует данных о реальных исполнениях. Я рекомендую следующий подход:

  1. Сравнить цену в момент сигнала со средневзвешенной ценой фактических сделок;
  2. Разбить данные по диапазонам объема;
  3. Подогнать параметры модели (η, δ) методом наименьших квадратов (least squares).

Если исторических данных об исполнениях нет, можно использовать прокси-показатели:

  • Спред между ценой покупки и продажи (bid-ask spread) из тиковых данных;
  • Глубину стакана (данные уровня L2);
  • Оценку по формуле Кайла (Kyle’s lambda) — регрессию изменения цены на объем сделок за короткий интервал.

Важный момент: калибровку проводят отдельно для периодов нормальной и повышенной волатильности. Коэффициент η нестабилен во времени и растет в стрессовые периоды.

Учет проскальзывания в бэктестинге

Бэктестинг без реального учета проскальзывания систематически завышает доходность стратегии. И чем выше оборачиваемость портфеля и ниже ликвидность инструментов, тем сильнее разрыв между теоретическим результатом и реальной торговлей.

Типичные ошибки и их последствия

Три наиболее частые ошибки в моделировании проскальзываний:

  • исполнение по цене закрытия (close price) при сигнале на закрытии — игнорирование спреда и маркет импакта полностью;
  • фиксированный slippage в абсолютных единицах без привязки к волатильности — не отражает реальность в разные рыночные режимы;
  • игнорирование влияния объема ордера — одинаковый slippage для позиции в 100 и 10 000 акций.

Типичные последствия: стратегия показывает коэффициент Шарпа 1.5+ на бэктесте и 0.3–0.5 в продакшене. Разрыв почти полностью объясняется недооцененными транзакционными издержками. Это особенно актуально для стратегий с высокой оборачиваемостью (например возврат к среднему внутри дня, статистический арбитраж).

Реалистичное моделирование проскальзывания: подходы и параметры

Существуют три уровня моделирования проскальзывания в бэктестинге:

Фиксированный процент от цены сделки

Метод простой и быстрый, дает грубую оценку. Для ликвидных акций обычно берут 5–10 базисных пунктов (б.п.) на сделку, для фьючерсов 1–3 б.п. Метод подходит для первичной оценки стратегии.

👉🏻  CAGR (среднегодовая доходность) инвестиций

Модель на основе спреда и объема

Рассчитывается по формуле:

Slippage = half-spread + market_impact(объем, ADV, σ)

Данный метод требует наличия исторических данных о спреде и объеме. Он позволяет добиться достаточно высокой точности для большинства систематических стратегий.

Симуляция на тиковых данных с L2 стаканом

Данный метод позволяет достичь максимальной точности, однако для него нужны полные данные о стакане заявок. Актуально для высокочастотных стратегий (HFT) и внутридневных стратегий с большой частотой сделок.

Для стратегий с удержанием позиции от нескольких часов до нескольких дней обычно хватает второго уровня моделирования.

Рекомендуется добавлять запас 20–30% к рассчитанному slippage, чтобы учесть нестабильность ликвидности и нетипичные рыночные условия.

Моделирование проскальзываний на биржевом рынке. График слева — распределение проскальзывания (slippage) для фиксированного и модельного подхода. Модель учитывает редкие сделки с высоким влиянием на цену. График справа — накопленный P&L. Разрыв между кривыми показывает, насколько фиксированная оценка завышает реальную доходность при обычном распределении объемов сделок

Рис. 2: Моделирование проскальзываний на биржевом рынке. График слева — распределение проскальзывания (slippage) для фиксированного и модельного подхода. Модель учитывает редкие сделки с высоким влиянием на цену. График справа — накопленный P&L. Разрыв между кривыми показывает, насколько фиксированная оценка завышает реальную доходность при обычном распределении объемов сделок

Стратегии минимизации проскальзывания

Минимизация проскальзывания, как правило, решается на двух уровнях:

  1. Выбор алгоритма исполнения — как подавать ордер;
  2. Управление параметрами стратегии — когда и в каком объеме торговать.

Оба подхода дают реальный эффект и работают лучше вместе.

Алгоритмы исполнения: TWAP, VWAP, участие в объеме

Алгоритмы исполнения дробят крупный ордер на части, снижая влияние на рынок за счет растянутого во времени входа. Выделяют 3 основных стратегии торговли для минимизации влияния на рынок:

  • TWAP (Time-Weighted Average Price) — равномерное распределение объема по времени. Метод прост в реализации, не зависит от данных о рыночном объеме и подходит, если нет прогноза внутридневного распределения ликвидности;
  • VWAP (Volume-Weighted Average Price) — распределение объема пропорционально историческому внутридневному объему. Торговля ведется активнее в периоды высокой ликвидности (открытие и закрытие рынка), затем затухает при низком объеме. VWAP создает меньший market impact по сравнению с TWAP при корректной калибровке профиля объема;
  • Participation rate (POV — Percentage of Volume) — поддержание фиксированной доли от текущего рыночного объема. Такая стратегия сделок адаптируется к реальной ликвидности в реальном времени. Риск: при резком падении объема алгоритм замедляется и может не успеть исполнить ордер.
👉🏻  VWAP стратегия: расчет, бэктестинг и оценка эффективности

Для систематических стратегий с удержанием позиции от нескольких часов TWAP на 30–60 минут вокруг сигнала часто достаточно и значительно лучше исполнения одним рыночным ордером.

Выбор времени входа и управление размером позиции

Время входа напрямую влияет на уровень проскальзывания через ликвидность.

  • Первые и последние 30 минут торговой сессии — периоды максимального объема на большинстве инструментов;
  • Середина дня (12:00–14:00 по восточному времени, ET, для NYSE) — минимальная ликвидность, спред расширяется на 20–50% по сравнению с открытием.

Ограничение размера позиции относительно среднего дневного объема (ADV) — прямой способ контроля влияния на рынок (market impact). Практические ориентиры:

  • до 1% ADV — влияние на рынок почти отсутствует;
  • 1–5% ADV — умеренное, требует дробления ордера;
  • 5–15% ADV — значительное, нужна оптимизация графика исполнения;
  • выше 15% ADV — стратегия становится нежизнеспособной для данного инструмента при текущем объеме под управлением.

Использование лимитных ордеров вместо рыночных снижает спред bid-ask, но создает риск неисполнения. Для стратегий, чувствительных к точному таймингу, лимитные ордера эффективны только при системе управления неисполненными ордерами (cancel-and-resubmit, pegging к mid).

Совмещение ограничения объема, выбора времени входа и алгоритмического дробления ордера снижает реальное проскальзывание на 30–60% по сравнению с наивным рыночным исполнением — без изменения самой стратегии.

Заключение

Проскальзывание (slippage) — не редкая ошибка и не технический артефакт. Это структурная особенность рынка, присутствующая в каждой сделке и накапливающаяся в масштабе стратегии.

Разрыв между хорошим бэктестом и реальным P&L чаще всего объясняется именно этими несколькими базисными пунктами, теряемыми на каждом входе и выходе. Стратегия с предполагаемой доходностью 10 б.п. на сделку и фактическим slippage 8 б.п. по сути не является прибыльной стратегией.

Реалистичная оценка проскальзывания требует модели, а не одного числа. Она должна учитывать объем, волатильность, ликвидность инструмента и условия исполнения. Модель с квадратным корнем (Square Root Law) дает рабочую отправную точку, затем следующий шаг — калибровка на реальных данных об исполнениях. Ограничение объема позиции относительно среднего дневного объема и правильный выбор алгоритма исполнения позволяют заметно снизить эффекты проскальзывания.