Capitalisation boursière: $3.7582T 1.060%
Volume(24h): $129.4006B -11.610%
Indice de peur et de cupidité:

52 - Neutre

  • Capitalisation boursière: $3.7582T 1.060%
  • Volume(24h): $129.4006B -11.610%
  • Indice de peur et de cupidité:
  • Capitalisation boursière: $3.7582T 1.060%
Cryptos
Les sujets
Cryptospedia
Nouvelles
Cryptosopique
Vidéos
Top Cryptospedia

Choisir la langue

Choisir la langue

Sélectionnez la devise

Cryptos
Les sujets
Cryptospedia
Nouvelles
Cryptosopique
Vidéos

Comment obtenir des données de marché historiques de l'API Kraken

L'API Kraken fournit des données historiques de crypto-monnaie OHLC via son point final public, ne nécessitant aucune clé de l'API mais adhérant aux limites de taux de 15 appels par minute.

Aug 07, 2025 at 03:02 pm

Comprendre l'API Kraken et ses capacités de données

L' API Kraken est une interface puissante qui permet aux développeurs et aux traders d'accéder aux données du marché en temps réel et historiques pour un large éventail de paires de crypto-monnaie. Pour récupérer les données du marché historiques , les utilisateurs doivent interagir avec les points de terminaison publics fournis par Kraken, en particulier le point de terminaison OHLC (ouvert, élevé, faible, proche). Ce point final renvoie les données de chandelles à divers intervalles de temps, ce qui est essentiel pour l'analyse technique, les stratégies de trading de backtesting ou la création de tableaux de bord basés sur les données. Les données comprennent l'horodatage, le prix ouvert, le prix élevé, le prix bas, le prix de clôture, le prix moyen pondéré en volume (VWAP), le volume et le nombre de métiers pour chaque période.

L'accès à l'API ne nécessite pas d'authentification pour les données publiques, ce qui signifie qu'aucune clé API n'est nécessaire pour récupérer les prix historiques. Cependant, les limites de taux s'appliquent: Kraken autorise jusqu'à 15 appels par minute à partir d'une seule adresse IP. Le dépassement de cette limite entraînera un blocage temporaire. Pour garantir un accès cohérent, implémentez les retards entre les demandes ou utilisez des stratégies de revers exponentielles dans votre code.

Identifier le bon point de terminaison pour les données historiques

Le principal point d'évaluation pour récupérer les données du marché historique est:

 https://api.kraken.com/0/public/OHLC

Ce point de terminaison nécessite deux paramètres: pair et interval . Le paramètre pair spécifie la paire de trading, telle que XBT / USD pour Bitcoin à US Dollar, ou ETH / EUR pour Ethereum à Euro. Le paramètre interval définit le délai pour chaque chandelier et doit être l'une des valeurs suivantes: 1 (1 minute), 5 (5 minutes), 15 (15 minutes), 30 (30 minutes), 60 (1 heure), 240 (4 heures), 1440 (1 jour), 10080 (1 semaine) ou 21600 (1 mois).

Pour demander des données, construisez une URL avec ces paramètres. Par exemple, pour obtenir des données OHLC d'une heure pour Bitcoin / USD:

 https://api.kraken.com/0/public/OHLC?pair=XBT/USD&interval=60

La réponse sera au format JSON, contenant un tableau de points de données OHLC et un last horodatage indiquant le point de données le plus récent, qui est utile pour la pagination.

Utilisation de Python pour récupérer et analyser les données de Kraken OHLC

Pour récupérer par programme des données historiques, Python est un choix populaire en raison de sa simplicité et de ses bibliothèques puissantes. La bibliothèque requests gère les appels HTTP, tandis que pandas peut structurer les données pour l'analyse.

Installez les packages requis:

 pip install requests pandas

Vous trouverez ci-dessous un script complet pour récupérer et analyser les données OHLC:

 import requests
import pandas as pd
def get_ohlc_data (paire, interval = 60, depuis = aucun):

url = 'https://api.kraken.com/0/public/OHLC' params = {'pair': pair, 'interval': interval} if since: params['since'] = since response = requests.get(url, params=params) data = response.json() if data['error']: raise Exception(f'API Error: {data['error']}') ohlc_data = data['result'][pair] df = pd.DataFrame(ohlc_data, columns=[ 'timestamp', 'open', 'high', 'low', 'close', 'vwap', 'volume', 'count' ]) df['timestamp'] = pd.to_datetime(df['timestamp'], unit='s') df.set_index('timestamp', inplace=True) last_timestamp = data['result']['last'] return df, last_timestamp Exemple d'utilisation url = 'https://api.kraken.com/0/public/OHLC' params = {'pair': pair, 'interval': interval} if since: params['since'] = since response = requests.get(url, params=params) data = response.json() if data['error']: raise Exception(f'API Error: {data['error']}') ohlc_data = data['result'][pair] df = pd.DataFrame(ohlc_data, columns=[ 'timestamp', 'open', 'high', 'low', 'close', 'vwap', 'volume', 'count' ]) df['timestamp'] = pd.to_datetime(df['timestamp'], unit='s') df.set_index('timestamp', inplace=True) last_timestamp = data['result']['last'] return df, last_timestamp

