Home>Blog>Your Risk Engine Is Blind Without Liquidation Scores
Your Risk Engine Is Blind Without Liquidation Scores

Your Risk Engine Is Blind Without Liquidation Scores

By @CoinMarketMan - 14-Jul-2026

あなたのリスクエンジンは清算スコアなしでは盲目だ

7月4日、Hyperliquid上のゴールド無期限先物が1分以内に約100ドル下落し、アービトラージボットが価格を戻すまでの間、その60秒の窓でレバレッジロングを持っていたトレーダーたちは瞬く間に清算された。契約は最終的に自己修正したが、ダメージはすでに生じていた。

フラッシュクラッシュは予告なく起きる。祝日の週末、流動性の薄い時間帯、オラクルのミスマッチ。リスクエンジンが価格とマージンしか監視していなければ、水面下に積み上がるプレッシャーに対して盲目のまま飛行しているも同然だ。清算リスクスコアリングはそのギャップを埋める。特定資産のオープンインタレストのうち、強制決済に近いポジションがどれだけあるかを、それを保有する行動コホート別に示してくれる。

この記事では、HyperTrackerの清算リスクエンドポイントを実際に動くリスクエンジンに組み込む方法を説明する。最終的には、リスクスコアをポーリングし、コホートでフィルタリングし、カスケードが始まる前にアラートを発火するPythonコードが手に入る。

清算リスクスコアリングが実際に測定するもの

多くのリスクダッシュボードはマージン比率を追う。それは自分のポジションには有用だが、市場全体については何も教えてくれない。清算リスクスコアリングは問いを逆転させる。「自分が清算されそうか」ではなく、「市場全体のどれだけが清算されそうか」を問うのだ。

清算リスクエンドポイントは、特定コホート内の各資産について3つのフィールドを返す。

  • totalValue: そのコホートにおける資産のオープンインタレスト総額
  • riskValue: 清算閾値の75%以内にあるポジションのドル金額
  • percentRisk: リスクにさらされている価値の総エクスポージャーに対する比率

WhaleコホートのETHにおけるpercentRiskが18%であれば、Whaleが保有するETHポジション全体のほぼ5分の1が強制決済に近い状態にある。これは先行指標だ。レバレッジの高い大口ポジションが清算付近に集中すると、比較的小さな価格変動でカスケードを引き起こす可能性がある。強制売りが価格を押し下げ、さらなる清算を誘発し、価格をさらに押し下げる。

Liquidation Risk Anatomy

エンドポイント: 1回のコール、全資産

清算リスクエンドポイントはこちらにある。

GET /api/external/{segmentId}/assets/liquidation-risk

パスパラメータとしてコホートのセグメントIDを渡すと、リスクエクスポージャー順にランク付けされた資産リストが返ってくる。レスポンスにはtotalCount(このコホートにポジションを持つ資産の数)と、各資産のリスク内訳を含むitems配列が含まれる。

クエリ可能なコホートIDの全一覧はこちら。

| コホート | タイプ | ID | |---|---|---| | Shrimp ($0-$250) | サイズ | 16 | | Fish ($250-$10K) | サイズ | 1 | | Dolphin ($10K-$50K) | サイズ | 2 | | Apex Predator ($50K-$100K) | サイズ | 3 | | Small Whale ($100K-$500K) | サイズ | 4 | | Whale ($500K-$1M) | サイズ | 5 | | Tidal Whale ($1M-$5M) | サイズ | 6 | | Leviathan ($5M+) | サイズ | 7 | | Money Printer (+$1M+) | PnL | 8 | | Smart Money (+$100K-$1M) | PnL | 9 | | Consistent Grinder (+$10K-$100K) | PnL | 10 | | Humble Earner ($0-$10K) | PnL | 11 | | Exit Liquidity (-$10K-$0) | PnL | 12 | | Semi-Rekt (-$100K to -$10K) | PnL | 13 | | Full Rekt (-$1M to -$100K) | PnL | 14 | | Giga-Rekt (below -$1M) | PnL | 15 |

シグナルの質はどのコホートをクエリするかによって変わる。WhaleとLeviathanの清算は強制決済の出来高が価格に影響するほど大きいため、市場を動かす。Shrimpの清算はノイズだ。したがってリスクエンジンはそれに応じてスコアを重み付けすべきだ。

Cohort Risk Weight Comparison

組み込む: 50行以内で書くミニマルなPythonリスクモニター

