Hyperliquid 資金調達率履歴 API 完全ガイド
資金調達率(Funding Rate)は、無期限先物(Perpetuals)市場における重要な価格調整メカニズムであり、ロング・ショート双方のポジション保有コストに直接影響します。クオンツ戦略の研究者、アービトラージトレーダー、リスク管理チームにとって、過去の資金調達率データを素早く一括取得できることは、分析の基礎になります。
Hyperliquid は公開マーケットデータを取得できるオープンな情報照会 API を提供しており、API Key なしで利用できます。この記事では、Hyperliquid 公式 API を使って資金調達率の履歴を取得する方法と、すぐに試せる Python サンプルコードを紹介します。
なぜ資金調達率の履歴データが重要なのか
資金調達率の履歴データは、主に次のような用途で活用されます。
- 市場が長期的にロング寄りかショート寄りかを把握し、トレンド判断の補助にする
- 資金調達率アービトラージ(Funding Arbitrage)の過去の期待収益を検証する
- 資金調達率ファクターを作成し、銘柄選定やポジション管理モデルに組み込む
- 現物・無期限先物のヘッジ戦略が、異なる資金調達率環境でどう機能したかをバックテストする
Hyperliquid のアーキテクチャはオンチェーン注文板をベースとしており、取引や決済データはオンチェーンで検証できます。そのため、履歴データの信頼性を確認しやすい点も特徴です。
Hyperliquid API の基本構成
Hyperliquid には大きく分けて 2 種類のエンドポイントがあります。
- 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
}
各フィールドの意味は次のとおりです。
type:fundingHistoryを指定します。coin:取得対象の銘柄シンボルです。例:BTC、ETH。startTime:取得開始時刻です。ミリ秒単位の Unix タイムスタンプを指定します。endTime:取得終了時刻です。ミリ秒単位の Unix タイムスタンプを指定します。
タイムスタンプは必ずミリ秒単位にします。endTime を指定しない場合、startTime から現在までのデータが返されますが、1 回のレスポンス件数には上限がある点に注意してください。
レスポンスデータ形式
API は配列を返し、各レコードには以下のようなフィールドが含まれます。
[
{
"coin": "BTC",
"fundingRate": "0.0001",
"premium": "0.00012",
"time": 1700000000000
}
]
Hyperliquid の資金調達率は 1 時間ごとに決済されます。詳細な仕組みは、公式ドキュメントの 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 # 1時間ごとに決済
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()
# 1つの DataFrame に結合
combined = pd.concat(results.values(), ignore_index=True)
pivot = combined.pivot_table(
index="time",
columns="coin",
values="fundingRate",
aggfunc="mean"
)
銘柄数が多い場合は、API への負荷やレート制限を考慮し、リトライ処理や待機時間を入れることをおすすめします。
データ保存のおすすめ方法
資金調達率データを継続的に使う場合は、毎回 API にアクセスするのではなく、ローカルデータベースにキャッシュしておくと便利です。SQLite や TimescaleDB などを利用できます。
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 の漏えいやフィッシング攻撃による資産損失リスクを抑えやすくなります。
資金調達率データの分析からアービトラージや現物ヘッジの機会を検討する場合は、OneKey Perps を通じて Hyperliquid の無期限先物にアクセスできます。ハードウェアレベルの秘密鍵保護を維持しながら、よりスムーズに Perps 取引を管理できる点が実用的です。
まずは OneKey をダウンロードし、ウォレット環境を整えたうえで、OneKey Perps を使ったデータドリブンな取引ワークフローを試してみてください。
よくある質問
Q1:Hyperliquid の資金調達率 API を使うにはアカウント登録が必要ですか?
いいえ。Info Endpoint は完全に公開されており、API Key やアカウント登録なしで、資金調達率の履歴データを直接取得できます。
Q2:1 回のリクエストで取得できる最大件数はどれくらいですか?
Hyperliquid 公式ドキュメントでは、1 回あたりの明確な上限は示されていません。ただし、長期間のデータをまとめてリクエストすると、レスポンスが途中で切られる可能性があります。7 日単位などに分割して取得し、必要に応じてページング処理を実装するのがおすすめです。
Q3:資金調達率はプラスとマイナスのどちらが一般的ですか?
資金調達率がプラスの場合、ロングがショートに支払います。マイナスの場合は、ショートがロングに支払います。強気相場やリスク選好が高い市場では、ロング需要が増えやすいため、プラスの資金調達率が見られることが比較的多くなります。
Q4:資金調達率の履歴からアービトラージ機会をどう評価できますか?
過去の資金調達率について、平均値、標準偏差、パーセンタイルなどを計算します。現在の資金調達率が過去平均を大きく上回る場合、たとえば 1 標準偏差以上高い場合には、理論上は無期限先物をショートし、同時に現物をロングするヘッジ戦略が検討対象になります。ただし、これは財務アドバイスではなく、実際にはスリッページ、手数料、借入コスト、清算リスクを含めて慎重に判断する必要があります。
Q5:API が返す premium と fundingRate の違いは何ですか?
premium は、マーク価格と現物インデックス価格のリアルタイムなプレミアムを示し、次回の資金調達率を計算するための基礎入力になります。一方、fundingRate はすでに決済された当期の資金調達率であり、premium の平均値や金利基準(Interest Rate)などによって決まります。
リスクに関する注意
この記事は技術学習を目的とした参考情報であり、投資、法律、税務、財務に関する助言ではありません。無期限先物取引には高いリスクがあり、資金調達率の過去データは将来の収益を保証するものではありません。取引を行う前に仕組みとリスクを十分に理解し、ご自身の判断で慎重に行ってください。



