Capitalisation boursière: $3.8772T 0.480%
Volume(24h): $122.8603B -44.940%
Indice de peur et de cupidité:

64 - Avidité

  • Capitalisation boursière: $3.8772T 0.480%
  • Volume(24h): $122.8603B -44.940%
  • Indice de peur et de cupidité:
  • Capitalisation boursière: $3.8772T 0.480%
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

Exemple API Python de Kraken Futures

L'API Kraken Futures permet aux traders d'automatiser le trading à terme via des appels de repos, nécessitant des demandes signées HMAC, des symboles valides comme `pi_xbtusd`, et séparez les clés d'API de l'onglet Futures de Kraken.

Jul 26, 2025 at 07:29 pm

Qu'est-ce que l'API Kraken Futures?


L' API Kraken Futures est une interface basée sur REST qui permet aux commerçants et aux développeurs d'interagir par programme avec la plate-forme de trading à terme de Kraken. Cela comprend la mise en place de commandes, la récupération des données du marché, les soldes de compte courant et la gestion des postes. Il est idéal pour les commerçants algorithmiques ou ceux qui construisent des robots de trading automatisés. Pour l'utiliser dans Python, vous devez d'abord obtenir une clé API et un secret à partir de votre tableau de bord du compte Kraken Futures. Ces informations d'identification doivent être stockées en toute sécurité - plutôt que dans les variables d'environnement - pour éviter de les exposer dans le code.

Comment installer les bibliothèques Python requises


Avant d'écrire un code, assurez-vous que les bibliothèques nécessaires sont installées. Les plus critiques sont requests de communication HTTP et python-dotenv si vous prévoyez d'utiliser des variables d'environnement pour les informations d'identification de l'API. Exécutez les commandes suivantes dans votre terminal:

  • pip install requests
  • pip install python-dotenv

    Une fois installé, vous pouvez les importer dans votre script comme ceci:

     import os
    import requests
    import time
    import hashlib
    import hmac
    from dotenv import load_dotenv

    Assurez-vous d'appeler load_dotenv() en haut de votre script si vous utilisez un fichier .env pour stocker vos informations d'identification.

    Configuration des en-têtes d'authentification


    L'API Kraken Futures utilise HMAC-SHA256 pour la signature des demandes. Vous devez générer une signature pour chaque appel de point de terminaison privé. Le processus implique:
  • Création d'un nonce (un horodatage unique en secondes)
  • Concaténer le chemin de la demande, le nonce et le corps
  • En utilisant votre secret API pour hacher le message
  • Ajouter des en-têtes comme APIKey et Authent (la signature)

    Voici comment structurer l'authentification:

     def get_kraken_signature(urlpath, data, secret):
    postdata = data
    encoded = (str(data['nonce']) + postdata).encode()
    message = urlpath.encode() + hashlib.sha256(encoded).digest()
    mac = hmac.new(base64.b64decode(secret), message, hashlib.sha512)
    sigdigest = base64.b64encode(mac.digest())
    return sigdigest.decode()

    Cette fonction renvoie la valeur de l'en-tête authentique , qui est requise pour les appels d'API privés comme passer des commandes ou récupérer votre solde.

    Passant un ordre à terme via l'API


    Pour passer une ordonnance à terme, vous devez envoyer une demande de poste au point de terminaison /derivatives/api/v3/sendorder . Voici un exemple complet:

     url = 'https://futures.kraken.com/derivatives/api/v3/sendorder' headers = { 'User-Agent': 'Python API Client', 'APIKey': os.getenv('KRAKEN_API_KEY'), } data = {
    «OrderType»: «lmt»,
    'taille': 1,
    'symbole': 'pi_xbtusd',
    «côté»: «acheter»,
    «limitprice»: «69000.0»,
    'CliORDID': f'my order {int (time.time ())} ',
    «nonce»: str (int (time.time () * 1000)),
    }

    signature = get_kraken_signature ('/ sendorder', data, os.getenv ('kraken_api_secret'))) en-têtes ['authentification'] = signature

    Response = requers.post (URL, en-têtes = en-têtes, données = données)

    The **`cliOrdId`** ensures each order is unique. The **`symbol`** must match Kraken's futures contract naming convention (eg, `pi_xbtusd` for perpetual Bitcoin/USD). Recherche des positions ouvertes et des informations de compte
    Pour récupérer vos positions ouvertes actuelles, envoyez une demande GET à `/ dérivé / api / v3 / openpositions`. Aucun corps n'est nécessaire, mais vous avez toujours besoin d'authentification:

    url = 'https://futures.kraken.com/derivatives/api/v3/openpositions'
    en-têtes = {
    'Apikey': os.getenv ('kraken_api_key'),
    «Utilisateur-agent»: «Client API Python»,
    }
    nonce = str (int (time.time () * 1000))
    data = {'nonce': nonce}
    signature = get_kraken_signature ('/ openpositions', data, os.getenv ('kraken_api_secret')))
    en-têtes ['authentification'] = signature

Response = requers.get (URL, en-têtes = en-têtes)
positions = réponse.json ()

La variable positions contiendra une liste de positions actives, y compris le prix d'entrée, la taille et le P&L non réalisé.

Erreurs courantes et comment les réparer

  • Signature non valide : Vérifiez la logique de concaténation dans votre fonction de signature. Assurez-vous que le nonce est une chaîne et correspond à celui de la charge utile des données.
  • Marge insuffisante : Kraken peut rejeter les commandes si votre compte manque de marge. Vérifiez d'abord votre solde en utilisant /accountsummary .
  • Symbole non valide : utilisez /instruments pour récupérer une liste de contrats à terme valides. Ne présumez pas les modèles de nommage.
  • Limitation du taux : Kraken applique les limites de taux. Si vous obtenez une erreur 429, ajoutez un délai entre les demandes en utilisant time.sleep(1) .

    Questions fréquemment posées

    Comment trouver le bon symbole à terme pour BTC / USD?

    Utilisez le point de terminaison /instruments : GET https://futures.kraken.com/derivatives/api/v3/instruments . Recherchez des symboles se terminant par usd - le plus courant est pi_xbtusd pour le contrat à terme perpétuel.

    Puis-je utiliser la même clé API pour le trading Spot et Futures?

    Non. Kraken Futures nécessite une clé API distincte générée à partir de l' onglet Futures de votre compte Kraken. L'utilisation d'une touche SPOT renverra une erreur d'authentification.

    Pourquoi ma commande est-elle rejetée même avec des paramètres corrects?

    Vérifiez si la taille de votre commande est inférieure au minimum (par exemple, 0,001 BTC pour BTC / USD). Vérifiez également que limitPrice se situe dans l'écart autorisé par rapport au prix de la marque - Kraken peut rejeter trop les ordres du marché actuel.

    Est-il sûr de stocker des clés API dans les variables environnementales?

    Oui, tant que votre fichier .env n'est pas engagé dans les référentiels publics. Ajoutez toujours .env à votre fichier .gitignore et n'imprimez ni n'imprimez ou ne journalisez jamais vos clés API dans le code.

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