25 Сентября 2026 · исследования

Как понять, можно ли было торговать по рыночным данным из бэктеста?

Как понять, можно ли было торговать по рыночным данным из бэктеста?

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

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

Достаточно ли точной исторической цены для бэктеста?

Нет. Точность отвечает на вопрос: «Какую цену источник в итоге записал?» Но бэктест должен также отвечать на вопросы: «Что могла знать моя стратегия в момент принятия решения?» и «Что она могла исполнить?» Это разные вопросы.

Представим, что сделка с криптовалютой прошла в 12:00:00.120, но поток поставщика данных доставил её в вашу систему в 12:00:00.480. Стратегия, принимающая решение в .200, не может использовать эту сделку, хотя время события предшествует моменту решения. Если в историческом файле сохранилось только время события, бэктест может незаметно предоставить стратегии информацию, которую её работающая в реальном времени система ещё не получила бы.

Время или полеЧто оно показываетОшибка бэктеста при отсутствии данных
Время событияКогда, по данным биржи, произошло событиеПутаница между временем на рынке и доступностью данных для стратегии
Время полученияКогда сообщение получил ваш сборщик данныхИспользование данных с задержкой так, будто они поступили мгновенно
Порядковый номер или ID обновленияПозицию события в порядке поступления данныхПрименение обновлений не по порядку или их незаметный пропуск
Время исправленияКогда стало известно исправленное историческое значениеБэктест по значению, которого не было в исходном потоке

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

Как понять, можно ли было исполнить ордер по котировке?

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

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

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

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

Что проверить, прежде чем доверять архиву рыночных данных?

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

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

Как проверить, влияет ли доступность данных на результат?

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

Рассмотрим конкретный пример: допустим, сигнал срабатывает, когда лучшая цена покупки повышается на 1 тик. Воспроизведите его сначала по времени события биржи, а затем по времени получения данных сборщиком. Если при первом воспроизведении стратегия совершает 40 сделок, а при втором — 27, эта разница тоже относится к доказательствам в пользу стратегии. Как и результаты при каждом варианте воспроизведения. Не скрывайте менее убедительный результат только потому, что данные в нём выглядят не так аккуратно.

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

Что на практике значит «данные, пригодные для торговли»?

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

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