以下は50行以内で動く実用的なリスクモニターだ。最も重要なコホート(Whale、Tidal Whale、Leviathan、Smart Money、Money Printer)の清算リスクエンドポイントをポーリングし、加重スコアを算出し、集計値が自分で定義した閾値を超えたときにアラートを発火する。

import requests, time, json

API_BASE = "https://ht-api.coinmarketman.com/api/external"
TOKEN = "YOUR_JWT_TOKEN"
HEADERS = {"Authorization": f"Bearer {TOKEN}"}

# 市場を動かすコホートと相対ウェイト
WATCHED_COHORTS = {
    5: {"name": "Whale", "weight": 1.0},
    6: {"name": "Tidal Whale", "weight": 1.5},
    7: {"name": "Leviathan", "weight": 2.0},
    9: {"name": "Smart Money", "weight": 1.2},
    8: {"name": "Money Printer", "weight": 1.3},
}

ALERT_THRESHOLD = 15.0  # アラートを発火する加重percentRisk
POLL_INTERVAL = 300     # 5分ごと、APIリフレッシュに合わせる

def get_risk(segment_id):
    url = f"{API_BASE}/{segment_id}/assets/liquidation-risk"
    resp = requests.get(url, headers=HEADERS)
    resp.raise_for_status()
    return resp.json()["items"]

def compute_weighted_risk(coin):
    """コホート横断で単一資産の加重リスクスコアを計算する。"""
    total_weight = 0
    weighted_sum = 0
    for seg_id, meta in WATCHED_COHORTS.items():
        assets = get_risk(seg_id)
        match = next((a for a in assets if a["coin"] == coin), None)
        if match:
            weighted_sum += match["percentRisk"] * meta["weight"]
            total_weight += meta["weight"]
    return weighted_sum / total_weight if total_weight else 0

def scan_and_alert():
    # 資産リストを取得するためにコホートを1つプルする
    all_assets = get_risk(5)
    for asset in all_assets:
        score = compute_weighted_risk(asset["coin"])
        if score >= ALERT_THRESHOLD:
            print(f"ALERT: {asset['coin']} weighted risk = {score:.1f}%")
            # Webhook、Telegramボット、またはSlackの呼び出しに置き換える
            fire_alert(asset["coin"], score)

while True:
    scan_and_alert()
    time.sleep(POLL_INTERVAL)

閾値とウェイトに関する注記。 ALERT_THRESHOLDの15.0とコホートのウェイトはあくまで出発点として示したものだ。自分のバックテストとリスク許容度に基づいて両方を調整する必要がある。HyperTrackerはウォレットをコホートに分類する。特定のリスク閾値やポジションサイジングのルールを規定するものではない。

コホートによるフィルタリング: なぜそれが重要か

単純なアプローチは16コホート全てをクエリしてリスクスコアを平均することだろう。しかしそれはシグナルを希薄にするため、むしろ役に立たない。Shrimpのポジションが清算付近に積み上がっても、市場はほとんど気にしない。Leviathanがリスクにさらされたとき、強制売りの出来高がフラッシュクラッシュを生むカスケード清算を引き起こす可能性がある。

上記のコードはこれを大口残高コホートに高いウェイトを割り当てることで対処している。ただし、アラートを別々のティアとして構築することもできる。

  • Tier 1(クリティカル): Leviathan、Tidal Whale、Money Printer。ここのポジションは最大の想定エクスポージャーを持つ。リスク上昇時は即座に発火。
  • Tier 2(警告): Whale、Small Whale、Smart Money。相当な出来高があるが、市場への影響は小さい。
  • Tier 3(情報): それ以外の全て。調査とバックテスト用にログを記録するが、本番環境ではアラートを出さない。

このティア構造によってアラートチャンネルをクリーンに保てる。全てにアラートを出すリスクエンジンは、オペレーターが注意を払わなくなるため、結果的に何にもアラートを出さないのと同じだ。

スコアから意思決定へ: ボットが取るべき行動

生のリスクスコアは観察だ。意思決定こそが監視ダッシュボードとリスクエンジンを分かつものだ。清算リスクの上昇を自動化されたアクションに変換する方法を示す。

カスケードの前にエクスポージャーを減らす

ボットがETHのロングを持っていて、ETHの加重清算リスクスコアが閾値を超えてスパイクしたなら、ポジションサイズを減らすかストップを広げるシグナルだ。ロジックはシンプルだ。リスクが高まるということは、強制決済に近いレバレッジポジションのプールが存在することを意味し、大口ポジションの強制決済は自分のポジションに逆行する価格変動を生む可能性がある。方向を予測する必要はない。ただ小さくなればいい。

