Code Python pour récupérer l'historique des transactions et des ventes (historique de trading).

Dernière mise à jour : 1 avr. 2025

L'historique des transactions et des ventes pour nos marchés peut être récupéré via le point de terminaison Trades de l'API REST. L'historique complet des transactions est disponible, de la toute première transaction à la plus récente.

Le code Python 3 suivant implémente un client API en ligne de commande spécifiquement pour récupérer l'historique des transactions et des ventes au format CSV, et est fourni à titre d'exemple de la façon dont le point de terminaison Trades peut être utilisé :

#!/usr/bin/env python

# Kraken Historical Time and Sales
# Usage: ./krakenhistory symbol start [end]
# Example: ./krakenhistory XXBTZUSD 1559347200 1559433600

import sys
import time
import urllib.request
import json

api_domain = "https://api.kraken.com"
api_path = "/0/public/"
api_method = "Trades"
api_data = ""

if len(sys.argv) < 3:
sys.exit(1)

api_symbol = sys.argv[1].upper()
api_start = str(int(sys.argv[2]) - 1) + "999999999"

if len(sys.argv) > 3:
api_end = sys.argv[3]
else:
api_end = "9999999999"

try:
while True:
api_data = "?pair=%(pair)s&since=%(since)s" % {"pair":api_symbol, "since":api_start}
api_request = urllib.request.Request(api_domain + api_path + api_method + api_data)
try:
api_data = urllib.request.urlopen(api_request).read()
except Exception:
time.sleep(3)
continue
api_data = json.loads(api_data)
if len(api_data["error"]) != 0:
time.sleep(3)
continue
for trade in api_data["result"][api_symbol]:
if int(trade[2]) < int(api_end):
print("%(datetime)d,%(price)s,%(volume)s" % {"datetime":trade[2], "price":trade[0], "volume":trade[1]})
else:
sys.exit(0)
api_start = api_data["result"]["last"]
except KeyboardInterrupt:
None

sys.exit(0)

Besoin d’aide supplémentaire ?