Home>Blog>Every Wallet Has a Lean: How to Query Cohort Bias on Hyperliquid
Every Wallet Has a Lean: How to Query Cohort Bias on Hyperliquid

Every Wallet Has a Lean: How to Query Cohort Bias on Hyperliquid

By @CoinMarketMan - 14-Jul-2026

Hyperliquidのすべてのウォレットには傾向がある:コホートバイアスのクエリ方法

Hyperliquid上のすべてのウォレットは、どこかに傾いている。ネットロングのものもあれば、ネットショートのものもある。何千ものウォレットにわたるその傾きの集計方向は、どんなローソク足チャートにも読み取れない情報を伝えている。問題は、あなたがそれを読んでいるかどうか、そしてコホート別に読んでいるかどうかだ。

HyperTrackerは、すべてのアクティブなウォレットを16のbehavioral cohortのいずれかに分類する。8つはアカウントサイズ別(Shrimp から Leviathan まで)、8つは累計PnL別(Money Printer から Giga-Rekt まで)だ。各コホートはバイアススコアを持つ。そのトレーダーグループが集合的にロングとショートのどちらに傾いているかを示す単一の数値だ。Money Printers があるほうに傾き、Giga-Rekts が逆方向に傾いているとき、注目に値するダイバージェンスシグナルが生まれる。このガイドでは、それをクエリし、解釈し、活用する方法を解説する。

コホートバイアスが実際に測定するもの

バイアスは正規化されたスコアだ。マイナスはコホートがネットショートであることを意味する。プラスはネットロングを意味する。ゼロは集計ポジションが均衡していることを意味する。このスコアはドル金額でも建玉に対するパーセンテージでもない。そのセグメントに分類されたすべてのウォレットの傾きを捉えた方向性の読み取り値だ。

建物の傾斜計のようなものだと考えてほしい。建物はコホート内のすべてのウォレットだ。資本の70%がロングに投入されていれば、メーターはプラス方向に傾く。ほとんどのウォレットがショートであれば、マイナス方向に傾く。振れ幅はその傾きの強さを示し、時間の経過に伴う変化は確信が高まっているか薄れているかを示す。

重要な区別: バイアスはコホート内のすべてのウォレットにわたる集計方向の傾きを測定する。個々のウォレットが何をしているかを示すものではない。グループが何をしているかを示すものであり、それがマーケット構造分析において重要なシグナルだ。

これが重要な理由は、個々のウォレットは嘘をつくからだ。単一のウォレットはヘッジを行っていたり、ベーストレードを実行していたり、確信を反映しない方向に資本を置いていたりする可能性がある。しかし、Money Printers(累計PnL100万ドル以上)として分類された数百のウォレットが集合的にロングに傾いているとき、それはパターンであり、偶然ではない。

Bias Spectrum

3つのエンドポイント、同じ問いへの3つの視点

HyperTracker APIは、3つの関連するエンドポイントを通じてコホートバイアスを公開している。それぞれが同じ問いのわずかに異なるバージョンに答える:このコホートはどこに傾いているか?

1. バイアス履歴(ローリング12時間ウィンドウ)

/segments/{segmentId}/bias-history エンドポイントは、ローリング12時間ウィンドウにわたるバイアス値の時系列を返す。各データポイントは、その瞬間のコホートの集計傾きのスナップショットだ。

import requests

BASE_URL = "https://ht-api.coinmarketman.com/api/external"
HEADERS = {"Authorization": "Bearer YOUR_API_KEY"}

def fetch_bias_history(segment_id, recency="all"):
    resp = requests.get(
        f"{BASE_URL}/segments/{segment_id}/bias-history",
        headers=HEADERS,
        params={"positionRecencyTimeframe": recency}
    )
    resp.raise_for_status()
    return resp.json()

# 過去12時間のMoney Printerバイアス
bias = fetch_bias_history(segment_id=8)
for point in bias[:5]:
    print(f"{point['timestamp']}: {point['bias']}")

positionRecencyTimeframe パラメータはポジションの経過時間でフィルタリングする:24h7d30d、または all(デフォルト)。24h に設定すると、最近オープンされたポジションのバイアスのみが表示され、数週間オープンされている可能性のある過去のポジションから最新の確信を切り出すことができる。

ルックバック制限: このエンドポイントはローリング12時間ウィンドウを返す。日中のセンチメント分析向けに設計されており、数日にわたるバックテストには対応していない。過去のトレンドデータが必要な場合は、代わりにposition-metricsエンドポイントを使用すること(後述)。

2. セグメントサマリー(現時点のスナップショット)

/segments/{segmentId}/summary エンドポイントは、コホートの現在の集計状態を返す:トレーダー数、合計想定エクスポージャー、ロングとショートの内訳、および上位10のオープンポジションだ。

