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 上的每个钱包都有自己的仓位倾向。有些净多,有些净空,成千上万个钱包的聚合方向所传递的信息,是任何 K 线图都无法给出的。问题在于你是否在读取它,以及你是否在按队列读取它。

HyperTracker 将每个活跃钱包归入 16 个行为队列之一:8 个按账户规模划分(从 Shrimp 到 Leviathan),8 个按历史 PnL 划分(从 Money Printer 到 Giga-Rekt)。每个队列都有一个偏差分数:一个数字,告诉你该组交易者整体是偏多还是偏空。当 Money Printer 倾向一方,Giga-Rekt 倾向另一方,两者之间的背离信号就值得关注。本指南将展示如何查询、解读,并在此基础上进行构建。

队列偏差实际衡量的是什么

偏差是一个归一化分数。负值表示该队列整体净空。正值表示净多。零值表示聚合持仓基本平衡。该分数不是美元金额,也不是未平仓合约的百分比,而是一个方向性读数,捕捉划入该细分市场的每个钱包的整体倾向。

把它想象成一栋建筑上的倾斜仪。建筑是一个队列中的所有钱包。如果 70% 的资金部署在多头方向,仪表就向正方向倾斜;如果多数钱包持空,仪表就向负方向倾斜。数值的大小告诉你倾向有多强,随时间的变化则告诉你信念是在增强还是消退。

关键区别: 偏差衡量的是一个队列中所有钱包的聚合方向倾向。它不告诉你某个单一钱包在做什么,而是告诉你整个群体在做什么,这才是市场结构分析所需要的信号。

这一点很重要,因为单个钱包会"撒谎"。单个钱包可能在对冲、做基差交易,或将资金停放在某个并不代表真实信念的方向上。但当数百个被归类为 Money Printer(历史 PnL 超过 100 万美元)的钱包集体偏多时,这是一种规律,而非偶然。

Bias Spectrum

三个端点,同一个问题的三种视角

HyperTracker API 通过三个相关端点暴露队列偏差。每个端点回答的是同一个问题的略微不同的版本:这个队列在往哪儿倾斜?

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()

# Money Printer 过去 12 小时的偏差
bias = fetch_bias_history(segment_id=8)
for point in bias[:5]:
    print(f"{point['timestamp']}: {point['bias']}")

positionRecencyTimeframe 参数按仓位持有时长过滤:24h7d30dall(默认值)。设置为 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 摘要(账户规模 500 万美元以上)
summary = fetch_segment_summary(segment_id=7)
print(f"交易者数量: {summary['traderCount']}")
print(f"多头: ${summary['longNotional']:,.0f}")
print(f"空头: ${summary['shortNotional']:,.0f}")
print(f"偏向: {'多头' if summary['longNotional'] > summary['shortNotional'] else '空头'}")

此端点不提供时间序列,只是单一时间点的快照。其价值在于原始数字:你可以自行计算多空比,跨队列进行比较,并查看前 10 大仓位集中在哪些资产上。positionAge 过滤器的工作方式与偏差端点相同,可用于隔离近期活动。

3. 按币种和细分市场的仓位指标(多周历史)

/position-metrics/coin/{coin}/segment/{segmentId} 端点用于趋势分析。它返回特定币种与队列组合的历史多空数值、OI 和交易者数量,回溯期约为 4 周。

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()

# Smart Money 过去 14 天的 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

构建队列背离仪表板

队列偏差最具可操作性的信号不是任何单一队列的倾向,而是两个队列之间的差距。当 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 "强烈看多背离:赢家偏多,输家偏空"
    elif div > 0.15:
        return "温和看多背离"
    elif div < -0.3:
        return "强烈看空背离:赢家偏空,输家偏多"
    elif div < -0.15:
        return "温和看空背离"
    return "低背离:各队列方向基本一致"

此处的解读阈值仅供参考。实际校准取决于你关注的资产以及背离通常如何收敛。在将任何固定阈值作为触发条件之前,先记录数值观察几天。

Divergence Dashboard

结合仓位指标进行偏差确认

偏差单独告诉你方向,仓位指标告诉你量级。信念分析就存在于两者的结合之中。

假设 Money Printer 队列在 BTC 上的偏差为 +0.35,这是明显的多头倾向。但背后有多少资金支撑?仓位指标端点用实际名义值回答这个问题,让你看到这种倾向代表的是数百万美元的敞口,还是碰巧同方向排列的少数小仓位。

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 上的情况
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} 空头")

这种综合视图同时告诉你三件事:方向(偏差)、背后的资金量(摘要),以及当前持仓是否与近期趋势一致(仓位指标)。三者一致时,信号的可信度比任何单一指标都高。

请求速率限制与轮询策略

每次偏差历史调用对应每个细分市场一个 API 请求。16 个队列全部扫描需要 16 次请求。再加上细分市场摘要(再 16 次)以及针对 4 个关键队列、3 个主要币种的仓位指标(再 12 次),完整的仪表板刷新约需 44 次请求。

在免费层,每日 100 次请求可以让你每天运行两次完整的 44 次请求刷新,还有余量用于临时查询,足以支撑每日早晚各一次的偏差检查。如需每 5 分钟持续监控,$179/月的 Pulse 层提供每月 50,000 次请求。按每次循环 44 次请求、每天 288 次循环计算,每天约需 12,672 次请求,远低于每月约 1,600 次/天的预算。将扫描范围缩小到 4 个最重要的队列和 2 个币种,每次循环成本降至约 12 次请求,即可 24/7 稳定运行。

轮询建议: 我们的数据大多数端点约每 5 分钟刷新一次,聚合分析每 12 至 15 分钟更新一次。以快于每 5 分钟的频率轮询只会返回相同的快照,白白消耗请求配额。

偏差无法告诉你什么

队列偏差是一个强大的视角,但也有其局限。以下几点需要牢记:

  • 无单钱包归因。 偏差是聚合值。如需了解某个特定巨鲸的操作,请使用带地址过滤的 /positions 端点。
  • 偏差历史的滚动窗口为 12 小时。 仅凭此端点无法对基于偏差的策略进行回测。多日回溯(约 4 周)请使用 /position-metrics/coin/{coin}/segment/{segmentId},更深的历史分析(约 10 个月)请使用 /positions
  • 偏差不预测方向。 它显示的是已部署资金的所在。这部分资金方向对还是错,是另一个问题。用仓位指标端点分析队列准确率是可行的,但偏差值本身是描述性的,而非预测性的。
  • 对冲与基差交易会干扰信号。 持有现货多头同时做空永续合约的钱包,在偏差计算中会被计为空头,尽管其实际方向性敞口接近中性。队列聚合会平滑这种噪声,但不会完全消除它。

立即开始查询队列偏差

免费层每天提供 100 次 API 调用,足以每天两次拉取所有队列的偏差快照,并开始构建你的背离仪表板。

获取免费 API 密钥

队列偏差是从原始持仓数据到市场结构判断的最短路径。三个端点,几行 Python 代码,你就能看到历史上的赢家是否与历史上的输家站在同一方向。当两者一致时,市场存在共识;当两者分歧时,某种收敛即将发生。你要做的,就是在它发生时保持关注。