MarketTrace
M1ポジショニングM2フットプリントM3ロスカットM4ファンディング
方法論 · v3.0.0 · 更新 2026-05-23

クロス取引所フットプリント

フットプリント・チャートが Binance、Bybit、OKX、Hyperliquid パーペチュアル先物の深さと取引フローを分単位の bid × ask セルにどう統合するか:ソース、正規化、時間整列、ウォール分類、エッジケース、限界。

ライブ・ウィジェットを見る: /perpetuals/footprint.

データソース

4 取引所フィード、公開深さストリームのみ。API キー不要。

正規化:価格と数量

クロス取引所集計はすべてのソースが同じ単位を話すときのみ機能。アグリゲーターに到達する前にインジェストで 2 つの調整。

数量を基礎コインへ。 Binance と Bybit は基礎通貨で数量を直接返す(BTC-USDT パーペチュアルは BTC 単位など)。OKX は契約単位でサイズを返し、1 契約は基礎コイン ctVal 単位。BTC-USDT-SWAP は ctVal = 0.01、DOGE-USDT-SWAP は 1000。OKX フィードは起動時に公開 instruments エンドポイントから ctVal を解決し、公開前に全レベルに乗数を適用。このステップがないと DOGE 深さがクロス取引所ビューで 1000× 深く読まれる。

価格を資産別バケットへ。 取引所ごとに tick サイズがわずかに異なる。アグリゲーターが価格を最寄りのバケット境界に切り下げ、取引所間で隣接 tick が同じ壁にマージされるようにする。資産別主バケット:

btc:  $1.0
eth:  $0.10
sol:  $0.05
bnb:  $0.10
xrp:  $0.001
doge: $0.0001

マルチバケット・ビュー

サイクルごとに同じ生深さが並列で資産あたり 2 バケット・サイズにビン。主 tick(上)と 5× 粗いバリアント。ユーザーがどちらを表示するか選択。フットプリントは再接続なしで正しいバケットに切り替え。

BTC の場合、$1 ビュー(細かく、mid 近くで密)と $5 ビュー。サイド当たり 200 バケット・ビンで $1 ではフットプリントが mid ±$200 をカバー。$5 ビューは ±$1 000 に達し、ラウンドナンバー磁石($79k / $80k / $81k)が存在する場所。同じロジックが資産別にスケール:ETH は $0.10 + $0.50 を公開、DOGE は $0.0001 + $0.001 を公開。

集計:合計 + 取引所別分割

各バケットについて、アグリゲーターが 3 ソースの数量を合計し、取引所別の貢献を合計とともに保持。UI が単一壁行と、ホバー時のスタック分解を 2 度目のラウンドトリップなしでレンダリングできるようにする。

for src in (binance, bybit, okx):
    for (price, qty_base) in src.depth.bids:
        bucket = floor(price / BUCKET_SIZE) × BUCKET_SIZE
        bid_buckets[bucket].total      += qty_base
        bid_buckets[bucket].by[src]    += qty_base
    # asks: 同じ、価格昇順でソート
top_bids = sorted(bid_buckets, by price desc)[:200]
top_asks = sorted(ask_buckets, by price asc)[:200]

出力 payload はソース・リストと取引所別ベストビッド/ベストアスクを別々に含む。単一の統合ベストビッド/アスクは公開しない — 限界参照。

ケイデンスと spoof 解像度

アグリゲーターは 10 Hz で公開(~100 ms ごとに 1 スナップショット)。プロデューサー・フィードは ~20 Hz まで書けるが、制約は取引所プッシュ率(原生 ~50-100 ms)。

フットプリント 100 ms セル幅で、壁と spoof は次のように表示:

100 ms 未満の spoof は検出不可。当社アクセス・ティアで 3 取引所すべてにロックされた tick-by-tick(TBT)チャンネルが必要。

時間整列

各プロデューサーは原生深さストリームから取引所イベント・タイムスタンプを抽出(Binance の E フィールド、Bybit の top-level ts、OKX の entry-level ts)、プロデューサー自身の公開時間とともに伝播。

アグリゲーターで各スナップショットはソース別イベント・タイムスタンプクロス取引所 skew(OK ステータスのソース間のイベント時間最大 − 最小)を公開。フットプリント・スナップショット ts はタイムラインが均等に間隔を持つようアグリゲーターのポーリング瞬間のまま。skew はツールチップに ≥ 100 ms(≥ 300 ms は赤)で表示され、セルの「合意」が正直に境界付けられる。

典型的な観測 skew:定常状態 < 100 ms。あるソースが一時的に遅れる basis ストレス時に 300-500 ms スパイク。この帰属がなければ Binance T+0 と Bybit T+200 ms に投稿された壁が単一瞬時合意として読まれてしまう — 実際にはそうでない。

Stale 処理

各プロデューサーが 60 秒 TTL とタイムスタンプでソース・キーを書く。アグリゲーターがサイクルごとにソース別年齢を計算し、60 秒以上経過したソースを統合ビューから除外。除外されたソースは依然として sources 配列に stale 状態で現れ、FE が劣化インジケーターをレンダリング。

FE:ツールバーのソース pill が色 + 状態を表示。フットプリントは残りのソースで動作継続。持続する stale 状態は通常プロデューサーがウォッチドッグ・リセットを経験したか、WebSocket がクリーンな再接続なしに切断されたことを意味。ページは静かにではなく可視的に劣化。

限界と既知の落とし穴

バージョン管理

v1.0.0 初回リリース 2026-05-08(4 Hz 集計、50 レベル)。v2.0.0 2026-05-09:10 Hz、200 レベル、マルチバケット・ビュー(資産あたり $1 + $5)、ソース別イベント・タイムスタンプ整列とクロス取引所 skew 公開へアップグレード。v2.1.0 2026-05-21:multi-resolution l2Book 購読を通じて Hyperliquid を 4 番目のソースとして追加(生 20 レベル・キャップは単独では短すぎる。粗い nSigFigs のストライプが mid 近くのネイティブ granularity を保ちながらリーチを拡張)。v3.0.0 2026-05-23:M2 フットプリント UI 廃止後、クロス取引所オーダーブック・フットプリント方法論からフットプリント方法論へ rebrand。Substrate(ソース、正規化、整列)は変更なし — フットプリント init aggregator が同じ `prod:agg:<asset>:history` キーを読む。マルチバケット・バリアント(`prod:agg:<asset>:b<size>:*`)は同時期に廃止(フットプリントが唯一の消費者だった)。コンピュート経路の重要変更はバージョンを上げ発行日を更新。化粧的編集はしない。