def fetch_segment_summary(segment_id, position_age="all"):
    resp = requests.get(
        f"{BASE_URL}/segments/{segment_id}/summary",
        headers=HEADERS,
        params={"positionAge": position_age}
    )
    resp.raise_for_status()
    return resp.json()

# Leviathanサマリー($5M以上のウォレット)
summary = fetch_segment_summary(segment_id=7)
print(f"トレーダー数: {summary['traderCount']}")
print(f"ロング: ${summary['longNotional']:,.0f}")
print(f"ショート: ${summary['shortNotional']:,.0f}")
print(f"バイアス: {'LONG' if summary['longNotional'] > summary['shortNotional'] else 'SHORT'}")

このエンドポイントは時系列を返さない。単一時点のスナップショットだ。価値は生の数値にある:独自のロング/ショート比率を計算し、コホート間で比較し、上位10ポジションがどのアセットに集中しているかを確認できる。positionAge フィルタはバイアスエンドポイントと同様に機能し、最新のアクティビティを切り出すことができる。

3. コインとセグメント別ポジションメトリクス(数週間にわたる履歴)

/position-metrics/coin/{coin}/segment/{segmentId} エンドポイントは、トレンド分析に使用するものだ。特定のコインとコホートの組み合わせについて、約4週間にわたる過去のロング/ショート値、OI、トレーダー数を返す。

from datetime import datetime, timedelta

def fetch_cohort_position_metrics(coin, segment_id, days_back=14):
    start = (datetime.utcnow() - timedelta(days=days_back)).strftime(
        "%Y-%m-%dT00:00:00.000Z"
    )
    resp = requests.get(
        f"{BASE_URL}/position-metrics/coin/{coin}/segment/{segment_id}",
        headers=HEADERS,
        params={"start": start}
    )
    resp.raise_for_status()
    return resp.json()

# 過去14日間のSmart Money BTC ポジション
metrics = fetch_cohort_position_metrics("BTC", segment_id=9, days_back=14)
for entry in metrics[:3]:
    long_pct = entry["longValue"] / max(entry["longValue"] + entry["shortValue"], 1)
    print(f"{entry['timestamp']}: {long_pct:.1%} ロング")

このエンドポイントには ISO 8601 形式の start パラメータが必要だ。最大ルックバックは約4週間で、それ以上のデータは利用できない。より長い過去分析には、個別ポジションエンドポイント(/positions)を使用すること。こちらは約10ヶ月遡ることができる。

Api Data Flow

コホートダイバージェンスダッシュボードの構築

コホートバイアスから得られる最も実用的なシグナルは、どの単一コホートの傾きでもない。2つのコホート間のギャップだ。Money Printer コホート(セグメントID 8)がロングにポジションを持ち、Giga-Rekt コホート(セグメントID 15)がショートにポジションを持つとき、そのダイバージェンスは、集計OIやファンディングレートだけでは読み取れないマーケットの情報を伝えている。

両コホートをポーリングしてダイバージェンススコアを計算するスクリプトを示す:

import time

def compute_divergence():
    mp_bias = fetch_bias_history(segment_id=8)  # Money Printer
    gr_bias = fetch_bias_history(segment_id=15)  # Giga-Rekt

    if not mp_bias or not gr_bias:
        return None

    # 各コホートの最新バイアス値
    mp_latest = mp_bias[0]["bias"]
    gr_latest = gr_bias[0]["bias"]

    divergence = mp_latest - gr_latest

    return {
        "money_printer_bias": mp_latest,
        "giga_rekt_bias": gr_latest,
        "divergence": round(divergence, 4),
        "interpretation": interpret_divergence(divergence)
    }

def interpret_divergence(div):
    # 例示的な閾値 — 自身のバックテストに基づいて調整すること
    if div > 0.3:
        return "Strong bullish divergence: winners long, losers short"
    elif div > 0.15:
        return "Moderate bullish divergence"
    elif div < -0.3:
        return "Strong bearish divergence: winners short, losers long"
    elif div < -0.15:
        return "Moderate bearish divergence"
    return "Low divergence: cohorts roughly aligned"

ここでの解釈の閾値は例示的な出発点だ。実際の調整は、監視するアセットとダイバージェンスが解消される頻度によって異なる。固定の閾値をトリガーとして信頼する前に、数日間値をログに記録すること。

Divergence Dashboard

バイアスとポジションメトリクスを組み合わせた確認

バイアス単体では方向性がわかる。ポジションメトリクスは規模を教えてくれる。組み合わせることで、確信分析が可能になる。

Money Printer コホートがBTCで+0.35のバイアスを示しているとする。明確なロング傾向だ。しかし、その背後にどれだけの資本があるのか?position-metricsエンドポイントは実際の想定元本の値でその問いに答えるため、その傾きが数百万ドルのエクスポージャーを表しているのか、同じ方向を向いているだけの少数の小さなポジションなのかを確認できる。

