输入/搜索内容
内置函数
结构体
内置变量与常量
通用约定
交易所
能力矩阵
中心化交易所
AscendEx
Backpack
BigONE
币安
Bitfinex
bitFlyer
Bitget
Bithumb
Bitstamp
Bybit
Coincheck
Coinone
CoinW
Crypto.com
DeepCoin
Deribit
DigiFinex
Gate
Gemini
HashKey
HitBTC
火币
Korbit
Kraken
库币
LBank
MEXC
OKX
Poloniex
Upbit
WEEX
WOO X
Zaif
去中心化交易所
预测市场
证券与期货
链上与自定义接入

Kraken(现货):Kraken现货交易(Kraken REST接口https://api.kraken.com),使用Kraken的API Key与Secret Key接入。账户为Kraken现货余额,可用数量为余额减去挂单冻结;Kraken期货是另一个交易所对象Futures_Kraken。

Futures_Kraken(期货):Kraken期货(Kraken Futures接口https://futures.kraken.com):反向(币本位)永续与交割合约、多币种抵押(线性)永续与交割合约,以及Kraken期货的期权。使用Kraken期货的API Key与Secret Key接入;Kraken现货是另一个交易所对象Kraken。

名称与配置
exchange.GetName()类型别名
Kraken现货—
Futures_Kraken期货Kraken期货、Kraken Futures
配置项必填
--
Access Key是
Secret Key是

交易对与合约代码
Kraken(现货)

交易对示例:BTC_USD、ETH_USDT、BTC_EUR

交易对写作BASE_QUOTE。Kraken把BTC写作XBT、DOGE写作XDG,交易对用BTC、DOGE即可(写XBT_USD也可以),返回的品种代码统一用BTC、DOGE。

Futures_Kraken(期货)

交易对示例:BTC_USD、ETH_USD

交易对如BTC_USD,合约代码决定合约类型:不带后缀的合约代码为反向合约(Kraken的PI_、FI_),带_pf、_ff后缀的为多币种抵押合约(PF_、FF_)。合约代码里BTC写作XBT,交易对用BTC即可,返回的品种代码统一用BTC。

合约代码说明
swap反向永续合约(默认)。
month最近到期的反向交割合约。
this_week同month;exchange.GetMarkets与查询结果中写作month。
quarter反向季度合约(3、6、9、12月到期中最近的一个)。
next_quarter反向次季合约。
third_quarter反向第三季度合约。
swap_pf多币种抵押永续合约。
month_ff最近到期的多币种抵押交割合约。
this_week_ff同month_ff;exchange.GetMarkets与查询结果中写作month_ff。
quarter_ff多币种抵押季度合约。
next_quarter_ff多币种抵押次季合约。
third_quarter_ff多币种抵押第三季度合约。

Kraken只挂月度和季度交割合约,this_week、month都指最近到期的那个。交割合约按交易所合约列表中的到期时间选取。同一张合约同时属于几个档位时(例如最近到期的季度合约也是month),exchange.GetMarkets以及行情、持仓、订单的品种代码只用其中一个,季度档优先于month;不属于任何档位的交割合约以原生代码为合约代码(如BTC_USD.FF_XBTUSD_261030)。每张合约在exchange.GetMarkets中只出现一次。查询持仓、挂单时可以用范围USD.swap_pf(多币种抵押永续)、USD.futures_ff(多币种抵押交割)。

原生合约代码示例:FF_ETHUSD_250307、PF_XBTUSD

合约可以直接使用Kraken的原生合约代码:交割合约(FI_、FF_前缀)如ETH_USD.FF_ETHUSD_250307,永续合约(PI_、PF_前缀)如BTC_USD.PF_XBTUSD。exchange.SetContractType()也接受当前交易对的原生代码(包括属于某个档位、在exchange.GetMarkets中以档位代码出现的交割合约),例如交易对BTC_USD时exchange.SetContractType("PF_XBTUSD")。

专属IO指令
Kraken(现货)

没有专属指令,通用指令见exchange.IO。

Futures_Kraken(期货)
指令参数说明返回值
crossbool[, symbol]全仓(true)/逐仓(false),只支持多币种抵押合约。切换为逐仓时杠杆上限设为10倍,之后可用exchange.SetMarginLevel()修改。成功也返回空值,需要确认时调用后读取GetLastError()。

通用指令api、base、currency见exchange.IO。

函数支持差异
全部交易所对象

没有不支持的标准函数。

Kraken(现货)

以回退方式支持:

  • exchange.GetRecords:原生周期为1分钟、5分钟、15分钟、30分钟、1小时、4小时、1天、1周、15天;其它周期由托管者合成。
Futures_Kraken(期货)

以回退方式支持:

  • exchange.GetRecords:原生周期为1分钟、5分钟、15分钟、30分钟、1小时、4小时、12小时、1天、1周;其它周期由托管者合成。

保证金、账户与模拟盘
Futures_Kraken(期货)

保证金模式:只有多币种抵押合约(swap_pf、*_ff)可以切换全仓/逐仓和设置杠杆,反向合约与期权调用exchange.IO("cross", ...)、exchange.SetMarginLevel()报错。Kraken以杠杆偏好表达保证金模式:exchange.SetMarginLevel()设置杠杆上限的同时会把该合约切换为逐仓,exchange.IO("cross", true)取消杠杆上限、恢复全仓。

持仓模式:连接器没有持仓模式设置,exchange.IO("dual", ...)报错。

账户:反向合约使用各自的单币种钱包,exchange.GetAccount()的Stocks为该钱包的可用币数;多币种抵押合约与期权使用多币种抵押钱包,Balance为以USD计价的可用保证金。

期权
Futures_Kraken(期货)

支持Kraken期货的期权。限制:

  • Kraken没有期权合约列表接口,exchange.GetMarkets()不包含期权合约,期权代码需要从Kraken网页获取。
  • exchange.GetTicker()在合约没有成交价时Last取标记价格;无人报价时Buy、Sell、High、Low为0;原始数据Info中有隐含波动率、希腊值等字段。
  • 期权没有资金费率,不支持exchange.SetMarginLevel()与保证金模式切换。

期权代码示例:OF_ETHUSD_261225_4000_C、OF_XBTUSD_261225_100000_P

期权代码为Kraken原生代码:OF_、标的与计价币、到期日(YYMMDD)、行权价、C/P,C为看涨、P为看跌。代码中的标的与计价币必须与交易对一致,BTC写作XBT,完整品种代码形如ETH_USD.OF_ETHUSD_261225_4000_C。

注意事项
Kraken(现货)
  • 现货市价买单的下单量是交易币数(Kraken的volume),不是计价币金额。
  • 条件单只支持止盈、止损单,不支持OCO。
  • 下单支持tif的IOC与只做Maker(postOnly,仅限价委托),不支持FOK,传入时报错。
  • 支持exchange.ModifyOrder()与exchange.ModifyConditionOrder():都是Kraken原地改单,订单ID不变;普通单可改价格、数量,条件单可改触发价、委托价与数量。
  • exchange.GetOrders()、exchange.GetConditionOrders()不传参数时返回全部交易对的挂单。exchange.GetHistoryOrders()、exchange.GetHistoryConditionOrders()不传limit时返回最近50条,传更大的limit时自动翻页取满。
Futures_Kraken(期货)
  • 下单量为Kraken的合约数量:反向合约每张1 USD,多币种抵押合约以标的币数计(见exchange.GetMarkets的CtVal、CtValCcy)。
  • Kraken的资金费率原始值是每张合约的绝对金额,exchange.GetFundings()已换算为相对费率;永续合约每小时结算一次。
  • 条件单只支持止盈、止损单,不支持OCO;条件单以最新成交价触发。
  • 限价单支持tif的IOC与只做Maker(postOnly),不支持FOK;市价单不支持FOK与只做Maker,条件单不支持tif与只做Maker,传入时报错。
  • 支持exchange.ModifyOrder()与exchange.ModifyConditionOrder()(Kraken的改单接口),条件单可改触发价、委托价与数量。