Polymarket CLOB WebSocket против почасовых архивов: почему разрешение решает судьбу вашего бэктеста
Разница между бэктестом Polymarket, на котором можно реально торговать, и тем, который вводит в заблуждение, обычно не в том, сколько у вас данных, — а в том, как они были собраны.
Событийная запись (event-driven) фиксирует стакан Polymarket при каждом изменении напрямую из CLOB WebSocket; архив с фиксированным интервалом снимает его по часам (скажем, раз в час) и отбрасывает всё, что происходит между снимками. Для краткосрочных крипторынков, которые рассчитываются за считаные минуты, интервальная выборка захватывает лишь один-два кадра за всю жизнь рынка — вот почему доверие к бэктесту определяет именно разрешение, а не размер файла.
Что на самом деле означает «разрешение»
Разрешение — это то, как часто записывается состояние стакана. Существует два принципиально разных подхода. Выборка с фиксированным интервалом делает снимок по часам — каждый час, каждую минуту, каждые несколько сотен миллисекунд — независимо от того, что делал рынок. Событийная запись фиксирует снимок всякий раз, когда стакан реально меняется: новая заявка, отмена, сделка.
Оба подхода могут давать файлы схожего размера и при этом нести совершенно разную информацию. Интервальная выборка спокойного рынка тратит строки на неизменный стакан; интервальная выборка быстрого рынка пропускает движения, которые действительно важны.
Проблема краткосрочных рынков
Крипторынки up/down на Polymarket рассчитываются за 5–60 минут. Возьмём 5-минутный рынок BTC. Почасовой архив может захватить его ноль или один раз — у вас может не оказаться ни единого снимка стакана за всю жизнь рынка. Поминутный архив даёт около пяти кадров, и ни один из них не совпадает с моментами, в которые ваша стратегия реально совершила бы действие.
Событийная запись, напротив, фиксирует каждую переоценку (re-quote) и сделку в момент их появления, поэтому вся траектория рынка — открытие, движения по мере тиков спота, расширяющийся спред к моменту расчёта — целиком доступна для воспроизведения.
Сравнение бок о бок
| Почасовой архив | Поминутная выборка | Событийная запись (DepthFeed) | |
|---|---|---|---|
| Покрытие 5-минутного рынка | 0–1 кадров | ~5 кадров | Каждое изменение |
| Фиксирует расширение спреда | Нет | Редко | Да |
| Проскальзывание измеримо | Нет | Приблизительно | Да |
| Совпадает с движениями спота | Нет | Грубо | Тик в тик |
| Доставка в реальном времени | н/д | н/д | ~10 ms медиана (измерено) |
Почему почти никто не хранит событийную глубину стакана
Запись каждого изменения стакана в реальном времени обходится дорого: это означает удержание живого WebSocket-соединения по каждому рынку, сохранение каждого кадра и невозможность задним числом дозаписать то, что вы не захватили, — историю стакана нельзя реконструировать постфактум. Именно поэтому биржи не отдают историю собственного стакана, а большинство архивов ограничивается выборочной последней ценой. DepthFeed существует именно для того, чтобы записывать и отдавать эту событийную глубину стакана.
Key takeaways
- 01Разрешение — это про метод выборки, а не про размер файла.
- 02Архивы с фиксированным интервалом пропускают жизнь 5–60-минутных рынков.
- 03Событийная запись фиксирует каждое изменение стакана, поэтому вся траектория рынка воспроизводима.
- 04Историю стакана нельзя дозаписать задним числом — она доступна, только если кто-то захватил её в реальном времени.
Разница между бэктестом Polymarket, на котором можно реально торговать, и тем, который вводит в заблуждение, обычно не в том, сколько у вас данных, — а в том, как они были собраны.
Начать бесплатно