def full_cohort_picture(coin, segment_id):
    # 現在のバイアス方向
    bias = fetch_bias_history(segment_id)
    latest_bias = bias[0]["bias"] if bias else None

    # 現在の想定エクスポージャー
    summary = fetch_segment_summary(segment_id)
    long_val = summary.get("longNotional", 0)
    short_val = summary.get("shortNotional", 0)

    # 過去のトレンド(2週間)
    metrics = fetch_cohort_position_metrics(coin, segment_id, days_back=14)
    trend = []
    for m in metrics[-5:]:
        total = m["longValue"] + m["shortValue"]
        trend.append(m["longValue"] / total if total > 0 else 0.5)

    avg_trend = sum(trend) / len(trend) if trend else 0.5

    return {
        "segment_id": segment_id,
        "coin": coin,
        "current_bias": latest_bias,
        "long_notional": long_val,
        "short_notional": short_val,
        "trend_avg_long_pct": round(avg_trend, 3),
        # 例示用の閾値
        "conviction": "HIGH" if abs(latest_bias or 0) > 0.25
                      and abs(avg_trend - 0.5) > 0.1 else "MODERATE"
    }

# BTCで2つのコホートを比較
mp_picture = full_cohort_picture("BTC", 8)   # Money Printer
gr_picture = full_cohort_picture("BTC", 15)  # Giga-Rekt
print(f"Money Printer: bias={mp_picture['current_bias']}, "
      f"${mp_picture['long_notional']:,.0f} ロング")
print(f"Giga-Rekt: bias={gr_picture['current_bias']}, "
      f"${gr_picture['short_notional']:,.0f} ショート")

この複合ビューは3つのことを同時に伝える:方向性(バイアス)、その背後の資本(サマリー)、そして現在のポジションが最近のトレンドと一致しているかどうか(ポジションメトリクス)。3つすべてが一致していることは、いずれか1つよりも信頼性の高いシグナルだ。

レートリミットとポーリング戦略

各bias-historyの呼び出しはセグメントごとに1 APIリクエストだ。16コホートすべてをスイープすると16リクエストかかる。セグメントサマリー(さらに16)と4つの主要コホート×上位3コインのposition-metrics(さらに12)を加えると、ダッシュボードの完全な更新は約44リクエストになる。

無料ティアでは、1日100リクエストで完全な44リクエスト更新を1日2回実行でき、アドホッククエリの余裕もある。毎日朝夕のバイアスチェックには十分だ。5分間隔での継続的な監視には、$179/月のPulseティアで月50,000リクエストが利用できる。1サイクル44リクエスト、1日288サイクルで、1日あたり12,672リクエストとなり、1日約1,600リクエストの月間予算内に十分収まる。最も重要な4コホートと2コインにスイープを絞り込めば、1サイクルのコストを約12リクエストに抑えられ、24時間365日快適に動作する。

ポーリングのヒント: ほとんどのエンドポイントのデータは約5分ごとに更新され、集計アナリティクスは12〜15分ごとに更新される。5分より短い間隔でポーリングしても同じスナップショットが返るだけで、リクエスト予算を無駄にする。

バイアスでわかないこと

コホートバイアスは強力なレンズだが、限界もある。いくつかの重要な点を念頭に置いておこう:

  • 単一ウォレットの特定はできない。 バイアスは集計値だ。特定のクジラが何をしているかを知る必要がある場合は、アドレスフィルターを使用して /positions エンドポイントを使うこと。
  • bias-historyのローリング12時間ウィンドウ。 このエンドポイント単独ではバイアスベースの戦略をバックテストできない。数日にわたるルックバック(約4週間)には /position-metrics/coin/{coin}/segment/{segmentId} を、より深い過去分析(約10ヶ月)には /positions を使用すること。
  • バイアスは方向を予測しない。 ポジションを持つ資本がどこにあるかを示す。その資本が正しいか間違っているかは別の問題だ。コホートの精度の過去分析はposition-metricsエンドポイントで可能だが、バイアス値自体は記述的なものであり予測的ではない。
  • ヘッジとベーストレードはシグナルを曇らせる。 現物ロングとパープショートを持つウォレットは、実際の方向性エクスポージャーがニュートラルであっても、バイアス計算においてショートとして表示される。コホートの集計はこのノイズを平滑化するが、排除はしない。

今日からコホートバイアスのクエリを始めよう

無料ティアでは1日100 APIコールが利用できる。すべてのコホートのバイアススナップショットを1日2回取得し、ダイバージェンスダッシュボードの構築を始めるには十分だ。

無料APIキーを取得する

コホートバイアスは、生のポジションデータからマーケット構造に関する見解へと至る最短経路だ。3つのエンドポイントとPythonの数行があれば、歴史的に勝ってきたウォレットが歴史的に負けてきたウォレットと同じ方向に傾いているかどうかを確認できる。両者が一致するとき、マーケットにはコンセンサスがある。両者が食い違うとき、何かが解消されようとしている。あなたの仕事は、それが起きる瞬間を見ている状態にあることだ。