df, dernier = get_ohlc_data ('xbt / usd', interval = 60)
print (df.head ())

Ce script renvoie un Pandas DataFrame avec des horodatages et des valeurs numériques correctement formatés, ce qui le rend prêt pour le traçage ou l'analyse. Le paramètre since permet de récupérer des données après un horodatage spécifique, permettant une collecte incrémentielle de données.

Gestion de la pagination pour des données historiques étendues

Kraken limite chaque appel API à 720 points de données (par exemple, 720 bougies horaires = 30 jours). Pour récupérer des séries historiques plus longues, utilisez le paramètre since itérativement.

  • Faites la demande initiale sans le paramètre since
  • Extraire la last valeur de la réponse
  • Utilisez cette last valeur comme paramètre since dans la demande suivante
  • Répétez jusqu'à ce qu'aucune nouvelle donnée n'est renvoyée ou que la plage de dates souhaitée soit couverte

Exemple de boucle:

 all_data = []
last = None
pour _ dans la gamme (5): # Récupérer jusqu'à 5 pages

df, last_timestamp = get_ohlc_data('XBT/USD', interval=1440, since=last) all_data.append(df) last = last_timestamp time.sleep(1) # Respect rate limits full_history = pd.concat (all_data) df, last_timestamp = get_ohlc_data('XBT/USD', interval=1440, since=last) all_data.append(df) last = last_timestamp time.sleep(1) # Respect rate limits

Cette approche garantit une couverture historique complète sans dépasser les limites de taux.

Valider et nettoyer les données récupérées

Après avoir récupéré les données, la validation est cruciale. Vérifiez les valeurs manquantes, les horodatages en double ou le formatage incohérent. Utilisez des méthodes de pandas:

  • df.isnull().sum() pour détecter les valeurs manquantes
  • df.index.duplicated().any() pour trouver des horodatages en double
  • df.sort_index() pour assurer l'ordre chronologique

Gérer les lacunes dans les séries chronologiques:

 full_range = pd.date_range(start=df.index.min(), end=df.index.max(), freq='H')
df = df.reindex(full_range)

Cela crée une chronologie continue, remplissant les périodes manquantes avec NAN, qui peuvent plus tard être interpolées ou marquées en lacunes.

Questions couramment posées

Quelles paires de trading sont soutenues par le point de terminaison Kraken OHLC?

Kraken soutient une grande variété de paires, y compris des crypto-monnaies majeures comme les paires XBT / USD , ETH / USD , ADA / EUR et stablecoin telles que USDT / USD . Une liste complète peut être obtenue en appelant le point de terminaison AssetPairs : https://api.kraken.com/0/public/AssetPairs .

Puis-je obtenir des données historiques au niveau des tiques de Kraken?

Non, l'API publique ne fournit que les données de chandelier (OHLC) uniquement à des intervalles minimum d'une minute. Les données historiques au niveau des tiques (échange par échange) ne sont pas disponibles via des points de terminaison API standard. Pour les données commerciales granulaires, envisagez des agrégateurs tiers ou des fournisseurs de données commerciales.

Pourquoi est-ce que je reçois un résultat ou une erreur vide en appelant le point de terminaison OHLC?

Assurez-vous que le paramètre pair utilise le format de symbole Kraken correct. Par exemple, utilisez XBT / USD , pas BTC / USD. Vérifiez également que la valeur interval est l'un des entiers autorisés. Les problèmes de réseau ou les limites de taux dépassant peuvent également provoquer des réponses vides.

Existe-t-il un moyen de récupérer les données au format CSV directement de Kraken?

L'API Kraken renvoie uniquement les données au format JSON . Vous devez convertir la réponse JSON à CSV manuellement à l'aide d'outils comme Pandas:

 df.to_csv('kraken_xbtusd_hourly.csv')

Clause de non-responsabilité:info@kdj.com

Les informations fournies ne constituent pas des conseils commerciaux. kdj.com n’assume aucune responsabilité pour les investissements effectués sur la base des informations fournies dans cet article. Les crypto-monnaies sont très volatiles et il est fortement recommandé d’investir avec prudence après une recherche approfondie!

Si vous pensez que le contenu utilisé sur ce site Web porte atteinte à vos droits d’auteur, veuillez nous contacter immédiatement (info@kdj.com) et nous le supprimerons dans les plus brefs délais.

Connaissances connexes

Voir tous les articles

User not found or password invalid

Your input is correct