WeCore
Управление рисками

Проскальзывание и издержки исполнения во фьючерсах

Что такое проскальзывание, как спред, ликвидность, новости и задержки влияют на реальную цену исполнения и как измерять и снижать издержки в своём журнале сделок.

WeCore·Опубликовано ·5 мин чтения

Каждый, кто переходил от бэктеста к реальной торговле, знает этот момент: стратегия должна была войти по одной цене, а исполнение пришло по другой. Эта разница вместе с комиссиями и биржевыми сборами и есть ваши издержки исполнения - одна из самых незаметных сил, разъедающих результат. В статье разложим издержки исполнения на составляющие, покажем, как их измерять, и что можно сделать, чтобы их снизить.

Что такое проскальзывание

Проскальзывание - это разница между ожидаемой ценой и ценой, по которой ордер фактически исполнился. Если стратегия отправляет ордер на покупку, когда NQ торгуется по 20,000.00, а исполнение приходит по 20,000.75, вы проскользнули на три тика против себя. Проскальзывание бывает и в вашу пользу, но у рыночных ордеров на быстром рынке оно обычно отрицательное.

Важно понимать, что проскальзывание - не «сбой». Это естественное следствие устройства биржевого стакана: на каждом ценовом уровне ограниченное число контрактов. Когда вы требуете немедленного исполнения, вы забираете то, что есть, и если первый уровень слишком тонкий или цена сдвинулась до прихода ордера, вы получаете другую цену.

Типы ордеров и их влияние на исполнение

Тип ордера - первое решение, которое определяет, сколько проскальзывания вы получите.

  • Рыночный ордер: гарантирует исполнение, но не цену. Полезен, когда важно войти или выйти прямо сейчас, но полностью открыт для любого проскальзывания, которое даст рынок.
  • Лимитный ордер: гарантирует вашу цену или лучше, но не исполнение. Отрицательного проскальзывания нет, но цена может коснуться уровня и уйти, не исполнив вас, или исполнить лишь частично.
  • Стоп-ордер: превращается в рыночный, когда цена касается уровня. Поэтому стоп-лосс при резком движении может исполниться заметно дальше заданного уровня.
  • Стоп-лимит: ограничивает цену исполнения после срабатывания, но при экстремальном движении может не исполниться вовсе, что особенно опасно при выходе из убыточной позиции.

Единственно «правильного» типа ордера нет. Пробойной стратегии обычно нужна гарантия исполнения, а стратегия, входящая на откате к уровню, может работать лимитками. Выбор должен быть осознанным и задокументированным, а не настройкой по умолчанию.

Спред, ликвидность и влияние на рынок

Спред bid-ask - это разница между самой высокой ценой, которую готов заплатить покупатель, и самой низкой, на которую согласен продавец. В ликвидных контрактах вроде ES или NQ в основную сессию спред обычно один тик, но ночью, около открытия или в менее ликвидных контрактах он может расширяться.

Ликвидность - это число контрактов, доступных вокруг текущей цены. Чем больше ваш ордер относительно этой ликвидности, тем больше ценовых уровней он «съедает». Это называется влиянием на рынок (market impact). Для трейдера с одним-двумя контрактами MNQ эффект большую часть времени пренебрежимо мал, но тот, кто копирует ордера сразу на несколько счетов, фактически выставляет более крупный ордер - и тогда это начинает иметь значение.

Ликвидность меняется в течение дня. Полезно знать торговые сессии фьючерсов и помнить, что рынок в три часа ночи ведёт себя совсем не так, как в первые полчаса основной сессии.

Новости, волатильность и задержки

Вокруг важной экономической статистики стакан может опустеть за доли секунды. Покупатели и продавцы снимают заявки, спред расширяется, и цена перепрыгивает сразу несколько уровней. Рыночный или стоп-ордер, отправленный в этот момент, может исполниться далеко от ожидаемого. Поэтому многие трейдеры и некоторые проп-фирмы избегают новых входов за несколько минут до и после важных публикаций. Проверьте правила своей фирмы в её официальном справочном центре.

Задержка - это время от появления сигнала до момента, когда ордер доходит до биржи. В автоматической цепочке несколько звеньев: генерация алерта, доставка webhook, обработка ордера и подключение к брокеру. Каждое звено добавляет время, а на быстром рынке каждая миллисекунда - шанс для цены сдвинуться. Это одна из причин, по которой некоторые трейдеры решают запускать стратегии на собственном сервере в регионе, близком к бирже.

Комиссии и биржевые сборы

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

Гипотетический пример: допустим, полная стоимость круга - фиксированная сумма X, и стратегия делает десять сделок в день. За торговый месяц примерно в двадцать дней это двести сделок, или 200X издержек - ещё до единого тика проскальзывания. Если средняя прибыль на сделку в бэктесте близка к X, в реальной торговле стратегия может оказаться в нуле или в убытке.

Как измерять проскальзывание в своём журнале

Нельзя улучшить то, что не измеряешь. Вот простой процесс:

  1. Для каждой сделки запишите цену, которую «подразумевал» сигнал: закрытие бара, давшего сигнал, или уровень лимита либо стопа.
  2. Запишите фактическую цену исполнения из брокерского отчёта.
  3. Посчитайте разницу в тиках со знаком: плюс - в вашу пользу, минус - против вас.
  4. Запишите время, тип ордера, размер позиции и была ли рядом публикация новостей.
  5. После нескольких десятков сделок усредните проскальзывание по времени суток и типу ордера.

Результат может показать, например, что входы на открытии обходятся дороже, чем в середине дня, или что стопы исполняются дальше, чем выходы по тейку. С этой информацией уже можно работать. Заложите ту же цифру обратно в тестирование; подробнее - в статье бэктест и реальная торговля.

Как снизить издержки исполнения

  • Выбирайте тип ордера под стратегию, а не по привычке. Проверьте, можно ли часть входов делать лимитками.
  • Избегайте торговли в тонкие часы и вокруг новостей, если стратегия не рассчитана именно на это.
  • Используйте микро-контракты, когда нужен более точный размер, и при необходимости дробите крупные ордера.
  • Сокращайте цепочку исполнения: меньше звеньев, меньше ожидания и стабильный сервер.
  • Закладывайте проскальзывание и сборы в тесты как консервативное допущение, чтобы ожидания оставались реалистичными.
  • Регулярно пересматривайте данные, потому что условия рынка меняются, и то, что верно сегодня, может не сработать через полгода.

Главное

  • Проскальзывание - встроенная часть торговли, а не баг. Оно возникает из-за ликвидности, скорости рынка и типа ордера.
  • Рыночные и стоп-ордера подвержены проскальзыванию; лимитные - риску неисполнения.
  • Новости и часы низкой ликвидности расширяют спред и повышают риск дальних исполнений.
  • Комиссии и биржевые сборы быстро накапливаются в высокочастотных стратегиях.
  • Измеряйте проскальзывание в журнале по времени и типу ордера и закладывайте цифры обратно в тесты.

WeCore исполняет сигналы из TradingView или ваших собственных стратегий напрямую на вашем счёте у брокера или в проп-фирме, а движок может работать и на облачном сервере в вашем собственном аккаунте. Разумный первый шаг - режим симуляции, в котором можно сравнить цены исполнения с сигналами до перехода на реальный счёт.

Источники и дополнительное чтение