发布于 2025-02-07 13:34:01 · 阅读量: 178766
想在 Kraken 交易所实现自动化交易?Kraken 提供了强大的 API(应用程序接口),让你能用代码操控账户、下单、查询市场数据,甚至构建交易机器人!今天就带你飞速上手 Kraken API,让你的交易如虎添翼。
在使用 Kraken API 之前,你得先搞到 API Key 和 API Secret,像拿到钥匙一样,才能开启自动化交易的大门。
搞定这步后,你的 API Key 就可以跟 Kraken 的服务器沟通了!
Kraken 提供两种 API:
- REST API(主流,适用于账户管理、交易、行情查询)
- WebSocket API(适用于实时数据订阅,低延迟)
如果你用 Python,可以用 krakenex
这个库,简单又好用。
bash pip install krakenex
import krakenex
api = krakenex.API() api.load_key('kraken.key') # 你的 API Key 存在 kraken.key 文件里
当然,你也可以直接用代码输入 API Key 和 Secret,不过存到本地文件更安全。
想看看账户里有多少筹码?可以用 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)。
Kraken 的交易 API 支持市价单、限价单、杠杆交易等。下面教你怎么下单买 BTC。
order = { "pair": "XXBTZUSD", "type": "buy", "ordertype": "limit", "price": "30000", "volume": "0.01" }
response = api.query_private('AddOrder', order) print(response)
如果成功下单,Kraken 会返回订单 ID,你可以用它来查询订单状态。
order = { "pair": "XXBTZUSD", "type": "sell", "ordertype": "market", "volume": "0.01" }
response = api.query_private('AddOrder', order) print(response)
市价单的成交速度快,但价格可能有点浮动,适合想秒出 BTC 的时候用。
下单后,你可能想看看成交情况,可以用 QueryOrders
:
order_id = "OXYZ123-ABCDE-67890" # 你的订单 ID response = api.query_private('QueryOrders', {"txid": order_id}) print(response)
如果订单已经成交,返回的数据里会有成交价格、成交时间等信息。
如果你想获取市场最新价格,而不是每次都请求 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 连接会不断接收最新的行情数据,适合高频交易或做市策略。
如果你的订单还没成交,想取消它,可以这样做:
order_id = "OXYZ123-ABCDE-67890" response = api.query_private('CancelOrder', {"txid": order_id}) print(response)
如果成功取消,会返回 {"error": [], "result": {"count": 1}}
,表示有 1 笔订单被撤销。
Kraken 交易所的手续费因 VIP 级别和交易对不同而异,想查询当前费率,可以调用 TradeVolume
端点:
response = api.query_private('TradeVolume') print(response)
返回的数据里会包含你的 30 天交易量,以及对应的手续费率。
以上就是 Kraken API 的核心用法,掌握这些,你就可以打造属于自己的自动化交易策略了!💰