フラッシュ後のフェードの機会を見つける

カスケード清算はオーバーシュートする傾向がある。フラッシュ後、清算リスクスコアは急落する。なぜならリスクにさらされていたポジションがすでに決済されているからだ。これは多くの場合、平均回帰が始まるタイミングだ。ボットがリスクスコアを時系列で追っていれば、高から低への急落は強制売りが終わりスナップバックが来るシグナルになりうる。

コホートバイアスとクロスリファレンスする

清算リスクはプレッシャーが高まっていることを教えてくれる。コホートバイアスはどちらの方向かを教えてくれる。Leviathanが圧倒的にロング傾向にあり、清算リスクが上昇しているなら、それは方向性のシグナルだ。もし強制決済が起きるとすれば、それはロングサイドで起きる。より豊かな全体像を得るために、/assets/liquidation-riskエンドポイントと/biasエンドポイントを組み合わせよう。

Risk Engine Decision Tree

現実の文脈: 今なぜこれが重要か

Hyperliquidの総オープンインタレストは7月13日に110億7000万ドルに達し、2026年最高水準となった。オープンインタレストが増えれば、ポジションが増え、レバレッジが増え、潜在的な清算出来高も増える。プラットフォームが成長するにつれ、「自分のマージンを監視する」ことと「市場全体のマージンを監視する」ことの差は広がっていく。

7月4日のゴールドフラッシュクラッシュはその典型例だ。ゴールド無期限先物は、祝日の薄い流動性とオラクル価格の乖離に起因して、1分以内に約100ドル下落した。契約は素早く回復したが、その60秒間にレバレッジロングを持っていた者は反応する間もなく清算された。ゴールドの清算リスクスコアを追うリスクエンジンであれば、クラッシュが起きる前にリスクにさらされたポジションの集中を警告として検知できていただろう。

このパターンは繰り返される。2026年5月下旬、HyperliquidのSpaceX上場前無期限先物がオラクルのデータ問題を引き金に約30分で約45%下落し、1,393ポジションにわたって151万ドルが清算された。資産は違えど、メカニズムは同じだ。清算閾値付近に集中したレバレッジ、引き金となるイベント、そしてカスケード。唯一の変数は、あなたのリスクエンジンがそれを事前に察知できていたかどうかだ。

本番環境への移行

上記のミニマルなモニターはプロトタイピングには十分だ。本番環境ではいくつかの追加が必要になる。

  • 永続的な状態管理: 時系列データベース(InfluxDB、TimescaleDB、あるいはフラットなCSVでも)にリスクスコアの履歴を保存する。閾値のキャリブレーションをバックテストし、トレンドを検知できる。
  • Webhookによる配信: Flow($799/mo)またはStream($1,999/mo)ティアであれば、ポーリングの代わりにWebhookでプッシュ更新を受け取れる。5分のポーリングギャップがなくなり、リフレッシュと同時にリスクデータが手に入る。
  • マルチアセットの相関: 同一コホートの複数資産で清算リスクが同時にスパイクした場合、それはより広範なデレバレッジイベントだ。リスクエンジンは相関したスパイクを検知して集合的なシグナルに対応すべきだ。孤立したスパイクより、相関したスパイクの方が危険だからだ。
  • ダッシュボード層: 清算リスクデータをGrafana、Retool、またはカスタムフロントエンドに流し込む。リスクスコアを時系列で価格と重ね合わせて可視化することで、ログを読むよりはるかに速くパターンを認識できる。

ビルド対バイの計算: Hyperliquidの生データから同等の清算リスクスコアリングを構築するには、全ポジションを取り込み、清算閾値への近接度を計算し、ウォレットを行動セグメントに分類し、コホート別に集計する必要がある。構築に数ヶ月かかり、運用コストは月10,000ドル以上かかるデータパイプラインだ。HyperTracker APIなら、1回のRESTコールで月$179から同じインテリジェンスが手に入る。

リスクエンジンに清算リスクスコアリングを追加する

16の行動コホート。資産レベルのリスクエクスポージャー。1回のAPIコール。無料ティアから構築を始めよう。

APIキーを取得する

あなたのリスクエンジンはすでにマージンとPnLを追っている。清算リスクスコアリングは、これまで欠けていた層を加える。市場の残りが強制的に何をしようとしているかだ。フラッシュクラッシュが60秒で決着する市場では、その先見性こそがエクスポージャーを減らすことと Exit Liquidity になることの差を生む。