Guide complet de l’API d’historique des funding rates Hyperliquid
Le funding rate, ou taux de financement, est l’un des mécanismes de prix les plus importants sur les marchés de contrats perpétuels. Il détermine directement le coût de portage des positions longues et courtes. Pour les chercheurs quantitatifs, les traders d’arbitrage et les équipes de gestion du risque, pouvoir récupérer rapidement des données historiques de funding rate, en volume, est une capacité de base.
Hyperliquid propose une API d’information ouverte qui permet d’accéder à de nombreuses données de marché publiques sans API Key. Dans ce guide, tu vas voir comment utiliser l’API officielle Hyperliquid pour récupérer l’historique des funding rates, avec des exemples Python prêts à adapter.
Pourquoi l’historique des funding rates est important
Les données historiques de funding rate servent notamment à :
- Identifier une structure de marché durablement orientée long ou short, afin d’aider l’analyse de tendance
- Estimer les rendements historiques attendus d’une stratégie de funding arbitrage
- Construire des facteurs quantitatifs liés au funding pour la sélection d’actifs ou la gestion de position
- Backtester des stratégies de couverture spot-perp dans différents environnements de funding
L’architecture d’Hyperliquid repose sur un carnet d’ordres on-chain. Les données de trading et de règlement peuvent donc être vérifiées on-chain, ce qui renforce la fiabilité des données historiques.
Architecture de base de l’API Hyperliquid
Hyperliquid propose deux grandes catégories d’endpoints :
- Info Endpoint, en lecture seule : utilisé pour consulter les données de marché, l’état des comptes et les historiques. Il ne nécessite pas de signature.
- Exchange Endpoint : utilisé pour passer ou annuler des ordres. Il nécessite une signature de wallet.
La récupération de l’historique des funding rates est une opération en lecture seule. Elle utilise donc l’Info Endpoint :
POST https://api.hyperliquid.xyz/info
Toutes les requêtes sont envoyées en POST, avec un body JSON et le header Content-Type: application/json.
Structure de requête pour l’historique des funding rates
Pour récupérer l’historique du funding rate d’un actif donné, utilise le type fundingHistory :
{
"type": "fundingHistory",
"coin": "BTC",
"startTime": 1700000000000,
"endTime": 1700086400000
}
Description des champs :
type: doit être défini surfundingHistorycoin: symbole de l’actif, par exempleBTC,ETHouSOLstartTime: timestamp Unix en millisecondes correspondant au début de la périodeendTime: timestamp Unix en millisecondes correspondant à la fin de la période
Les timestamps doivent être en millisecondes. Si endTime n’est pas fourni, l’API retourne les données depuis startTime jusqu’à maintenant, dans la limite du nombre de résultats renvoyés par requête.
Format de réponse
L’API retourne un tableau. Chaque entrée contient notamment :
[
{
"coin": "BTC",
"fundingRate": "0.0001",
"premium": "0.00012",
"time": 1700000000000
}
]
Sur Hyperliquid, le funding rate est réglé toutes les heures. Pour les détails précis du mécanisme, tu peux consulter la section Perpetuals de la documentation officielle Hyperliquid.
Exemple Python complet
Le code ci-dessous récupère l’historique des funding rates BTC sur les 30 derniers jours et calcule une annualisation simple :
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 # règlement horaire
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"\nFunding rate annualisé moyen sur 30 jours : {df['annualized'].mean():.2%}")
Attention : cette annualisation est une extrapolation linéaire simple. Le rendement réel peut être affecté par la capitalisation, le slippage, les frais, les coûts d’emprunt, l’exécution et d’autres facteurs de marché.
Récupérer plusieurs actifs en parallèle
Si tu veux récupérer les funding rates de plusieurs actifs, tu peux lancer des appels concurrents :
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()
# Fusionner dans un seul DataFrame
combined = pd.concat(results.values(), ignore_index=True)
pivot = combined.pivot_table(
index="time",
columns="coin",
values="fundingRate",
aggfunc="mean",
)
Ce type de structure est utile pour comparer les conditions de funding entre plusieurs marchés et repérer les actifs dont le funding s’écarte fortement de leur historique récent.
Conseils de stockage des données
Pour un usage fréquent, il est préférable de mettre les données en cache dans une base locale, par exemple SQLite ou TimescaleDB. Cela évite de refaire les mêmes requêtes API en boucle :
import sqlite3
conn = sqlite3.connect("funding_rates.db")
df.to_sql("funding_history", conn, if_exists="append", index=False)
conn.close()
Le GitHub officiel d’Hyperliquid propose aussi un SDK Python officiel, qui encapsule les processus d’authentification et de signature. Il est surtout utile si tu veux combiner la récupération de données avec des opérations de trading.
Gérer tes actifs Hyperliquid avec OneKey
L’analyse de données n’est que la première étape. Quand tu passes à l’exécution ou à la gestion de capital, la sécurité du wallet devient essentielle.
OneKey permet de gérer tes actifs avec une approche centrée sur la protection des clés privées. Avec un hardware wallet OneKey, tes clés restent stockées hors ligne, ce qui réduit les risques liés aux fuites d’API Key, aux malwares ou aux attaques de phishing.
Si ton analyse de funding met en évidence une opportunité à étudier — par exemple une stratégie de funding arbitrage ou une couverture spot-perp — tu peux utiliser OneKey Perps comme workflow pratique pour accéder aux perpétuels, tout en conservant une meilleure séparation entre analyse, exécution et sécurité des clés.
Tu peux télécharger OneKey et essayer OneKey Perps pour gérer plus proprement tes interactions avec les marchés perpétuels. Garde toutefois en tête qu’aucune donnée historique ne garantit un résultat futur.
FAQ
Q1 : L’API de funding rate Hyperliquid nécessite-t-elle un compte ?
Non. L’Info Endpoint est public. Il ne nécessite ni API Key ni compte, et peut être appelé directement pour récupérer l’historique des funding rates.
Q2 : Combien d’enregistrements peut-on récupérer en une seule requête ?
La documentation officielle Hyperliquid ne précise pas clairement une limite unique pour chaque requête. En pratique, les requêtes sur de longues périodes peuvent être tronquées. Il est recommandé de découper les requêtes par périodes, par exemple 7 jours à la fois, et de gérer la pagination ou l’itération côté code.
Q3 : Un funding rate positif ou négatif, ça veut dire quoi ?
Quand le funding rate est positif, les longs paient les shorts. Quand il est négatif, les shorts paient les longs. Dans les marchés haussiers ou lorsque l’appétit pour le risque est élevé, les funding rates positifs sont souvent plus fréquents, car ils reflètent une prime côté long.
Q4 : Comment utiliser l’historique des funding rates pour évaluer une opportunité d’arbitrage ?
Tu peux calculer la moyenne, l’écart-type et les percentiles historiques du funding rate. Si le funding actuel est nettement supérieur à sa moyenne historique, par exemple au-delà d’un écart-type, une stratégie théorique consistant à shorter le perpétuel et acheter le spot peut présenter une espérance positive. Ce n’est toutefois pas un conseil financier : les frais, le slippage, la liquidité, le risque de base et l’exécution peuvent fortement modifier le résultat.
Q5 : Quelle est la différence entre premium et fundingRate ?
premium représente la prime entre le prix de marque et l’indice spot. C’est l’un des inputs utilisés pour calculer le prochain funding rate. fundingRate, lui, correspond au taux effectivement réglé pour la période concernée, déterminé notamment par la prime moyenne et le taux d’intérêt de référence.
Risques à garder en tête
Cet article est fourni à des fins d’apprentissage technique uniquement. Il ne constitue pas un conseil en investissement, financier, juridique ou fiscal. Le trading de contrats perpétuels comporte des risques élevés, y compris la perte totale du capital engagé. Les performances passées des funding rates ne préjugent pas des rendements futurs. Assure-toi de bien comprendre les risques avant toute décision.



