Kraken 交易 API 使用指南:自动化交易与市场数据查询

发布于 2025-02-07 13:34:01 · 阅读量: 178766

Kraken 交易 API 怎么用?全方位指南

想在 Kraken 交易所实现自动化交易?Kraken 提供了强大的 API(应用程序接口),让你能用代码操控账户、下单、查询市场数据,甚至构建交易机器人!今天就带你飞速上手 Kraken API,让你的交易如虎添翼。

1. 获取 API Key 和 API Secret

在使用 Kraken API 之前,你得先搞到 API Key 和 API Secret,像拿到钥匙一样,才能开启自动化交易的大门。

申请 API Key

  1. 登录 KrakenKraken 官网
  2. 进入 API 管理界面:点击右上角头像 → 选择 API
  3. 创建 API Key
  4. 取个名字,方便区分
  5. 勾选权限(比如读取账户信息、交易权限等,按需选择)
  6. 生成 API Key 和 API Secret(务必保存好,丢了就得重置)

搞定这步后,你的 API Key 就可以跟 Kraken 的服务器沟通了!

2. 连接 Kraken API

Kraken 提供两种 API:
- REST API(主流,适用于账户管理、交易、行情查询)
- WebSocket API(适用于实时数据订阅,低延迟)

如果你用 Python,可以用 krakenex 这个库,简单又好用。

安装 krakenex

bash pip install krakenex

初始化 API 连接

import krakenex

api = krakenex.API() api.load_key('kraken.key') # 你的 API Key 存在 kraken.key 文件里

当然,你也可以直接用代码输入 API Key 和 Secret,不过存到本地文件更安全。

3. 获取账户余额

想看看账户里有多少筹码?可以用 Balance 端点查询余额:

response = api.query_private('Balance') print(response)

返回的 JSON 数据里,每种资产的余额都清清楚楚,比如:
json { "error": [], "result": { "ZUSD": "1000.1234", "XXBT": "0.56789" } }

上面这个账户里有 1000.12 美元(ZUSD),还有 0.56789 BTC(XXBT)。

4. 下单交易

Kraken 的交易 API 支持市价单、限价单、杠杆交易等。下面教你怎么下单买 BTC。

限价买入 BTC(比如用 30000 USD 买入 0.01 BTC)

order = { "pair": "XXBTZUSD", "type": "buy", "ordertype": "limit", "price": "30000", "volume": "0.01" }

response = api.query_private('AddOrder', order) print(response)

如果成功下单,Kraken 会返回订单 ID,你可以用它来查询订单状态。

市价卖出 BTC(快速成交,不指定价格)

order = { "pair": "XXBTZUSD", "type": "sell", "ordertype": "market", "volume": "0.01" }

response = api.query_private('AddOrder', order) print(response)

市价单的成交速度快,但价格可能有点浮动,适合想秒出 BTC 的时候用。

5. 查询订单状态

下单后,你可能想看看成交情况,可以用 QueryOrders

order_id = "OXYZ123-ABCDE-67890" # 你的订单 ID response = api.query_private('QueryOrders', {"txid": order_id}) print(response)

如果订单已经成交,返回的数据里会有成交价格、成交时间等信息。

6. 订阅实时行情(WebSocket API)

如果你想获取市场最新价格,而不是每次都请求 REST API,可以用 Kraken WebSocket API。

Python 里推荐用 websocket-client 这个库:
bash pip install websocket-client

然后运行以下代码订阅 BTC/USD 交易对的实时价格:

import websocket import json

def on_message(ws, message): data = json.loads(message) print(data)

ws = websocket.WebSocketApp("wss://ws.kraken.com/", on_message=on_message)

ws.run_forever()

这个 WebSocket 连接会不断接收最新的行情数据,适合高频交易或做市策略。

7. 取消订单

如果你的订单还没成交,想取消它,可以这样做:

order_id = "OXYZ123-ABCDE-67890" response = api.query_private('CancelOrder', {"txid": order_id}) print(response)

如果成功取消,会返回 {"error": [], "result": {"count": 1}},表示有 1 笔订单被撤销。

8. 交易费用查询

Kraken 交易所的手续费因 VIP 级别和交易对不同而异,想查询当前费率,可以调用 TradeVolume 端点:

response = api.query_private('TradeVolume') print(response)

返回的数据里会包含你的 30 天交易量,以及对应的手续费率。


以上就是 Kraken API 的核心用法,掌握这些,你就可以打造属于自己的自动化交易策略了!💰




Gate.io Logo 加入 Gate.io,注册赢取最高$6666迎新任务奖励!