8 Октября 2026 · исследования

Почему мой лимитный ордер исполняется в бэктесте, если рынок до его цены не доходил?

Почему мой лимитный ордер исполняется в бэктесте, если рынок до его цены не доходил?

Бэктест может исполнить ваш лимитный ордер, даже если возможности реально войти в рынок не было. Если минимум свечи опустился до цены вашего лимитного ордера на покупку или ниже, многие движки засчитывают исполнение. Но минимум говорит лишь о том, что хотя бы одна сделка прошла по этой цене или ниже. Он ничего не сообщает об объёме торгов, заявках в очереди перед вами и о том, успел ли ваш ордер поступить вовремя.

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

Если свеча коснулась цены моего лимитного ордера, значит ли это, что он исполнился?

Нет. Это значит, что зафиксированный диапазон цен свечи включал цену вашего лимитного ордера. Возможность исполнения зависит от биржевого стакана, потока сделок, вашей позиции в очереди и времени поступления ордера.

Представим лимитный ордер на покупку по $100.00. Свеча открывается на $100.20, опускается до минимума $99.98 и закрывается на $100.10. Сделка могла пройти на 2 цента ниже вашей цены, но если по $100.00 перед вами стояла большая очередь и там прошёл лишь небольшой объём, ваш ордер мог остаться неисполненным. По одним только данным OHLCV очередь не увидеть.

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

Что именно данные OHLCV могут сказать об исполнении лимитного ордера?

По OHLCV можно исключить некоторые варианты исполнения и признать другие возможными. Но эти данные не позволяют установить приоритет в очереди или гарантировать объём, доступный вашему ордеру.

НаблюдениеЧто оно подтверждаетЧего оно не доказывает
Минимум свечи остался выше цены лимитного ордера на покупкуВ течение этой свечи ни одна зафиксированная сделка не достигла этой ценыЧто ордер исполнился бы
Минимум свечи коснулся цены лимитного ордера на покупкуЦена была зафиксирована на уровне лимитного ордераЧто после поступления вашего ордера прошёл какой-либо объём
Минимум свечи опустился ниже цены лимитного ордера на покупкуСделки проходили по этой цене или нижеЧто достаточный объём дошёл до вашей позиции в очереди
Общий объём свечи превысил размер вашего ордераЗа время свечи рынок наторговал не меньше этого объёмаЧто этот объём прошёл по вашей цене после поступления ордера

Поэтому движку, работающему со свечами, нужно задать допущение об исполнении. Рассматривайте его как модель с известным ограничением, а не как факт, который можно извлечь из свечи.

Как моделировать исполнение лимитных ордеров в бэктесте?

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

Затем разделите возможность исполнения по цене и объём исполнения. Возможность исполнения лимитного ордера не означает, что исполнится весь его объём. Если у вас есть данные о сделках, но нет истории стакана, можно требовать, чтобы объём сделок по лимитной цене или лучше превысил размер ордера в несколько раз. Этот множитель — примерная поправка на очередь, а не универсальная константа. Проверьте несколько значений и покажите, как меняется результат.

Например, стратегия выставляет лимитный ордер на покупку 2 BTC, и после активации ордера по выбранной цене проходит 3 BTC. Модель, требующая 5 BTC подходящего объёма, оставит ордер неисполненным; модель с множителем объёма 1.0 исполнит его. Ни один из этих результатов не восстанавливает реальную очередь. Сравнение показывает, насколько стратегия зависит от допущения, которое нельзя проверить по имеющимся данным.

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

Когда мне нужны данные стакана?

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

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

Как понять, зависит ли мой результат от слишком оптимистичной модели исполнения?

Запустите одну и ту же стратегию с несколькими явно заданными правилами исполнения и сравните не только итоговую доходность. Отслеживайте число исполненных ордеров, долю частичных исполнений, время в стакане, отменённый объём, упущенные движения после неисполнения и оборот. Стратегия может сохранить заявленную доходность, опираясь при этом на гораздо меньшее число более удобных сделок.

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

Касание лимитной цены говорит о цене. Исполнение — это утверждение о сделке. Бэктест должен показывать разницу между этими утверждениями.

лимитные ордерабэктестингмикроструктура рынкамодели исполненияисполнение ордеров
ПоделитьсяXLinkedInFacebookRedditHacker NewsWhatsAppTelegramEmail
← Все статьи