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

クロス取引所ロスカット

ロスカット・テープのソーシング・正規化・サイジング・読み方:WS フィード、スキーマ、サイド意味論、適応バケッティング、クラスター検出、鮮度ルール。

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

データソース

3 取引所の WebSocket フィード、資産別の正規化された Redis ストリーム。実行されたすべてのロスカット・プリントがテープに入る — オープン・インタレストからロスカット圧力を推定せず、ストップ・ゾーンを推測せず、プリントを合成しない。

各デーモンがイベントを資産別 Redis Stream prod:liq:<asset>:events に書く。上限 MAXLEN ≈ 10 000(約 4 時間カスケード密集データ、静かな日は 24 時間全体)。バックエンドは REST と WebSocket の両表面で資産あたり 1 ストリームから読む。別の pubsub チャンネルなし — ストリーム自体がブロードキャスト表面。

イベント・スキーマ

イベント別フィールドは 3 ソースで同一。2 つのタイムスタンプは意図的に区別:

サイド意味論

ロスカット・ストリームは取引所のクローズ注文の視点からサイドをエンコード、トレーダーのポジションと逆。負けたポジション方向に正規化:

テープ色はこれに従う:ドット = ロングが飛んだ(価格下落)、ドット = ショートが飛んだ(価格上昇)。

サイズ・スケーリング

viewBox-px のドット半径は clamp(√(usd / $10 000) × 2, 4, 22)。sqrt が面積による線形スケーリングを抑制し、$1 M イベントが $100 K イベントの約 ~3.16 倍に見える(10 倍ではない)。単一カスケード・プリントが周囲すべてを覆わない。下限 clamp が $10 K 未満の小イベントに読みやすい hit 領域を維持。上限 clamp が最大のカスケードがパネルから溢れないようにする。

r = clamp(sqrt(usd / 10_000) * 2, 4, 22)   // viewBox-px

# 参照値(サイズ凡例)
$10 K   → r ≈ 4
$100 K  → r ≈ 6.3
$1 M    → r = 20
$10 M+  → r = 22 (clamped)

適応レンダリング

生散布図は ~15 分体制までしかスケールしない。それを超えると 1 秒以内の数百の小プリントが均一な光に溶け、カスケード構造が消える。ウィンドウに応じてレンダリング・モードを切り替える:

ヒット・テスト、top-N アノテーション、ツールチップはレンダリングされた(バケット化された)イベントに対して実行。クラスター検出、累積パン、レート・サブパンは生イベントをスキャン — これら信号はホバー・ターゲットでなくイベントあたり密度とサイド・フローに関するため。

クラスター検出

価格クラスター帯はアクティブ・ウィンドウの生イベントで検出:

reference_price = 現在 mid (最新イベント価格)
bin_width       = reference_price * 0.001    // 0.1 %
イベントを round((price - reference) / bin_width) で bin

各 bin について:
  if Σ usd ≥ ウィンドウ総額の 15 % AND distinct events ≥ 3:
    クラスターとしてマーク
    cluster_price = bin 価格の出来高加重平均

Σ usd で上位 3 クラスター保持

各クラスターは点線水平線とバッジ $X cluster · N× @ price を取得。出来高加重平均(bin の名目中点でなく)が線をドルが実際に集中する深さに置く。

Top-N インライン・アノテーション

ウィンドウの最大ドットのうち最大 3 つがインライン $amount · time · venue|N× ラベルを取得し、視線が即座に最大カスケードへ向く。$50 K フロアが塵へのラベリングを防ぐ。ラベル・アンカーはドットがチャート左半分か右半分かに応じて反転し、テキストが右軸を超えたり左端を下回ったりしない。

ロスカット速度サブパン

累積パンの下にミラーされたバー・チャートが時間バケットあたり Σ usd をサイド別に分割表示:ショートはベースラインから上(緑)へ、ロングは下(赤)へ。バケット・サイズは散布図の適応閾値に従う(≤ 15 m で 30 s、1–4 h で 1 min、24 h で 5 min)で、棒が上のドットと視覚的に整列する。

フィード健康

(資産, 取引所)別ステータス・ハッシュ prod:liq:status:<asset>:<exchange> が 5 秒ごとに更新、TTL 60 秒。バックエンドがこれを 3 ステートに変換:

健康ツールチップの遅延 p50 / p99 数値はデーモンの producer_ts_ms − ts_ms ローリング 200 イベント・リング・バッファからサンプリング。

空時間帯

ウィンドウのロスカットが全くない連続スパンに微妙な背景色を付ける。そうしないと 24 h ビューが 6 時間ローカル・データのみのとき、「その期間にカスケードなし」ではなく壊れたレンダラーのように読まれる。閾値 gap ≥ ウィンドウの 5 % — 24 h ビューの静かな 30 m をフラグするのに十分に小さく、静かな秒の間にチャートをマイクロ帯でストライプ化しないのに十分に大きい。

キャッシング

限界

バージョン管理

方法論バージョン v1.0.0 · 更新 2026-05-12。重要な変更(新取引所、公式微調整、閾値変更)はバージョンを上げ、上の構造化データの dateModified を更新。