20 Сентября 2026 · исполнение

Бумажный счёт отклонил исполнение из бэктеста: письмо о биржевых фильтрах

Бумажный счёт отклонил исполнение из бэктеста: письмо о биржевых фильтрах

У вас есть небольшая стратегия торговли криптофьючерсами по нескольким контрактам, и вы только что перенесли её из бэктеста в бумажную торговлю. При первой ребалансировке стратегия запрашивает 0.037 BTC. Симулятор принимает ордер, а биржа отклоняет его: шаг количества контракта равен 0.001, и после округления номинал ордера оказывается ниже минимального. Позиция остаётся нулевой, а в бэктесте записано исполнение.

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

Какие биржевые фильтры могут сделать ордер недействительным?

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

Допустим, целевая позиция составляет $12, а минимальная стоимость ордера по контракту — $10. Если округление по шагу количества уменьшит ордер до $9.80, он станет недействительным, хотя неокруглённая цель превышала минимум. Округление вверх до $10.20 может сделать ордер допустимым, но тогда размер позиции превысит цель на $0.20. Это расхождение может быть существенным при небольшом счёте или торговле множеством инструментов.

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

На каком этапе выставления ордера следует выполнять округление?

Округляйте поля ордера после расчёта желаемого изменения позиции, но до решения о его отправке. Сохраните неокруглённую цель для анализа, а затем рассчитайте исполнимый ордер с учётом текущей позиции, мультипликатора контракта и биржевых шагов. Если шаг количества для продажи равен 0.001, желаемое сокращение на 0.0017 превратится в 0.001 или 0.002 — в зависимости от заданного правила. Эти варианты оставляют разные остаточные позиции, поэтому формулировка «округлить до точности» ещё не задаёт политику.

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

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

Как обеспечить согласованность исполнения в бэктесте и на бумажном счёте?

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

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

Если бумажная биржа отклоняет ордер, сравните отправленные поля и снимок фильтров, прежде чем менять сигнал. Если нормализатор ордеров в бэктесте выдал 0.037 BTC, а биржа допускала шаги по 0.001 BTC, расхождение находится в адаптере или метаданных. Если отправленный ордер был допустимым, но не исполнился, значит, дело в условиях исполнения: цене, ликвидности или времени действия.

Что проверить, прежде чем доверять сравнению?

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

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

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