Hyperliquid 资金费率历史 API 完全指南

2026年5月6日

资金费率(Funding Rate)是永续合约市场的核心定价机制,直接决定多空双方的持仓成本。对于量化策略研究员、套利交易者和风险管理团队而言,能够快速、批量地获取历史资金费率数据是一项基础能力。Hyperliquid 提供了开放的信息查询接口,无需 API Key 即可访问大量公开市场数据。本文将系统介绍如何调用 Hyperliquid 官方 API 获取资金费率历史,并给出 Python 示例代码,帮助你快速上手。

为什么资金费率历史数据如此重要

资金费率历史数据有以下几种典型用途:

识别长期偏向多头或空头的市场结构,辅助趋势判断

计算资金费率套利(Funding Arbitrage)的历史期望收益

构建资金费率因子,用于量化选币或仓位管理模型

回测现货-永续期货对冲策略在不同费率环境下的表现

Hyperliquid 的架构 基于链上订单簿,所有交易和结算数据均可在链上验证,这为历史数据提供了较高的可信度。

Hyperliquid API 基础架构

Hyperliquid 提供两类接口:

Info Endpoint(只读):用于查询市场数据、账户状态、历史记录,无需签名

Exchange Endpoint:用于下单、撤单等写操作,需要钱包签名

资金费率历史查询属于只读操作,使用 Info Endpoint,地址为:


POST https://api.hyperliquid.xyz/info

所有请求均为 POST,Body 为 JSON,Content-Type 为 application/json

查询资金费率历史的请求结构

获取指定币种的资金费率历史,使用 fundingHistory 类型:


{

"type": "fundingHistory",

"coin": "BTC",

"startTime": 1700000000000,

"endTime": 1700086400000

}

字段说明:

时间戳必须为毫秒级 Unix 时间戳。若不传 endTime,接口将返回从 startTime 至今的数据(受限于单次返回条数上限)。

响应数据格式

接口返回一个数组,每条记录包含:


[

{

"coin": "BTC",

"fundingRate": "0.0001",

"premium": "0.00012",

"time": 1700000000000

},

...

]

Hyperliquid 的资金费率每小时结算一次,具体机制可参考 官方文档的 Perpetuals 章节。

Python 完整示例

以下代码展示如何拉取 BTC 最近 30 天的资金费率历史并计算年化:


import requests

import time

import pandas as pd

ENDPOINT = "https://api.hyperliquid.xyz/info"

def get_funding_history(coin: str, days: int = 30) -> pd.DataFrame:

end_ms = int(time.time() * 1000)

start_ms = end_ms - days * 24 * 3600 * 1000

payload = {

"type": "fundingHistory",

"coin": coin,

"startTime": start_ms,

"endTime": end_ms,

}

resp = requests.post(ENDPOINT, json=payload, timeout=15)

resp.raise_for_status()

data = resp.json()

df = pd.DataFrame(data)

df["time"] = pd.to_datetime(df["time"], unit="ms", utc=True)

df["fundingRate"] = df["fundingRate"].astype(float)

df["annualized"] = df["fundingRate"] * 24 * 365  # 每小时结算

return df.sort_values("time")

if __name__ == "__main__":

df = get_funding_history("BTC", days=30)

print(df.tail(10).to_string(index=False))

print(f"\n30日平均年化资金费率: {df['annualized'].mean():.2%}")

注意:上述年化计算仅为简单线性外推,实际收益受复利、滑点、借币成本等因素影响。

批量拉取多个币种

若需要同时获取多个币种的资金费率,可以并发调用:


import concurrent.futures

COINS = ["BTC", "ETH", "SOL", "ARB", "DOGE"]

with concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:

futures = {executor.submit(get_funding_history, c, 7): c for c in COINS}

results = {}

for future in concurrent.futures.as_completed(futures):

coin = futures[future]

results[coin] = future.result()

合并为一个 DataFrame

combined = pd.concat(results.values(), ignore_index=True)

pivot = combined.pivot_table(

index="time", columns="coin", values="fundingRate", aggfunc="mean"

)

数据存储建议

对于高频使用场景,建议将历史数据缓存到本地数据库(如 SQLite 或 TimescaleDB),避免反复请求 API:


import sqlite3

conn = sqlite3.connect("funding_rates.db")

df.to_sql("funding_history", conn, if_exists="append", index=False)

conn.close()

Hyperliquid 官方 GitHub 提供了官方 Python SDK,封装了认证和签名流程,适合需要同时进行交易操作的开发者使用。

在 OneKey 钱包中管理 Hyperliquid 资产

数据分析只是第一步,真正的资金管理需要安全可靠的钱包工具。OneKey 硬件钱包 支持连接 Hyperliquid,私钥始终保存在离线设备中,有效防止 API Key 泄露或钓鱼攻击导致的资产损失。

当你通过数据分析发现套利机会,需要在 Hyperliquid 上执行资金费率套利或现货对冲时,可以通过 OneKey Perps 便捷进入,享受硬件级私钥保护与流畅的永续合约交互体验。

立即下载 OneKey,开始你的量化数据驱动交易之旅。

常见问题

Q1:Hyperliquid 资金费率 API 需要注册账号吗?

答:不需要。Info Endpoint 完全公开,无需 API Key 或账号,任何人均可直接调用获取历史资金费率数据。

Q2:单次请求最多能获取多少条记录?

答:Hyperliquid 官方文档未明确说明单次上限,实际测试中长时间范围请求可能被截断。建议分段查询(如每次 7 天),并在代码中处理翻页逻辑。

Q3:资金费率是正数还是负数,哪种情况更常见?

答:资金费率为正时,多头向空头支付;为负时,空头向多头支付。在牛市或高风险偏好市场中,正资金费率更为常见,反映市场整体多头溢价。

Q4:如何用资金费率历史评估套利机会?

答:可以计算历史资金费率的均值、标准差和百分位,当当前费率显著高于历史均值时(例如超过 1 倍标准差),做空永续同时做多现货的对冲策略理论上具有正期望。注意这并非财务建议。

Q5:API 返回的 premium 字段和 fundingRate 有什么区别?

答:premium 是标记价格与现货指数价格的实时溢价,是计算下一期资金费率的基础输入;fundingRate 是已经结算的当期费率,受 premium 均值和利率基准(Interest Rate)共同决定。

风险提示:本文仅供技术学习参考,不构成任何投资或财务建议。永续合约交易存在高风险,资金费率历史表现不代表未来收益。请充分了解相关风险后审慎决策。

使用 OneKey 保护您的加密之旅

View details for 选购 OneKey选购 OneKey

选购 OneKey

全球最先进的硬件钱包。

View details for 下载应用程序下载应用程序

下载应用程序

诈骗预警。支持所有币种。

View details for OneKey SifuOneKey Sifu

OneKey Sifu

即刻咨询,扫除疑虑。