Polymarket CLOB WebSocket vs 毎時アーカイブ:解像度がバックテストの信頼性を決める理由
取引に使えるPolymarketバックテストと、嘘をつくバックテストの違いは、たいていデータ量ではない。どうサンプリングされたか、である。
イベント駆動型のキャプチャは、CLOB websocketから直接、変化が起きるたびにPolymarketのオーダーブックを記録する。一方、固定間隔のアーカイブは時計に合わせて(たとえば1時間に1回)サンプリングし、サンプルとサンプルの間に起きたことはすべて捨ててしまう。数分で決済される短期の暗号資産マーケットでは、間隔サンプリングはそのマーケットの一生のうちわずか1〜2フレームしか捉えられない。だからこそ、バックテストが信頼に足るかを決めるのはファイルサイズではなく解像度なのだ。
「解像度」が本当に意味するもの
解像度とは、ブックの状態をどれだけ頻繁に記録するか、である。ここには根本的に異なる2つのアプローチがある。固定間隔サンプリングは、マーケットが何をしたかに関係なく、時計に合わせてスナップショットを取る——1時間ごと、1分ごと、あるいは数百ミリ秒ごとに。イベント駆動型キャプチャは、ブックが実際に変化したとき——新規注文、キャンセル、約定——にスナップショットを記録する。
この2つは似たようなサイズのファイルを生み出しながら、まったく異なる情報を運ぶことがある。静かなマーケットの間隔サンプルは、変化しないブックに行を浪費する。動きの速いマーケットの間隔サンプルは、肝心な値動きを取りこぼす。
短期マーケットという問題
Polymarketのup/down型暗号資産マーケットは5〜60分で決済される。5分のBTCマーケットを考えてみよう。毎時アーカイブはこれをゼロ回か1回しか捉えられないかもしれない——マーケットの一生のうち、たった1枚のブックすら手元にない可能性がある。1分ごとのアーカイブなら約5フレーム得られるが、そのどれもがあなたの戦略が実際に動いたであろう瞬間とは揃っていない。
対照的にイベント駆動型キャプチャは、すべての再見積もりと約定をそれが起きたまま記録する。だからマーケットの全弧——オープン、スポットが動くにつれての値動き、決済へ向かって広がるスプレッド——のすべてが、再生できる形でそこにある。
横並び比較
| 毎時アーカイブ | 1分ごとのサンプル | イベント駆動型(DepthFeed) | |
|---|---|---|---|
| 5分マーケットのカバレッジ | 0〜1フレーム | 約5フレーム | すべての変化 |
| スプレッド拡大を捉える | 不可 | まれ | 可 |
| スリッページ測定 | 不可 | 近似 | 可 |
| スポットの動きとの整合 | 不可 | 粗い | ティック単位 |
| ライブ配信 | 該当なし | 該当なし | 中央値 約10 ms(実測) |
イベント駆動型の板情報をほぼ誰も保持しない理由
すべてのブック変化をリアルタイムで記録するのはコストがかかる。マーケットごとにライブのwebsocket接続を維持し、すべてのフレームを永続化し、しかも捉え損ねたものは後から埋め戻せない——オーダーブックの履歴は事後に再構築できないのだ。だからこそ取引所は自前のブック履歴を提供せず、ほとんどのアーカイブはサンプリングされた最終価格止まりになる。DepthFeedは、まさにそのイベント駆動型の板情報を記録し提供するために存在している。
Key takeaways
- 01解像度はファイルサイズではなく、サンプリング方式の問題である。
- 02固定間隔アーカイブは、5〜60分マーケットの一生を取りこぼす。
- 03イベント駆動型キャプチャはすべてのブック変化を記録するので、マーケットの全弧を再生できる。
- 04オーダーブック履歴は埋め戻せない——誰かがライブで捕捉していた場合にのみ手に入る。
取引に使えるPolymarketバックテストと、嘘をつくバックテストの違いは、たいていデータ量ではない。どうサンプリングされたか、である。
無料で始める