Python OKX API interface
Project description
okx_api 说明文档
1 okx_api设计目的
- 目前没有交易所承认的官方Rest Api Python Sdk,只有推荐的第三方项目,虽然也很好但是对于官方接口更新的维护较慢,我需要最新的底层接口支持。
- 关于Okx,我开发了比较多的功能框架,例如获取实时行情数据的okx_candle,实盘现货交易框架:okx_spot,实盘永续合约交易框架:okx_swap,Okx的综合功能框架:okx(项目名就叫okx,pip install okx),所以公用的稳定底层十分重要。
- okx_api是对交易所接口的底层封装,并非高级封装,对于熟悉Okx量化交易者来说仅需很少的学习成本。
2 下载okx_api
GITHUB:https://github.com/pyted/okx_api
pip3 install okx_api
3 使用okx_api的例子
from okx_api import Market # 导入行情数据
from pprint import pprint
if __name__ == '__main__':
# 行情数据无需添加key、secret与passphrase
key = ''
secret = ''
passphrase = ''
flag = '0' # flag = '0' 实盘 flag = '1' 模拟盘
market = Market()
# 获取现货交易BTC-USDT的行情信息
result = market.get_ticker(instId='BTC-USDT')
pprint(result)
输出:
>> {'code': '0',
>> 'data': [{'askPx': '23352.5',
>> 'askSz': '1.26608653',
>> 'bidPx': '23352.4',
>> 'bidSz': '0.46033212',
>> 'high24h': '23722.5',
>> 'instId': 'BTC-USDT',
>> 'instType': 'SPOT',
>> 'last': '23352.5',
>> 'lastSz': '0.01734077',
>> 'low24h': '23211',
>> 'open24h': '23463.6',
>> 'sodUtc0': '23431.3',
>> 'sodUtc8': '23603.6',
>> 'ts': '1675510037012',
>> 'vol24h': '5108.83404369',
>> 'volCcy24h': '119705529.10438071'}],
>> 'msg': ''}
4 okx_api的说明
okx_api是对REST API接口的封装,不包含WebSocket API。
okx_api的请求参数和返回结果与官方一致
okx_api服务器网络问题时,会尝试重新请求,重新请求的状态码有:
- 50001 服务暂时不可用,请稍后重试
- 50004 接口请求超时(不代表请求成功或者失败,请检查请求结果)
- 50011 用户请求频率过快,超过该接口允许的限额。请参考 API 文档并限制请求
- 50013 当前系统繁忙,请稍后重试
- 50026 系统错误,请稍后重试
okx_api包含功能:
接口种类 | 类名称 | 是否需要秘钥 |
---|---|---|
交易 | okx_api.Trade | 是 |
资金 | okx_api.Funding | 是 |
闪兑 | okx_api.Convert | 是 |
账户 | okx_api.Account | 是 |
子账户 | okx_api.SubAccount | 是 |
网格交易 | okx_api.Grid | 是 |
赚币 | okx_api.Staking | 是 |
跟单接口 | okx_api.CopyTrading | 是 |
行情数据 | okx_api.Market | 否 |
公共数据 | okx_api.Public | 否 |
交易大数据 | okx_api.Rubik | 否 |
Status(系统状态) | okx_api.System | 否 |
全部功能类的实例化都包含4个参数:
- key,默认值:''
- secret,默认值:''
- passphrase,默认值:''
- flag,默认值:'1'
- '0' 实盘
- '1' 模拟盘
个人测试发现模拟盘的数据接口功能并不完善,对于待上线项目,建议直接采用小金额实盘接口测试。
6. 交易模块 Trade
6.1 交易接口总览
接口名称 | 函数名称 |
---|---|
下单 | set_order |
批量下单 | set_batch_orders |
撤单 | set_cancel_order |
批量撤单 | set_cancel_batch_orders |
修改订单 | set_amend_order |
批量修改订单 | set_amend_batch_orders |
市价仓位全平 | set_close_position |
获取订单信息 | get_order |
获取未成交订单列表 | get_orders_pending |
获取历史订单记录(近七天) | get_orders_history |
获取历史订单记录(近三个月) | get_orders_history_archive |
获取成交明细(近三天) | get_fills |
获取成交明细(近三个月) | get_fills_history |
策略委托下单 | set_order_algo |
撤销策略委托订单 | set_cancel_algos |
撤销高级策略委托订单 | set_cancel_advance_algos |
获取未完成策略委托单列表 | get_orders_algo_pending |
获取历史策略委托单列表 | get_orders_algo_history |
获取一键兑换主流币币种列表 | get_easy_convert_currency_list |
一键兑换主流币交易 | set_easy_convert |
获取一键兑换主流币历史记录 | get_easy_convert_history |
获取一键还债币种列表 | get_one_click_repay_currency_list |
一键还债交易 | set_one_click_repay |
获取一键还债历史记录 | get_one_click_repay_history |
6.2 交易接口介绍
6.2.1 下单 set_order
请求路径:/api/v5/trade/order 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,如BTC-USD-190927-5000-C |
tdMode | String | 是 | 交易模式保证金模式:isolated:逐仓 ;cross:全仓非保证金模式:cash:非保证金 |
side | String | 是 | 订单方向buy:买,sell:卖 |
ordType | String | 是 | 订单类型market:市价单limit:限价单post_only:只做maker单fok:全部成交或立即取消ioc:立即成交并取消剩余optimal_limit_ioc:市价委托立即成交并取消剩余(仅适用交割、永续) |
sz | String | 是 | 委托数量 |
ccy | String | 否 | 保证金币种,仅适用于单币种保证金模式下的全仓杠杆订单 |
clOrdId | String | 否 | 客户自定义订单ID字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。 |
tag | String | 否 | 订单标签字母(区分大小写)与数字的组合,可以是纯字母、纯数字,且长度在1-16位之间。 |
posSide | String | 可选 | 持仓方向在双向持仓模式下必填,且仅可选择long或short。 仅适用交割、永续。 |
px | String | 可选 | 委托价格,仅适用于limit、post_only、fok、ioc类型的订单 |
reduceOnly | Boolean | 否 | 是否只减仓,true或false,默认false仅适用于币币杠杆,以及买卖模式下的交割/永续仅适用于单币种保证金模式和跨币种保证金模式 |
tgtCcy | String | 否 | 市价单委托数量sz的单位,仅适用于币币市价订单base_ccy: 交易货币 ;quote_ccy:计价货币买单默认quote_ccy, 卖单默认base_ccy |
banAmend | Boolean | 否 | 是否禁止币币市价改单,true 或 false,默认false为true时,余额不足时,系统不会改单,下单会失败,仅适用于币币市价单 |
tpTriggerPx | String | 否 | 止盈触发价,如果填写此参数,必须填写 止盈委托价 |
tpOrdPx | String | 否 | 止盈委托价,如果填写此参数,必须填写 止盈触发价委托价格为-1时,执行市价止盈 |
slTriggerPx | String | 否 | 止损触发价,如果填写此参数,必须填写 止损委托价 |
slOrdPx | String | 否 | 止损委托价,如果填写此参数,必须填写 止损触发价委托价格为-1时,执行市价止损 |
tpTriggerPxType | String | 否 | 止盈触发价类型last:最新价格index:指数价格mark:标记价格默认为last |
slTriggerPxType | String | 否 | 止损触发价类型last:最新价格index:指数价格mark:标记价格默认为last |
quickMgnType | String | 否 | 一键借币类型,仅适用于杠杆逐仓的一键借币模式:manual:手动,auto_borrow: 自动借币,auto_repay: 自动还币默认是manual:手动 |
6.2.2 批量下单 set_batch_orders
请求路径:/api/v5/trade/batch-orders 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,如BTC-USD-190927-5000-C |
tdMode | String | 是 | 交易模式保证金模式:isolated:逐仓 ;cross:全仓非保证金模式:cash:非保证金 |
side | String | 是 | 订单方向buy:买,sell:卖 |
ordType | String | 是 | 订单类型market:市价单limit:限价单post_only:只做maker单fok:全部成交或立即取消ioc:立即成交并取消剩余optimal_limit_ioc:市价委托立即成交并取消剩余(仅适用交割、永续) |
sz | String | 是 | 委托数量 |
ccy | String | 否 | 保证金币种,仅适用于单币种保证金模式下的全仓杠杆订单 |
clOrdId | String | 否 | 客户自定义订单ID字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。 |
tag | String | 否 | 订单标签字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-16位之间。 |
posSide | String | 可选 | 持仓方向在双向持仓模式下必填,且仅可选择long或short。 仅适用交割、永续。 |
px | String | 否 | 委托价格,仅适用于limit、post_only、fok、ioc类型的订单 |
reduceOnly | Boolean | 否 | 是否只减仓,true或false,默认false仅适用于币币杠杆,以及买卖模式下的交割/永续仅适用于单币种保证金模式和跨币种保证金模式 |
tgtCcy | String | 否 | 市价单委托数量sz的单位,仅适用于币币市价订单base_ccy: 交易货币 ;quote_ccy:计价货币买单默认quote_ccy, 卖单默认base_ccy |
banAmend | Boolean | 否 | 是否禁止币币市价改单,true 或 false,默认false为true时,余额不足时,系统不会改单,下单会失败,仅适用于币币市价单 |
tpTriggerPx | String | 否 | 止盈触发价,如果填写此参数,必须填写 止盈委托价 |
tpOrdPx | String | 否 | 止盈委托价,如果填写此参数,必须填写 止盈触发价委托价格为-1时,执行市价止盈 |
slTriggerPx | String | 否 | 止损触发价,如果填写此参数,必须填写 止损委托价 |
slOrdPx | String | 否 | 止损委托价,如果填写此参数,必须填写 止损触发价委托价格为-1时,执行市价止损 |
tpTriggerPxType | String | 否 | 止盈触发价类型last:最新价格index:指数价格mark:标记价格默认为last |
slTriggerPxType | String | 否 | 止损触发价类型last:最新价格index:指数价格mark:标记价格默认为last |
quickMgnType | String | 否 | 一键借币类型,仅适用于杠杆逐仓的一键借币模式:manual:手动,auto_borrow: 自动借币,auto_repay: 自动还币默认是manual:手动 |
6.2.3 撤单 set_cancel_order
请求路径:/api/v5/trade/cancel-order 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,如BTC-USD-190927 |
ordId | String | 可选 | 订单ID,ordId和clOrdId必须传一个,若传两个,以ordId为主 |
clOrdId | String | 可选 | 用户自定义ID |
6.2.4 批量撤单 set_cancel_batch_orders
请求路径:/api/v5/trade/cancel-batch-orders 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,如BTC-USD-190927 |
ordId | String | 可选 | 订单ID,ordId和clOrdId必须传一个,若传两个,以ordId为主 |
clOrdId | String | 可选 | 用户自定义ID |
6.2.5 修改订单 set_amend_order
请求路径:/api/v5/trade/amend-order 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID |
cxlOnFail | Boolean | 否 | false:不自动撤单true:自动撤单 当订单修改失败时,该订单是否需要自动撤销。默认为false |
ordId | String | 可选 | 订单ID,ordId和clOrdId必须传一个,若传两个,以ordId为主 |
clOrdId | String | 可选 | 用户自定义order ID |
reqId | String | 否 | 用户自定义修改事件ID字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。 |
newSz | String | 可选 | 修改的新数量,newSz和newPx不可同时为空。对于部分成交订单,该数量应包含已成交数量。 |
newPx | String | 可选 | 修改的新价格 |
6.2.6 批量修改订单 set_amend_batch_orders
请求路径:/api/v5/trade/amend-batch-orders 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID |
cxlOnFail | Boolean | 否 | false:不自动撤单true:自动撤单 当订单修改失败时,该订单是否需要自动撤销,默认为false |
ordId | String | 可选 | 订单ID,ordId和clOrdId必须传一个,若传两个,以ordId为主 |
clOrdId | String | 可选 | 用户自定义order ID |
reqId | String | 否 | 用户自定义修改事件ID字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。 |
newSz | String | 可选 | 修改的新数量,newSz和newPx不可同时为空。对于部分成交订单,该数量应包含已成交数量。 |
newPx | String | 可选 | 修改的新价格 |
6.2.7 市价仓位全平 set_close_position
请求路径:/api/v5/trade/close-position 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID |
mgnMode | String | 是 | 保证金模式cross:全仓 ;isolated:逐仓 |
posSide | String | 可选 | 持仓方向单向持仓模式下:可不填写此参数,默认值net,如果填写,仅可以填写net双向持仓模式下: 必须填写此参数,且仅可以填写long:平多 ,short:平空 |
ccy | String | 可选 | 保证金币种,单币种保证金模式的全仓币币杠杆平仓必填 |
autoCxl | Boolean | 否 | 当市价全平时,平仓单是否需要自动撤销,默认为false.false:不自动撤单true:自动撤单 |
clOrdId | String | 否 | 客户自定义ID字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。 |
tag | String | 否 | 订单标签字母(区分大小写)与数字的组合,可以是纯字母、纯数字,且长度在1-16位之间。 |
6.2.8 获取订单信息 get_order
请求路径:/api/v5/trade/order 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID ,如BTC-USD-190927 |
ordId | String | 可选 | 订单ID ,ordId和clOrdId必须传一个,若传两个,以ordId为主 |
clOrdId | String | 可选 | 用户自定义ID |
6.2.9 获取未成交订单列表 get_orders_pending
请求路径:/api/v5/trade/orders-pending 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 否 | 产品类型SPOT:币币MARGIN:币币杠杆SWAP:永续合约FUTURES:交割合约OPTION:期权 |
uly | String | 否 | 标的指数 |
instFamily | String | 否 | 交易品种适用于交割/永续/期权 |
instId | String | 否 | 产品ID,如BTC-USD-200927 |
ordType | String | 否 | 订单类型market:市价单limit:限价单post_only:只做maker单fok:全部成交或立即取消ioc:立即成交并取消剩余optimal_limit_ioc:市价委托立即成交并取消剩余(仅适用交割、永续) |
state | String | 否 | 订单状态live:等待成交partially_filled:部分成交 |
after | String | 否 | 请求此ID之前(更旧的数据)的分页内容,传的值为对应接口的ordId |
before | String | 否 | 请求此ID之后(更新的数据)的分页内容,传的值为对应接口的ordId |
limit | String | 否 | 返回结果的数量,最大为100,默认100条 |
6.2.10 获取历史订单记录(近七天) get_orders_history
请求路径:/api/v5/trade/orders-history 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 是 | 产品类型SPOT:币币MARGIN:币币杠杆SWAP:永续合约FUTURES:交割合约OPTION:期权 |
uly | String | 否 | 标的指数 |
instFamily | String | 否 | 交易品种适用于交割/永续/期权 |
instId | String | 否 | 产品ID,如BTC-USD-190927 |
ordType | String | 否 | 订单类型market:市价单limit:限价单post_only:只做maker单fok:全部成交或立即取消ioc:立即成交并取消剩余optimal_limit_ioc:市价委托立即成交并取消剩余(仅适用交割、永续) |
state | String | 否 | 订单状态canceled:撤单成功filled:完全成交 |
category | String | 否 | 订单种类twap:TWAP自动换币adl:ADL自动减仓full_liquidation:强制平仓partial_liquidation:强制减仓delivery:交割ddh:对冲减仓类型订单 |
after | String | 否 | 请求此ID之前(更旧的数据)的分页内容,传的值为对应接口的ordId |
before | String | 否 | 请求此ID之后(更新的数据)的分页内容,传的值为对应接口的ordId |
begin | String | 否 | 筛选的开始时间戳,Unix 时间戳为毫秒数格式,如 1597026383085 |
end | String | 否 | 筛选的结束时间戳,Unix 时间戳为毫秒数格式,如 1597027383085 |
limit | String | 否 | 返回结果的数量,最大为100,默认100条 |
6.2.11 获取历史订单记录(近三个月) get_orders_history_archive
请求路径:/api/v5/trade/orders-history-archive 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 是 | 产品类型SPOT:币币MARGIN:币币杠杆SWAP:永续合约FUTURES:交割合约OPTION:期权 |
uly | String | 否 | 标的指数 |
instFamily | String | 否 | 交易品种适用于交割/永续/期权 |
instId | String | 否 | 产品ID,如BTC-USD-200927 |
ordType | String | 否 | 订单类型market:市价单limit:限价单post_only:只做maker单fok:全部成交或立即取消ioc:立即成交并取消剩余optimal_limit_ioc:市价委托立即成交并取消剩余(仅适用交割、永续) |
state | String | 否 | 订单状态canceled:撤单成功filled:完全成交 |
category | String | 否 | 订单种类twap:TWAP自动换币adl:ADL自动减仓full_liquidation:强制平仓partial_liquidation:强制减仓delivery:交割ddh:对冲减仓类型订单 |
after | String | 否 | 请求此ID之前(更旧的数据)的分页内容,传的值为对应接口的ordId |
before | String | 否 | 请求此ID之后(更新的数据)的分页内容,传的值为对应接口的ordId |
begin | String | 否 | 筛选的开始时间戳,Unix 时间戳为毫秒数格式,如 1597026383085 |
end | String | 否 | 筛选的结束时间戳,Unix 时间戳为毫秒数格式,如 1597027383085 |
limit | String | 否 | 返回结果的数量,最大为100,默认100条 |
6.2.12 获取成交明细(近三天) get_fills
请求路径:/api/v5/trade/fills 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 否 | 产品类型SPOT:币币MARGIN:币币杠杆SWAP:永续合约FUTURES:交割合约OPTION:期权 |
uly | String | 否 | 标的指数 |
instFamily | String | 否 | 交易品种适用于交割/永续/期权 |
instId | String | 否 | 产品 ID,如BTC-USD-190927 |
ordId | String | 否 | 订单 ID |
after | String | 否 | 请求此 ID 之前(更旧的数据)的分页内容,传的值为对应接口的billId |
before | String | 否 | 请求此 ID 之后(更新的数据)的分页内容,传的值为对应接口的billId |
begin | String | 否 | 筛选的开始时间戳,Unix 时间戳为毫秒数格式,如 1597026383085 |
end | String | 否 | 筛选的结束时间戳,Unix 时间戳为毫秒数格式,如 1597027383085 |
limit | String | 否 | 返回结果的数量,最大为100,默认100条 |
6.2.13 获取成交明细(近三个月) get_fills_history
请求路径:/api/v5/trade/fills-history 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 是 | 产品类型SPOT:币币MARGIN:币币杠杆SWAP:永续合约FUTURES:交割合约OPTION:期权 |
uly | String | 否 | 标的指数 |
instFamily | String | 否 | 交易品种适用于交割/永续/期权 |
instId | String | 否 | 产品 ID,如BTC-USD-190927 |
ordId | String | 否 | 订单 ID |
after | String | 否 | 请求此 ID 之前(更旧的数据)的分页内容,传的值为对应接口的billId |
before | String | 否 | 请求此 ID 之后(更新的数据)的分页内容,传的值为对应接口的billId |
begin | String | 否 | 筛选的开始时间戳,Unix 时间戳为毫秒数格式,如 1597026383085 |
end | String | 否 | 筛选的结束时间戳,Unix 时间戳为毫秒数格式,如 1597027383085 |
limit | String | 否 | 返回结果的数量,最大为100,默认100条 |
6.2.14 策略委托下单 set_order_algo
请求路径:/api/v5/trade/order-algo 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,如BTC-USD-190927-5000-C |
tdMode | String | 是 | 交易模式保证金模式isolated:逐仓,cross:全仓非保证金模式cash:非保证金 |
side | String | 是 | 订单方向buy:买sell:卖 |
ordType | String | 是 | 订单类型conditional:单向止盈止损oco:双向止盈止损trigger:计划委托move_order_stop:移动止盈止损iceberg:冰山委托twap:时间加权委托 |
ccy | String | 否 | 保证金币种仅适用于单币种保证金模式下的全仓杠杆订单 |
posSide | String | 可选 | 持仓方向在双向持仓模式下必填,且仅可选择long或short |
sz | String | 可选 | 委托数量sz和closeFraction必填且只能填其一 |
tag | String | 否 | 订单标签字母(区分大小写)与数字的组合,可以是纯字母、纯数字,且长度在1-16位之间 |
tgtCcy | String | 否 | 委托数量的类型base_ccy: 交易货币 ;quote_ccy:计价货币仅适用于币币单向止盈止损市价买单默认买为计价货币,卖为交易货币 |
reduceOnly | Boolean | 否 | 是否只减仓,true或false,默认false仅适用于币币杠杆,以及买卖模式下的交割/永续仅适用于单币种保证金模式和跨币种保证金模式 |
clOrdId | String | 否 | 客户自定义订单ID字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间 |
closeFraction | String | 可选 | 策略委托触发时,平仓的百分比。1 代表100%现在系统只支持全部平仓,唯一接受参数为1仅适用于交割或永续仅适用于买卖模式posSide=net仅适用于减仓订单reduceOnly=true仅适用于止盈止损ordType=conditional或oco仅适用于止盈止损市价订单sz和closeFraction必填且只能填其一 |
quickMgnType | String | 否 | 一键借币类型,仅适用于杠杆逐仓的一键借币模式:manual:手动,auto_borrow: 自动借币,auto_repay: 自动还币默认是manual:手动 |
6.2.15 撤销策略委托订单 set_cancel_algos
请求路径:/api/v5/trade/cancel-algos 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
algoId | String | 是 | 策略委托单ID |
instId | String | 是 | 产品ID 如BTC-USDT |
6.2.16 撤销高级策略委托订单 set_cancel_advance_algos
请求路径:/api/v5/trade/cancel-advance-algos 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
algoId | String | 是 | 策略委托单ID |
instId | String | 是 | 产品ID 如BTC-USDT |
6.2.17 获取未完成策略委托单列表 get_orders_algo_pending
请求路径:/api/v5/trade/orders-algo-pending 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ordType | String | 是 | 订单类型conditional:单向止盈止损oco:双向止盈止损trigger:计划委托move_order_stop:移动止盈止损iceberg:冰山委托twap:时间加权委托 |
algoId | String | 否 | 策略委托单ID |
instType | String | 否 | 产品类型SPOT:币币SWAP:永续合约FUTURES:交割合约MARGIN:杠杆 |
instId | String | 否 | 产品ID,BTC-USD-190927 |
after | String | 否 | 请求此ID之前(更旧的数据)的分页内容,传的值为对应接口的algoId |
before | String | 否 | 请求此ID之后(更新的数据)的分页内容,传的值为对应接口的algoId |
limit | String | 否 | 返回结果的数量,最大为100,默认100条 |
clOrdId | String | 否 | 客户自定义订单ID字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。 |
6.2.18 获取历史策略委托单列表 get_orders_algo_history
请求路径:/api/v5/trade/orders-algo-history 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ordType | String | 是 | 订单类型conditional:单向止盈止损oco:双向止盈止损trigger:计划委托move_order_stop:移动止盈止损iceberg:冰山委托twap:时间加权委托 |
state | String | 可选 | 订单状态effective:已生效canceled:已经撤销order_failed:委托失败【state和algoId必填且只能填其一】 |
algoId | String | 可选 | 策略委托单ID 【state和algoId必填且只能填其一】 |
instType | String | 否 | 产品类型SPOT:币币SWAP:永续合约FUTURES:交割合约MARGIN:杠杆 |
instId | String | 否 | 产品ID,BTC-USD-190927 |
after | String | 否 | 请求此ID之前(更旧的数据)的分页内容,传的值为对应接口的algoId |
before | String | 否 | 请求此ID之后(更新的数据)的分页内容,传的值为对应接口的algoId |
limit | String | 否 | 返回结果的数量,最大为100,默认100条 |
6.2.19 获取一键兑换主流币币种列表 get_easy_convert_currency_list
请求路径:/api/v5/trade/easy-convert-currency-list 请求方法:GET
请求参数:无
6.2.20 一键兑换主流币交易 set_easy_convert
请求路径:/api/v5/trade/easy-convert 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
fromCcy | Array | 是 | 小币支付币种单次最多同时选择5个币种,如有多个币种则用逗号隔开 |
toCcy | String | 是 | 兑换的主流币只选择一个币种,且不能和小币支付币种重复 |
6.2.21 获取一键兑换主流币历史记录 get_easy_convert_history
请求路径:/api/v5/trade/easy-convert-history 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
after | String | 否 | 查询在此之前的内容,值为时间戳,Unix时间戳为毫秒数格式,如1597026383085 |
before | String | 否 | 查询在此之后的内容,值为时间戳,Unix时间戳为毫秒数格式,如1597026383085 |
limit | String | 否 | 返回的结果集数量,默认为100,最大为100 |
6.2.22 获取一键还债币种列表 get_one_click_repay_currency_list
请求路径:/api/v5/trade/one-click-repay-currency-list 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
debtType | String | 否 | 负债类型cross: 全仓负债isolated: 逐仓负债 |
6.2.23 一键还债交易 set_one_click_repay
请求路径:/api/v5/trade/one-click-repay 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
debtCcy | Array | 是 | 负债币种单次最多同时选择5个币种,如有多个币种则用逗号隔开 |
repayCcy | String | 是 | 偿还币种只选择一个币种,且不能和负债币种重复 |
6.2.24 获取一键还债历史记录 get_one_click_repay_history
请求路径:/api/v5/trade/one-click-repay-history 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
after | String | 否 | 查询在此之前的内容,值为时间戳,Unix时间戳为毫秒数格式,如1597026383085 |
before | String | 否 | 查询在此之后的内容,值为时间戳,Unix时间戳为毫秒数格式,如1597026383085 |
limit | String | 否 | 返回的结果集数量,默认为100,最大为100 |
6.3 例子
交易模块必须填写秘钥
from okx_api import Trade
from pprint import pprint
if __name__ == '__main__':
# 交易模块需要秘钥
key = '****'
secret = '****'
passphrase = '****'
flag = '0'
trade = Trade(key, secret, passphrase, flag)
# 限价单购买BTC-USDT现货,数量2,价格1
result = trade.set_order(
instId='BTC-USDT',
tdMode='cash',
side='buy',
ordType='limit',
px='1',
sz='2',
)
pprint(result)
输出:
>> {'code': '0',
>> 'data': [{'clOrdId': '',
>> 'ordId': '542313757641707520',
>> 'sCode': '0',
>> 'sMsg': 'Order placed',
>> 'tag': ''}],
>> 'msg': ''}
7 资金 Funding
7.1 资金接口总览
接口名称 | 函数名称 |
---|---|
获取币种列表 | get_currencies |
获取资金账户余额 | get_balances |
获取不可交易资产 | get_non_tradable_assets |
获取账户资产估值 | get_asset_valuation |
资金划转 | set_transfer |
获取资金划转状态 | get_transfer_state |
获取资金流水 | get_bills |
闪电网络充币 | get_deposit_lightning |
获取充值地址信息 | get_deposit_address |
获取充值记录 | get_deposit_history |
提币 | set_withdrawal |
闪电网络提币 | set_withdrawal_lightning |
撤销提币 | set_cancel_withdrawal |
获取提币记录 | get_withdrawal_history |
获取充值/提现的详细状态 | get_deposit_withdraw_status |
小额资产兑换 | set_convert_dust_assets |
获取余币宝余额 | get_saving_balance |
余币宝申购/赎回 | set_purchase_redempt |
设置余币宝借贷利率 | set_set_lending_rate |
获取余币宝出借明细 | get_lending_history |
获取市场借贷信息(公共) | get_lending_rate_summary |
获取市场借贷历史(公共) | get_lending_rate_history |
7.2 资金接口介绍
7.2.1 获取币种列表 get_currencies
请求路径:/api/v5/asset/currencies 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 否 | 币种,如BTC支持多币种查询(不超过20个),币种之间半角逗号分隔 |
7.2.2 获取资金账户余额 get_balances
请求路径:/api/v5/asset/balances 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 否 | 币种,如BTC支持多币种查询(不超过20个),币种之间半角逗号分隔 |
7.2.3 获取不可交易资产 get_non_tradable_assets
请求路径:/api/v5/asset/non-tradable-assets 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 否 | 币种,如BTC支持多币种查询(不超过20个),币种之间半角逗号分隔 |
7.2.4 获取账户资产估值 get_asset_valuation
请求路径:/api/v5/asset/asset-valuation 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 否 | 资产估值对应的单位BTC 、USDTUSD 、CNY 、JPY、KRW、RUB、EURVND 、IDR 、INR、PHP、THB、TRYAUD 、SGD 、ARS、SAR、AED、IQD默认为 BTC 为单位的估值 |
7.2.5 资金划转 set_transfer
请求路径:/api/v5/asset/transfer 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 是 | 币种,如USDT |
amt | String | 是 | 划转数量 |
from | String | 是 | 转出账户6:资金账户18:交易账户 |
to | String | 是 | 转入账户6:资金账户18:交易账户 |
subAcct | String | 可选 | 子账户名称,type 为1,2或4:subAcct 为必填项 |
type | String | 否 | 划转类型0:账户内划转1:母账户转子账户(仅适用于母账户APIKey)2:子账户转母账户(仅适用于母账户APIKey)3:子账户转母账户(仅适用于子账户APIKey)4:子账户转子账户(仅适用于子账户APIKey,且目标账户需要是同一母账户下的其他子账户)默认是0 |
loanTrans | Boolean | 否 | 是否支持跨币种保证金模式或组合保证金模式下的借币转入/转出true 或 false,默认false |
clientId | String | 否 | 客户自定义ID字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。 |
omitPosRisk | String | 否 | 是否忽略仓位风险默认为false仅适用于组合保证金模式 |
7.2.6 获取资金划转状态 get_transfer_state
请求路径:/api/v5/asset/transfer-state 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
transId | String | 可选 | 划转IDtransId和clientId必须传一个,若传两个,以transId为主 |
clientId | String | 可选 | 客户自定义ID |
type | String | 否 | 划转类型0:账户内划转1:母账户转子账户(仅适用于母账户APIKey)2:子账户转母账户(仅适用于母账户APIKey)3:子账户转母账户(仅适用于子账户APIKey)4:子账户转子账户(仅适用于子账户APIKey,且目标账户需要是同一母账户下的其他子账户)默认是0 |
7.2.7 获取资金流水 get_bills
请求路径:/api/v5/asset/bills 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 否 | 币种 |
type | String | 否 | 账单类型1:充值2:提现13:撤销提现20:转出至子账户(主体是母账户)21:从子账户转入(主体是母账户)22:转出到母账户(主体是子账户)23:母账户转入(主体是子账户)28:领取47:系统冲正48:活动得到49:活动送出50:预约得到51:预约扣除52:发红包53:抢红包54:红包退还61:兑换68:领取卡券权益69:发送卡券权益72:收币73:送币74:送币退还75:申购余币宝76:赎回余币宝77:派发78:锁定79:节点投票80:锁仓挖矿81:投票赎回82:锁仓赎回83:锁仓挖矿收益84:违约金85:算力挖矿收益86:云算力支付87:云算力收益88:补贴收益89:存币收益90:挖矿申购91:挖矿赎回92:补充质押物93:赎回质押物94:投资95:借款人借款96:投资本金转入97:借款人借款转出98:借款人借款利息转出99:投资人投资利息转入102:提前还款违约金转入103:提前还款违约金转出104:抵押借贷手续费转入105:抵押借贷手续费转出106:逾期手续费转入107:逾期手续费转出108:逾期利息转出109:借款还款逾期利息转入110:平仓质押物转入到系统账号111:平仓质押物转出到系统账号112:爆仓质押物转入到系统账号113:爆仓质押物转出到系统账号114:风险准备金转入115:风险准备金转出116:创建订单117:完成订单118:取消订单119:商家解冻保证金120:商家添加保证金121:FiatGateway 创建订单122:FiatGateway 取消订单123:FiatGateway 完成订单124:Jumpstart 解锁125:手动注入126:利息注入127:投资手续费转入128:投资手续费转出129:奖励转入130:从交易账户转入131:转出至交易账户132:客服冻结133:客服解冻134:客服转交135:跨链兑换136:兑换137:ETH2.0申购138:ETH2.0兑换139:ETH2.0收益143:系统退款145:系统回收146:客户回馈147:sushi 增发收益150:节点返佣151:邀请奖励152:经纪商返佣153:新手奖励154:拆盲盒奖励155:福利中心提现156:返佣卡返佣157:红包160:双币赢申购161:双币赢回款162:双币赢收益163:双币赢退款169:2022春节红包172:助力人返佣173:手续费返现174:支付175:锁定质押物176:借款转入177:添加质押物178:减少质押物179:还款180:释放质押物181:偿还空投糖果182:反馈奖励183:邀请好友奖励184:瓜分奖池奖励185:经纪商闪兑返佣186:0元领ETH187:闪兑划转188:插槽竞拍兑换189:盲盒奖励193:卡支付购买195:不可交易资产提币196:不可交易资产提币撤销197:不可交易资产充值198:无效资产减少199:有效资产增加200:买入202:价格锁定申购203:价格锁定回款204:价格锁定收益205:价格锁定退款207:双币赢精简版申购208:双币赢精简版回款209:双币赢精简版收益210:双币赢精简版退款211:投聪夺币中奖212:多币种借贷锁定质押物213:多币种质押物转出用户帐户214:多币种质押物返还用户215:多币种借贷释放质押物216:多币种借贷划转到用户帐户217:多币种借贷借款转入218:多币种借贷还款219:多币种还款由用户帐户转入220:已下架数字货币221:提币手续费支出222:提币手续费退款223:带单分润224:服务费225:鲨鱼鳍申购226:鲨鱼鳍回款227:鲨鱼鳍收益228:鲨鱼鳍退款229:空投发放230:换币完成232:利息补贴已入账233:经纪商佣金补偿 |
clientId | String | 否 | 转账或提币的客户自定义ID字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。 |
after | String | 否 | 查询在此之前的内容,值为时间戳,Unix 时间戳为毫秒数格式,如1597026383085 |
before | String | 否 | 查询在此之后的内容,值为时间戳,Unix 时间戳为毫秒数格式,如1597026383085 |
limit | String | 否 | 分页返回的结果集数量,最大为 100,不填默认返回 100 条 |
7.2.8 闪电网络充币 get_deposit_lightning
请求路径:/api/v5/asset/deposit-lightning 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 是 | 币种,仅支持BTC |
amt | String | 是 | 充值数量,推荐在0.000001〜0.1之间 |
to | String | 否 | 资金充值到账账户6: 资金账户18: 交易账户不填写此参数,默认到账资金账户 |
7.2.9 获取充值地址信息 get_deposit_address
请求路径:/api/v5/asset/deposit-address 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 是 | 币种,如BTC |
7.2.10 获取充值记录 get_deposit_history
请求路径:/api/v5/asset/deposit-history 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 否 | 币种名称,如BTC |
depId | String | 否 | 充值记录 ID |
fromWdId | String | 否 | 内部转账发起者提币申请 ID如果该笔充值来自于内部转账,则该字段展示内部转账发起者的提币ID |
txId | String | 否 | 区块转账哈希记录 |
type | String | 否 | 充值方式3:内部转账4:链上充值 |
state | String | 否 | 充值状态0:等待确认1:确认到账2:充值成功8:因该币种暂停充值而未到账,恢复充值后自动到账11:命中地址黑名单12:账户或充值被冻结13:子账户充值拦截 |
after | String | 否 | 查询在此之前的内容,值为时间戳,Unix 时间戳为毫秒数格式,如1654041600000 |
before | String | 否 | 查询在此之后的内容,值为时间戳,Unix 时间戳为毫秒数格式,如1656633600000 |
limit | string | 否 | 返回的结果集数量,默认为100,最大为100,不填默认返回100条 |
7.2.11 提币 set_withdrawal
请求路径:/api/v5/asset/withdrawal 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 是 | 币种,如USDT |
amt | String | 是 | 数量 |
dest | String | 是 | 提币方式3:内部转账4:链上提币 |
toAddr | String | 是 | 如果选择链上提币,toAddr必须是认证过的数字货币地址。某些数字货币地址格式为地址:标签,如ARDOR-7JF3-8F2E-QUWZ-CAN7F:123456如果选择内部转账,toAddr必须是接收方地址,可以是邮箱、手机或者账户名。 |
fee | String | 是 | 网络手续费≥0,提币到数字货币地址所需网络手续费可通过获取币种列表接口查询 |
chain | String | 可选 | 币种链信息如USDT下有USDT-ERC20,USDT-TRC20,USDT-Omni多个链如果没有不填此参数,则默认为主链 |
areaCode | String | 可选 | 手机区号当toAddr为手机号时,该参数必填 |
clientId | String | 否 | 客户自定义ID字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。 |
7.2.12 闪电网络提币 set_withdrawal_lightning
请求路径:/api/v5/asset/withdrawal-lightning 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 是 | 币种,如BTC |
invoice | String | 是 | invoice 号码 |
memo | String | 否 | 闪电网络提币的备注 |
7.2.13 撤销提币 set_cancel_withdrawal
请求路径:/api/v5/asset/cancel-withdrawal 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
wdId | String | 是 | 提币申请ID |
7.2.14 获取提币记录 get_withdrawal_history
请求路径:/api/v5/asset/withdrawal-history 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 否 | 币种名称,如BTC |
wdId | String | 否 | 提币申请ID |
clientId | String | 否 | 客户自定义ID字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。 |
txId | String | 否 | 区块转账哈希记录 |
type | String | 否 | 提币方式3:内部转账4:链上提币 |
state | String | 否 | 提币状态-3:撤销中-2:已撤销-1:失败0:等待提币1:提币中2:提币成功7: 审核通过10: 等待划转4,5,6,8,9,12: 等待客服审核 |
after | String | 否 | 查询在此之前的内容,值为时间戳,Unix 时间戳为毫秒数格式,如1654041600000 |
before | String | 否 | 查询在此之后的内容,值为时间戳,Unix 时间戳为毫秒数格式,如1656633600000 |
limit | string | 否 | 返回的结果集数量,默认为100,最大为100,不填默认返回100条 |
7.2.15 获取充值/提现的详细状态 get_deposit_withdraw_status
请求路径:/api/v5/asset/deposit-withdraw-status 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
wdId | String | 可选 | 提币申请ID,用于查询资金提现wdId与txId必传其一也仅可传其一 |
txId | String | 可选 | 区块转账哈希记录ID,用于查询资金充值wdId与txId必传其一也仅可传其一 |
ccy | String | 可选 | 币种,如USDT查询充值时必填,需要与txId一并提供 |
to | String | 可选 | 资金充值到账账户地址查询充值时必填,需要与txId一并提供 |
chain | String | 可选 | 币种链信息,例如 USDT-ERC20查询充值时必填,需要与txId一并提供 |
7.2.16 小额资产兑换 set_convert_dust_assets
请求路径:/api/v5/asset/convert-dust-assets 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | Array | 是 | 需要转换的币种资产 |
7.2.17 获取余币宝余额 get_saving_balance
请求路径:/api/v5/asset/saving-balance 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 否 | 币种,如BTC |
7.2.18 余币宝申购/赎回 set_purchase_redempt
请求路径:/api/v5/asset/purchase_redempt 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 是 | 币种名称,如BTC |
amt | String | 是 | 申购/赎回 数量 |
side | String | 是 | 操作类型purchase:申购redempt:赎回 |
rate | String | 是 | 申购年利率仅适用于申购,新申购的利率会覆盖上次申购的利率参数取值范围在1%到365%之间 |
7.2.19 设置余币宝借贷利率 set_set_lending_rate
请求路径:/api/v5/asset/set-lending-rate 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 是 | 币种名称,如BTC |
rate | String | 是 | 贷出利率参数取值范围在1%到365%之间 |
7.2.20 获取余币宝出借明细 get_lending_history
请求路径:/api/v5/asset/lending-history 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 否 | 币种,如BTC |
after | String | 否 | 查询在此之前的内容,值为时间戳,Unix 时间戳为毫秒数格式,如1597026383085 |
before | String | 否 | 查询在此之后的内容,值为时间戳,Unix 时间戳为毫秒数格式,如1597026383085 |
limit | String | 否 | 分页返回的结果集数量,最大为 100,不填默认返回 100 条 |
7.2.21 获取市场借贷信息(公共) get_lending_rate_summary
请求路径:/api/v5/asset/lending-rate-summary 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 否 | 币种,如BTC |
7.2.22 获取市场借贷历史(公共) get_lending_rate_history
请求路径:/api/v5/asset/lending-rate-history 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 否 | 币种,如BTC |
after | String | 否 | 查询在此之前的内容,值为时间戳,Unix 时间戳为毫秒数格式,如1597026383085 |
before | String | 否 | 查询在此之后的内容,值为时间戳,Unix 时间戳为毫秒数格式,如1597026383085 |
limit | String | 否 | 分页返回的结果集数量,最大为100,不填默认返回100条 |
7.3 例子
资金模块需要秘钥
from okx_api import Funding
from pprint import pprint
if __name__ == '__main__':
# 资金模块需要秘钥
key = '****'
secret = '****'
passphrase = '****'
flag = '0'
funding = Funding(key, secret, passphrase, flag)
# 获取资金账户余额
result = funding.get_balances(ccy='USDT')
pprint(result)
输出:
>> {'code': '0',
>> 'data': [{'availBal': '124812.0771248455630674',
>> 'bal': '124812.0771248455630674',
>> 'ccy': 'USDT',
>> 'frozenBal': '0'}],
>> 'msg': ''}
8 Convert 闪兑
8.1 闪兑接口总览
接口名称 | 函数名称 |
---|---|
获取闪兑币种列表 | get_currencies |
获取闪兑币对信息 | get_currency_pair |
闪兑预估询价 | set_estimate_quote |
闪兑交易 | set_trade |
获取闪兑交易历史 | get_history |
8.2 闪兑接口介绍
8.2.1 获取闪兑币种列表 get_currencies
请求路径:/api/v5/asset/convert/currencies 请求方法:GET
请求参数:无
8.2.2 获取闪兑币对信息 get_currency_pair
请求路径:/api/v5/asset/convert/currency-pair 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
fromCcy | String | 是 | 消耗币种,如USDT |
toCcy | String | 是 | 获取币种,如BTC |
8.2.3 闪兑预估询价 set_estimate_quote
请求路径:/api/v5/asset/convert/estimate-quote 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
baseCcy | String | 是 | 交易货币币种,如BTC-USDT中的BTC |
quoteCcy | String | 是 | 计价货币币种,如BTC-USDT中的USDT |
side | String | 是 | 交易方向买:buy卖:sell描述的是对于baseCcy的交易方向 |
rfqSz | String | 是 | 询价数量 |
rfqSzCcy | String | 是 | 询价币种 |
clQReqId | String | 否 | 客户端自定义的订单标识字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。 |
tag | String | 否 | 订单标签适用于broker用户 |
8.2.4 闪兑交易 set_trade
请求路径:/api/v5/asset/convert/trade 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
quoteId | String | 是 | 报价ID |
baseCcy | String | 是 | 交易货币币种,如BTC-USDT中的BTC |
quoteCcy | String | 是 | 计价货币币种,如BTC-USDT中的USDT |
side | String | 是 | 交易方向买:buy卖:sell描述的是对于baseCcy的交易方向 |
sz | String | 是 | 用户报价数量报价数量应不大于预估询价中的询价数量 |
szCcy | String | 是 | 用户报价币种 |
clTReqId | String | 否 | 用户自定义的订单标识字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。 |
tag | String | 否 | 订单标签适用于broker用户 |
8.2.5 获取闪兑交易历史 get_history
请求路径:/api/v5/asset/convert/history 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
after | String | 否 | 查询在此之前的内容,值为时间戳,Unix时间戳为毫秒数格式,如1597026383085 |
before | String | 否 | 查询在此之后的内容,值为时间戳,Unix时间戳为毫秒数格式,如1597026383085 |
limit | String | 否 | 返回的结果集数量,默认为100,最大为100 |
tag | String | 否 | 订单标签适用于broker用户 |
8.3 例子
闪兑模块需要秘钥
from okx_api import Convert
from pprint import pprint
if __name__ == '__main__':
# 闪兑模块需要秘钥
key = '****'
secret = '****'
passphrase = '****'
flag = '0'
convert = Convert(key, secret, passphrase, flag)
# 获取闪兑币种列表
result = convert.get_currencies()
pprint(result)
输出:
>> {'code': '0',
>> 'data': [{'ccy': 'BTC', 'max': '', 'min': ''},
>> {'ccy': 'ETH', 'max': '', 'min': ''},
>> ... ...
>> 'msg': ''}
9 Account 账户
9.1 账户接口总览
接口名称 | 函数名称 |
---|---|
查看账户余额 | get_balance |
查看持仓信息 | get_positions |
查看历史持仓信息 | get_positions_history |
查看账户持仓风险 | get_account_position_risk |
账单流水查询(近七天) | get_bills |
账单流水查询(近三月) | get_bills_archive |
查看账户配置 | get_config |
设置持仓模式 | set_set_position_mode |
设置杠杆倍数 | set_set_leverage |
获取最大可买卖/开仓数量 | get_max_size |
获取最大可用数量 | get_max_avail_size |
调整保证金 | set_margin_balance |
获取杠杆倍数 | get_leverage_info |
获取交易产品最大可借 | get_max_loan |
获取当前账户交易手续费费率 | get_trade_fee |
获取计息记录 | get_interest_accrued |
获取用户当前杠杆借币利率 | get_interest_rate |
期权greeks的PA/BS切换 | set_set_greeks |
逐仓交易设置 | set_set_isolated_mode |
查看账户最大可转余额 | get_max_withdrawal |
查看账户特定风险状态 | get_risk_state |
一键借币模式手动借币还币 | set_quick_margin_borrow_repay |
获取一键借币还币历史 | get_quick_margin_borrow_repay_history |
尊享借币还币 | set_borrow_repay |
获取尊享借币还币历史 | get_borrow_repay_history |
获取尊享借币计息记录 | get_vip_interest_accrued |
获取尊享借币扣息记录 | get_vip_interest_deducted |
尊享借币订单列表 | get_vip_loan_order_list |
尊享借币订单详情 | get_vip_loan_order_detail |
获取借币利率与限额 | get_interest_limits |
组合保证金的虚拟持仓保证金计算 | set_simulated_margin |
查看账户Greeks | get_greeks |
获取组合保证金模式全仓限制 | get_position_tiers |
设置组合保证金账户风险对冲模式 | set_set_riskOffset_type |
开通期权交易 | set_activate_option |
9.2 账户接口介绍
9.2.1 查看账户余额 get_balance
请求路径:/api/v5/account/balance 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 否 | 币种,如BTC支持多币种查询(不超过20个),币种之间半角逗号分隔 |
9.2.2 查看持仓信息 get_positions
请求路径:/api/v5/account/positions 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 否 | 产品类型MARGIN:币币杠杆SWAP:永续合约FUTURES:交割合约OPTION:期权instType和instId同时传入的时候会校验instId与instType是否一致。 |
instId | String | 否 | 交易产品ID,如:BTC-USD-190927-5000-C支持多个instId查询(不超过10个),半角逗号分隔 |
posId | String | 否 | 持仓ID支持多个posId查询(不超过20个),半角逗号分割 |
9.2.3 查看历史持仓信息 get_positions_history
请求路径:/api/v5/account/positions-history 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 否 | 产品类型MARGIN:币币杠杆SWAP:永续合约FUTURES:交割合约OPTION:期权 |
instId | String | 否 | 交易产品ID,如:BTC-USD-SWAP |
mgnMode | String | 否 | 保证金模式cross:全仓,isolated:逐仓 |
type | String | 否 | 平仓类型1:部分平仓;2:完全平仓;3:强平;4:强减;5:ADL自动减仓;状态叠加时,以最新的平仓类型为准状态为准。 |
posId | String | 否 | 持仓ID |
after | String | 否 | 查询仓位更新 (uTime) 之前的内容,值为时间戳,Unix 时间戳为毫秒数格式,如1597026383085 |
before | String | 否 | 查询仓位更新 (uTime) 之后的内容,值为时间戳,Unix 时间戳为毫秒数格式,如1597026383085 |
limit | String | 否 | 分页返回结果的数量,最大为100,默认100条 |
9.2.4 查看账户持仓风险 get_account_position_risk
请求路径:/api/v5/account/account-position-risk 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 否 | 产品类型MARGIN:币币杠杆SWAP:永续合约FUTURES:交割合约OPTION:期权 |
9.2.5 账单流水查询(近七天) get_bills
请求路径:/api/v5/account/bills 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 否 | 产品类型SPOT:币币MARGIN:币币杠杆SWAP:永续合约FUTURES:交割合约OPTION:期权 |
ccy | String | 否 | 账单币种 |
mgnMode | String | 否 | 仓位类型isolated:逐仓cross:全仓 |
ctType | String | 否 | linear: 正向合约inverse: 反向合约仅交割/永续有效 |
type | String | 否 | 账单类型1:划转2:交易3:交割4:自动换币5:强平6:保证金划转7:扣息8:资金费9:自动减仓10:穿仓补偿11:系统换币12:策略划拨13:对冲减仓14: 大宗交易15: 一键借币18: 分润22: 一键还债 |
subType | String | 否 | 账单子类型1:买入2:卖出3:开多4:开空5:平多6:平空9:市场借币扣息11:转入12:转出14:尊享借币扣息160:手动追加保证金161:手动减少保证金162:自动追加保证金114:自动换币买入115:自动换币卖出118:系统换币转入119:系统换币转出100:强减平多101:强减平空102:强减买入103:强减卖出104:强平平多105:强平平空106:强平买入107:强平卖出110:强平换币转入111:强平换币转出125:自动减仓平多126:自动减仓平空127:自动减仓买入128:自动减仓卖出131:对冲买入132:对冲卖出170:到期行权171:到期被行权172:到期作废112:交割平多113:交割平空117:交割/期权穿仓补偿173:资金费支出174:资金费收入200:系统转入201:手动转入202:系统转出203:手动转出204: 大宗交易买205: 大宗交易卖206: 大宗交易开多207: 大宗交易开空208: 大宗交易平多209: 大宗交易平空210: 手动借币211: 手动还币212: 自动借币213:自动还币"16:强制还币17:强制借币还息224: 还债转入225: 还债转出250: 分润支出;251: 分润退还;252: 分润收入; |
after | String | 否 | 请求此id之前(更旧的数据)的分页内容,传的值为对应接口的billId |
before | String | 否 | 请求此id之后(更新的数据)的分页内容,传的值为对应接口的billId |
begin | String | 否 | 筛选的开始时间戳,Unix 时间戳为毫秒数格式,如 1597026383085 |
end | String | 否 | 筛选的结束时间戳,Unix 时间戳为毫秒数格式,如 1597027383085 |
limit | String | 否 | 分页返回的结果集数量,最大为100,不填默认返回100条 |
9.2.6 账单流水查询(近三月) get_bills_archive
请求路径:/api/v5/account/bills-archive 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 否 | 产品类型SPOT:币币MARGIN:币币杠杆SWAP:永续合约FUTURES:交割合约OPTION:期权 |
ccy | String | 否 | 账单币种 |
mgnMode | String | 否 | 仓位类型isolated:逐仓cross:全仓 |
ctType | String | 否 | linear: 正向合约inverse: 反向合约仅交割/永续有效 |
type | String | 否 | 账单类型1:划转2:交易3:交割4:自动换币5:强平6:保证金划转7:扣息8:资金费9:自动减仓10:穿仓补偿11:系统换币12:策略划拨13:对冲减仓14: 大宗交易15: 一键借币22: 一键还债18: 分润 |
subType | String | 否 | 账单子类型1:买入2:卖出3:开多4:开空5:平多6:平空9:市场借币扣息11:转入12:转出14:尊享借币扣息160:手动追加保证金161:手动减少保证金162:自动追加保证金114:自动换币买入115:自动换币卖出118:系统换币转入119:系统换币转出100:强减平多101:强减平空102:强减买入103:强减卖出104:强平平多105:强平平空106:强平买入107:强平卖出110:强平换币转入111:强平换币转出125:自动减仓平多126:自动减仓平空127:自动减仓买入128:自动减仓卖出131:对冲买入132:对冲卖出170:到期行权171:到期被行权172:到期作废112:交割平多113:交割平空117:交割/期权穿仓补偿173:资金费支出174:资金费收入200:系统转入201:手动转入202:系统转出203:手动转出204: 大宗交易买205: 大宗交易卖206: 大宗交易开多207: 大宗交易开空208: 大宗交易平多209: 大宗交易平空210: 手动借币211: 手动还币212: 自动借币213:自动还币"16:强制还币17:强制借币还息224: 还债转入225: 还债转出250: 分润支出;251: 分润退还;252: 分润收入; |
after | String | 否 | 请求此id之前(更旧的数据)的分页内容,传的值为对应接口的billId |
before | String | 否 | 请求此id之后(更新的数据)的分页内容,传的值为对应接口的billId |
begin | String | 否 | 筛选的开始时间戳,Unix 时间戳为毫秒数格式,如 1597026383085 |
end | String | 否 | 筛选的结束时间戳,Unix 时间戳为毫秒数格式,如 1597027383085 |
limit | String | 否 | 分页返回的结果集数量,最大为100,不填默认返回100条 |
9.2.7 查看账户配置 get_config
请求路径:/api/v5/account/config 请求方法:GET
请求参数:无
9.2.8 设置持仓模式 set_set_position_mode
请求路径:/api/v5/account/set-position-mode 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
posMode | String | 是 | 持仓方式long_short_mode:双向持仓net_mode:单向持仓仅适用交割/永续 |
9.2.9 设置杠杆倍数 set_set_leverage
请求路径:/api/v5/account/set-leverage 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
lever | String | 是 | 杠杆倍数 |
mgnMode | String | 是 | 保证金模式isolated:逐仓cross:全仓如果ccy有效传值,该参数值只能为cross。 |
instId | String | 可选 | 产品ID:币对、合约instId和ccy至少要传一个;如果两个都传,默认使用instId |
ccy | String | 可选 | 保证金币种仅适用于跨币种保证金模式的全仓币币杠杆。设置自动借币的杠杆倍数时必填 |
posSide | String | 可选 | 持仓方向long:双向持仓多头short:双向持仓空头仅适用于逐仓交割/永续在双向持仓且保证金模式为逐仓条件下必填 |
9.2.10 获取最大可买卖/开仓数量 get_max_size
请求路径:/api/v5/account/max-size 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,如BTC-USDT支持多产品ID查询(不超过5个),半角逗号分隔 |
tdMode | String | 是 | 交易模式cross:全仓isolated:逐仓cash:非保证金 |
ccy | String | 可选 | 保证金币种,仅适用于单币种保证金模式下的全仓杠杆订单 |
px | String | 否 | 委托价格当不填委托价时会按当前最新成交价计算当指定多个产品ID查询时,忽略该参数,按当前最新成交价计算 |
leverage | String | 否 | 开仓杠杆倍数默认为当前杠杆倍数仅适用于币币杠杆/交割/永续 |
unSpotOffset | Boolean | 否 | true:禁止现货对冲,false:允许现货对冲默认为false仅适用于组合保证金模式开启现货对冲模式下有效,否则忽略此参数。 |
9.2.11 获取最大可用数量 get_max_avail_size
请求路径:/api/v5/account/max-avail-size 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,如BTC-USDT支持多产品ID查询(不超过5个),半角逗号分隔 |
tdMode | String | 是 | 交易模式cross:全仓isolated:逐仓cash:非保证金 |
ccy | String | 可选 | 保证金币种,仅适用于单币种保证金模式下的全仓杠杆订单 |
reduceOnly | Boolean | 否 | 是否为只减仓模式,仅适用于币币杠杆 |
unSpotOffset | Boolean | 否 | true:禁止现货对冲,false:允许现货对冲默认为false仅适用于组合保证金模式开启现货对冲模式下有效,否则忽略此参数。 |
quickMgnType | String | 否 | 一键借币类型,仅适用于杠杆逐仓的一键借币模式:manual:手动,auto_borrow: 自动借币,auto_repay: 自动还币默认是manual:手动 |
9.2.12 调整保证金 set_margin_balance
请求路径:/api/v5/account/position/margin-balance 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID |
posSide | String | 是 | 持仓方向,默认值是netlong:双向持仓多头short:双向持仓空头net:单向持仓 |
type | String | 是 | 增加/减少保证金add:增加,或者转入质押资产(一键借币)reduce:减少,或者转出质押资产(一键借币) |
amt | String | 是 | 增加或减少的保证金数量 |
ccy | String | 否 | 增加或减少的保证金的币种,仅适用于逐仓自主划转和一键借币模式下的币币杠杆 |
auto | Boolean | 否 | 是否自动借币转 true 或 false,默认false仅适用于逐仓自主划转保证金模式下的币币杠杆 |
loanTrans | Boolean | 否 | 是否支持跨币种保证金模式或组合保证金模式下的借币转入/转出true 或 false,默认false |
9.2.13 获取杠杆倍数 get_leverage_info
请求路径:/api/v5/account/leverage-info 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID支持多个instId查询,半角逗号分隔。instId个数不超过20个 |
mgnMode | String | 是 | 保证金模式isolated:逐仓cross:全仓 |
9.2.14 获取交易产品最大可借 get_max_loan
请求路径:/api/v5/account/max-loan 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品 ID,如BTC-USDT支持多产品ID查询(不超过5个),半角逗号分隔 |
mgnMode | String | 是 | 仓位类型isolated:逐仓cross:全仓 |
mgnCcy | String | 可选 | 保证金币种,如BTC币币杠杆单币种全仓情况下必须指定保证金币种 |
9.2.15 获取当前账户交易手续费费率 get_trade_fee
请求路径:/api/v5/account/trade-fee 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 是 | 产品类型SPOT:币币MARGIN:币币杠杆SWAP:永续合约FUTURES:交割合约OPTION:期权 |
instId | String | 否 | 产品ID,如BTC-USDT仅适用于instType为币币/币币杠杆 |
uly | String | 否 | 标的指数适用于交割/永续/期权,如BTC-USD |
instFamily | String | 否 | 交易品种适用于交割/永续/期权,如BTC-USD |
9.2.16 获取计息记录 get_interest_accrued
请求路径:/api/v5/account/interest-accrued 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
type | String | 否 | 借币类型1:尊享借币2:市场借币默认为市场借币 |
ccy | String | 否 | 借贷币种,如BTC仅适用于市场借币仅适用于币币杠杆 |
instId | String | 否 | 产品ID,如BTC-USDT仅适用于市场借币 |
mgnMode | String | 否 | 保证金模式cross:全仓isolated:逐仓仅适用于市场借币 |
after | String | 否 | 请求此时间戳之前(更旧的数据)的分页内容,Unix时间戳的毫秒数格式,如1597026383085 |
before | String | 否 | 请求此时间戳之后(更新的数据)的分页内容,Unix时间戳的毫秒数格式,如1597026383085 |
limit | String | 否 | 分页返回的结果集数量,最大为100,不填默认返回100条 |
9.2.17 获取用户当前杠杆借币利率 get_interest_rate
请求路径:/api/v5/account/interest-rate 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 否 | 币种 |
9.2.18 期权greeks的PA/BS切换 set_set_greeks
请求路径:/api/v5/account/set-greeks 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
greeksType | String | 是 | 希腊字母展示方式PA:币本位,BS:美元本位 |
9.2.19 逐仓交易设置 set_set_isolated_mode
请求路径:/api/v5/account/set-isolated-mode 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
isoMode | String | 是 | 逐仓保证金划转模式automatic:开仓自动划转autonomy:自主划转quick_margin:一键借币 |
type | String | 是 | 业务线类型MARGIN:币币杠杆CONTRACTS:合约 |
9.2.20 查看账户最大可转余额 get_max_withdrawal
请求路径:/api/v5/account/max-withdrawal 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 否 | 币种,如BTC支持多币种查询(不超过20个),币种之间半角逗号分隔 |
9.2.21 查看账户特定风险状态 get_risk_state
请求路径:/api/v5/account/risk-state 请求方法:GET
请求参数:无
9.2.22 一键借币模式手动借币还币 set_quick_margin_borrow_repay
请求路径:/api/v5/account/quick-margin-borrow-repay 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,如BTC-USDT |
ccy | String | 是 | 借贷币种,如BTC |
side | String | 是 | borrow:借币,repay:还币 |
amt | String | 是 | 借/还币的数量 |
9.2.23 获取一键借币还币历史 get_quick_margin_borrow_repay_history
请求路径:/api/v5/account/quick-margin-borrow-repay-history 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 否 | 产品ID,如 BTC-USDT |
ccy | String | 否 | 借贷币种,如BTC |
side | String | 否 | borrow:借币,repay:还币 |
after | String | 否 | 请求此 ID 之前(更旧的数据)的分页内容,传的值为对应接口的refId |
before | String | 否 | 请求此 ID 之后(更新的数据)的分页内容,传的值为对应接口的refId |
begin | String | 否 | 筛选的开始时间戳,Unix 时间戳为毫秒数格式,如 1597026383085 |
end | String | 否 | 筛选的结束时间戳,Unix 时间戳为毫秒数格式,如 1597027383085 |
limit | String | 否 | 返回结果的数量,最大为100,默认100条 |
9.2.24 尊享借币还币 set_borrow_repay
请求路径:/api/v5/account/borrow-repay 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 是 | 借贷币种,如BTC |
side | String | 是 | borrow:借币,repay:还币 |
amt | String | 是 | 借/还币的数量 |
ordId | String | 可选 | 借币订单ID,还币时,该字段必填 |
9.2.25 获取尊享借币还币历史 get_borrow_repay_history
请求路径:/api/v5/account/borrow-repay-history 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 否 | 借贷币种,如BTC |
after | String | 否 | 请求此时间戳之前(更旧的数据)的分页内容,Unix时间戳的毫秒数格式,如1597026383085 |
before | String | 否 | 请求此时间戳之后(更新的数据)的分页内容,Unix时间戳的毫秒数格式,如1597026383085 |
limit | String | 否 | 分页返回的结果集数量,最大为100,不填默认返回100条 |
9.2.26 获取尊享借币计息记录 get_vip_interest_accrued
请求路径:/api/v5/account/vip-interest-accrued 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 否 | 借贷币种,如BTC,仅适用于币币杠杆 |
ordId | String | 否 | 借币订单ID |
after | String | 否 | 请求此时间戳之前(更旧的数据)的分页内容,Unix时间戳的毫秒数格式,如1597026383085 |
before | String | 否 | 请求此时间戳之后(更新的数据)的分页内容,Unix时间戳的毫秒数格式,如1597026383085 |
limit | String | 否 | 分页返回的结果集数量,最大为100,不填默认返回100条 |
9.2.27 获取尊享借币扣息记录 get_vip_interest_deducted
请求路径:/api/v5/account/vip-interest-deducted 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ordId | String | 否 | 借币订单ID |
ccy | String | 否 | 借贷币种,如BTC,仅适用于币币杠杆 |
after | String | 否 | 请求此时间戳之前(更旧的数据)的分页内容,Unix时间戳的毫秒数格式,如1597026383085 |
before | String | 否 | 请求此时间戳之后(更新的数据)的分页内容,Unix时间戳的毫秒数格式,如1597026383085 |
limit | String | 否 | 分页返回的结果集数量,最大为100,不填默认返回100条 |
9.2.28 尊享借币订单列表 get_vip_loan_order_list
请求路径:/api/v5/account/vip-loan-order-list 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ordId | String | 否 | 借币订单ID |
state | String | 否 | 订单状态1:借币申请中2:借币中3:还币申请中4:已还币5:借币失败 |
ccy | String | 否 | 借贷币种,如 BTC |
after | String | 否 | 请求此ID之前(更旧的数据)的分页内容,传的值为对应接口的ordId |
before | String | 否 | 请求此ID之后(更新的数据)的分页内容,传的值为对应接口的ordId |
limit | String | 否 | 返回结果的数量,最大为100,默认100条 |
9.2.29 尊享借币订单详情 get_vip_loan_order_detail
请求路径:/api/v5/account/vip-loan-order-detail 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ordId | String | 是 | 借币订单ID |
ccy | String | 否 | 借贷币种,如 BTC |
after | String | 否 | 请求此时间戳之后(更新的数据)的分页内容,Unix时间戳的毫秒数格式,如1597026383085 |
before | String | 否 | 请求此时间戳之前(更旧的数据)的分页内容,Unix时间戳的毫秒数格式,如1597026383085 |
limit | String | 否 | 返回结果的数量,最大为100,默认100条 |
9.2.30 获取借币利率与限额 get_interest_limits
请求路径:/api/v5/account/interest-limits 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
type | String | 否 | 借币类型1:尊享借币2:市场借币默认为市场借币 |
ccy | String | 否 | 借贷币种,如BTC |
9.2.31 组合保证金的虚拟持仓保证金计算 set_simulated_margin
请求路径:/api/v5/account/simulated_margin 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 否 | 产品类型SWAP:永续合约FUTURES:交割合约OPTION:期权 |
inclRealPos | Boolean | 否 | 是否代入已有仓位true:调整被代入的已有仓位信息false:不代入已有仓位,仅使用simPos里新增的模拟仓位进行计算,默认为True |
spotOffsetType | String | 否 | 现货对冲模式1:现货对冲模式U模式 2:现货对冲模式币模式 3:衍生品模式默认是 3 |
simPos | Array | 否 | 调整持仓列表 |
> instId | String | 否 | 交易产品ID |
> pos | String | 否 | 持仓量 |
9.2.32 查看账户Greeks get_greeks
请求路径:/api/v5/account/greeks 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 否 | 币种,如BTC |
9.2.33 获取组合保证金模式全仓限制 get_position_tiers
请求路径:/api/v5/account/position-tiers 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 是 | 产品类型SWAP:永续合约FUTURES:交割合约OPTION:期权 |
uly | String | 可选 | 标的指数,如BTC-USDT,支持多个查询(不超过3个),uly之间半角逗号分隔适用于交割/永续/期权uly与instFamily必须传一个,若传两个,以instFamily为主 |
instFamily | String | 可选 | 交易品种,如BTC-USDT,支持多个查询(不超过5个),instFamily之间半角逗号分隔适用于交割/永续/期权uly与instFamily必须传一个,若传两个,以instFamily为主 |
9.2.34 设置组合保证金账户风险对冲模式 set_set_riskOffset_type
请求路径:/api/v5/account/set-riskOffset-type 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
type | String | 是 | 风险对冲模式1:现货对冲(USDT)2:现货对冲(币)3:衍生品对冲 |
9.2.35 开通期权交易 set_activate_option
请求路径:/api/v5/account/activate-option 请求方法:POST
请求参数:无
9.3 例子
账户模块需要秘钥
from okx_api import Account
from pprint import pprint
if __name__ == '__main__':
# 账户模块需要秘钥
key = '****'
secret = '****'
passphrase = '****'
flag = '0'
account = Account(key, secret, passphrase, flag)
# 查看账户USDT余额
result = account.get_balance('USDT')
pprint(result)
输出:
>> {'code': '0',
>> 'data': [{'adjEq': '',
>> 'details': [{'availBal': '498.00000000169007',
>> 'availEq': '498.00000000169007',
>> 'cashBal': '500.00000000169007',
>> 'ccy': 'USDT',
>> 'crossLiab': '',
>> 'disEq': '500.00000000169007',
>> 'eq': '500.00000000169007',
>> 'eqUsd': '500.00000000169007',
>> 'fixedBal': '0',
>> 'frozenBal': '2',
>> 'interest': '',
>> 'isoEq': '0',
>> 'isoLiab': '',
>> 'isoUpl': '0',
>> 'liab': '',
>> 'maxLoan': '',
>> 'mgnRatio': '',
>> 'notionalLever': '0',
>> 'ordFrozen': '2',
>> 'spotInUseAmt': '',
>> 'stgyEq': '0',
>> 'twap': '0',
>> 'uTime': '1672592968994',
>> 'upl': '0',
>> 'uplLiab': ''}],
>> 'imr': '',
>> 'isoEq': '0',
>> 'mgnRatio': '',
>> 'mmr': '',
>> 'notionalUsd': '',
>> 'ordFroz': '',
>> 'totalEq': '500.22421655441127',
>> 'uTime': '1675570865890'}],
>> 'msg': ''}
10 子账户 SubAccount
10.1 子账户接口总览
接口名称 | 函数名称 |
---|---|
查看子账户列表 | get_list |
重置子账户的APIKey | set_modify_apikey |
获取子账户交易账户余额 | get_account_balances |
获取子账户资金账户余额 | get_asset_balances |
查询子账户转账记录 | get_bills |
子账户间资金划转 | set_transfer |
设置子账户主动转出权限 | set_set_transfer_out |
查看被托管的子账户列表 | get_entrust_subaccount_list |
获取用户的节点返佣信息 | get_if_rebate |
10.2 子账户接口介绍
10.2.1 查看子账户列表 get_list
请求路径:/api/v5/users/subaccount/list 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
enable | String | 否 | 子账户状态,true:正常使用false:冻结 |
subAcct | String | 否 | 子账户名称 |
after | String | 否 | 查询在此之前的内容,值为时间戳,Unix时间戳为毫秒数格式 |
before | String | 否 | 查询在此之后的内容,值为时间戳,Unix时间戳为毫秒数格式 |
limit | String | 否 | 分页返回的结果集数量,最大为100,不填默认返回100条 |
10.2.2 重置子账户的APIKey set_modify_apikey
请求路径:/api/v5/users/subaccount/modify-apikey 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
subAcct | String | 是 | 子账户名称 |
apiKey | String | 是 | 子账户API的公钥 |
label | String | 否 | 子账户APIKey的备注,如果填写该字段,则该字段会被重置 |
perm | String | 否 | 子账户APIKey权限read_only:只读 ;trade:交易多个权限用半角逗号隔开。如果填写该字段,则该字段会被重置 |
ip | String | 否 | 子账户APIKey绑定ip地址,多个ip用半角逗号隔开,最多支持20个ip。如果填写该字段,那该字段会被重置如果ip传"",则表示解除IP绑定 |
10.2.3 获取子账户交易账户余额 get_account_balances
请求路径:/api/v5/account/subaccount/balances 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
subAcct | String | 是 | 子账户名称 |
10.2.4 获取子账户资金账户余额 get_asset_balances
请求路径:/api/v5/asset/subaccount/balances 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 否 | 币种,如BTC支持多币种查询(不超过20个),币种之间半角逗号分隔 |
10.2.5 查询子账户转账记录 get_bills
请求路径:/api/v5/asset/subaccount/bills 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 否 | 币种,如 BTC |
type | String | 否 | 0: 母账户转子账户 ;1: 子账户转母账户 |
subAcct | String | 否 | 子账户名称 |
after | String | 否 | 查询在此之前的内容,值为时间戳,Unix时间戳为毫秒数格式 |
before | String | 否 | 查询在此之后的内容,值为时间戳,Unix时间戳为毫秒数格式 |
limit | String | 否 | 分页返回的结果集数量,最大为100,不填默认返回100条 |
10.2.6 子账户间资金划转 set_transfer
请求路径:/api/v5/asset/subaccount/transfer 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 是 | 币种 |
amt | String | 是 | 划转数量 |
from | String | 是 | 6:资金账户18:交易账户 |
to | String | 是 | 6:资金账户18:交易账户 |
fromSubAccount | String | 是 | 转出子账户的子账户名称 |
toSubAccount | String | 是 | 转入子账户的子账户名称 |
loanTrans | Boolean | 否 | 是否支持跨币种保证金模式或组合保证金模式下的借币转入/转出true 或 false,默认false |
omitPosRisk | String | 否 | 是否忽略仓位风险默认为false仅适用于组合保证金模式 |
10.2.7 设置子账户主动转出权限 set_set_transfer_out
请求路径:/api/v5/users/subaccount/set-transfer-out 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
subAcct | String | 是 | 子账户名称,支持设置多个(不超过20个),子账户名称之间半角逗号分隔 |
canTransOut | Boolean | 否 | 是否可以主动转出,默认为truefalse:不可转出true:可以转出 |
10.2.8 查看被托管的子账户列表 get_entrust_subaccount_list
请求路径:/api/v5/users/entrust-subaccount-list 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
subAcct | String | 否 | 子账户名称 |
10.2.9 获取用户的节点返佣信息 get_if_rebate
请求路径:/api/v5/users/partner/if-rebate 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
apiKey | String | 是 | 用户的 API key |
10.3 例子
子账户模块需要秘钥
from okx_api import SubAccount
from pprint import pprint
if __name__ == '__main__':
# 子账户模块需要秘钥
key = '****'
secret = '****'
passphrase = '****'
flag = '0'
subAccount = SubAccount(key, secret, passphrase, flag)
# 查看子账户列表
result = subAccount.get_list()
pprint(result)
输出:
>> {'code': '0', 'data': [], 'msg': ''}
11 网格交易 Grid
11.1 网格交易接口总览
接口名称 | 函数名称 |
---|---|
网格策略委托下单 | set_order_algo |
修改网格策略订单 | set_amend_order_algo |
网格策略停止 | set_stop_order_algo |
获取未完成网格策略委托单列表 | get_orders_algo_pending |
获取历史网格策略委托单列表 | get_orders_algo_history |
获取网格策略委托订单详情 | get_orders_algo_details |
获取网格策略委托子订单信息 | get_sub_orders |
获取网格策略委托持仓 | get_positions |
现货/天地网格提取利润 | set_withdraw_income |
调整保证金计算 | set_compute_margin_balance |
调整保证金 | set_margin_balance |
网格策略智能回测(公共) | get_ai_param |
11.2 网格交易接口介绍
11.2.1 网格策略委托下单 set_order_algo
请求路径:/api/v5/tradingBot/grid/order-algo 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,如BTC-USDT |
algoOrdType | String | 是 | 策略订单类型grid:现货网格委托contract_grid:合约网格委托moon_grid:天地网格委托 |
maxPx | String | 是 | 区间最高价格 |
minPx | String | 是 | 区间最低价格 |
gridNum | String | 是 | 网格数量 |
runType | String | 否 | 网格类型1:等差,2:等比默认为等差天地网格只支持2 |
tpTriggerPx | String | 否 | 止盈触发价适用于现货网格/合约网格 |
slTriggerPx | String | 否 | 止损触发价适用于现货网格/合约网格 |
tag | String | 否 | 订单标签 |
11.2.2 修改网格策略订单 set_amend_order_algo
请求路径:/api/v5/tradingBot/grid/amend-order-algo 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
algoId | String | 是 | 策略订单ID |
instId | String | 是 | 产品ID,如BTC-USDT-SWAP |
slTriggerPx | String | 可选 | 新的止损触发价当值为""则代表取消止损触发价slTriggerPx、tpTriggerPx至少要传一个值 |
tpTriggerPx | String | 可选 | 新的止盈触发价当值为""则代表取消止盈触发价 |
11.2.3 网格策略停止 set_stop_order_algo
请求路径:/api/v5/tradingBot/grid/stop-order-algo 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
algoId | String | 是 | 策略订单ID |
instId | String | 是 | 产品ID,如BTC-USDT |
algoOrdType | String | 是 | 策略订单类型grid:现货网格委托contract_grid:合约网格委托moon_grid:天地网格委托 |
stopType | String | 是 | 网格策略停止类型现货网格/天地网格1:卖出交易币,2:不卖出交易币合约网格1:市价全平 |
11.2.4 获取未完成网格策略委托单列表 get_orders_algo_pending
请求路径:/api/v5/tradingBot/grid/orders-algo-pending 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
algoOrdType | String | 是 | 策略订单类型grid:现货网格委托contract_grid:合约网格委托moon_grid:天地网格委托 |
algoId | String | 否 | 策略订单ID |
instId | String | 否 | 产品ID,如BTC-USDT |
instType | String | 否 | 产品类型SPOT:币币MARGIN:杠杆FUTURES:交割合约SWAP:永续合约 |
after | String | 否 | 请求此ID之前(更旧的数据)的分页内容,传的值为对应接口的algoId |
before | String | 否 | 请求此ID之后(更新的数据)的分页内容,传的值为对应接口的algoId |
limit | String | 否 | 返回结果的数量,最大为100,默认100条 |
11.2.5 获取历史网格策略委托单列表 get_orders_algo_history
请求路径:/api/v5/tradingBot/grid/orders-algo-history 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
algoOrdType | String | 是 | 策略订单类型grid:现货网格委托contract_grid:合约网格委托moon_grid:天地网格委托 |
algoId | String | 否 | 策略订单ID |
instId | String | 否 | 产品ID,如BTC-USDT |
instType | String | 否 | 产品类型SPOT:币币MARGIN:杠杆FUTURES:交割合约SWAP:永续合约 |
after | String | 否 | 请求此ID之前(更旧的数据)的分页内容,传的值为对应接口的algoId |
before | String | 否 | 请求此ID之后(更新的数据)的分页内容,传的值为对应接口的algoId |
limit | String | 否 | 返回结果的数量,最大为100,默认100条 |
11.2.6 获取网格策略委托订单详情 get_orders_algo_details
请求路径:/api/v5/tradingBot/grid/orders-algo-details 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
algoOrdType | String | 是 | 策略订单类型grid:现货网格委托contract_grid:合约网格委托moon_grid:天地网格委托 |
algoId | String | 是 | 策略订单ID |
11.2.7 获取网格策略委托子订单信息 get_sub_orders
请求路径:/api/v5/tradingBot/grid/sub-orders 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
algoId | String | 是 | 策略订单ID |
algoOrdType | String | 是 | 策略订单类型grid:现货网格委托contract_grid:合约网格委托moon_grid:天地网格委托 |
type | String | 是 | 子订单状态live:未成交,filled:已成交 |
groupId | String | 否 | 组ID |
after | String | 否 | 请求此ID之前(更旧的数据)的分页内容,传的值为对应接口的ordId |
before | String | 否 | 请求此ID之后(更新的数据)的分页内容,传的值为对应接口的ordId |
limit | String | 否 | 返回结果的数量,最大为100,默认100条 |
11.2.8 获取网格策略委托持仓 get_positions
请求路径:/api/v5/tradingBot/grid/positions 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
algoOrdType | String | 是 | 订单类型contract_grid:合约网格委托 |
algoId | String | 是 | 策略订单ID |
11.2.9 现货/天地网格提取利润 set_withdraw_income
请求路径:/api/v5/tradingBot/grid/withdraw-income 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
algoId | String | 是 | 策略订单ID |
11.2.10 调整保证金计算 set_compute_margin_balance
请求路径:/api/v5/tradingBot/grid/compute-margin-balance 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
algoId | String | 是 | 策略订单ID |
type | String | 是 | 调整保证金类型add:增加,reduce:减少 |
amt | String | 否 | 调整保证金数量 |
11.2.11 调整保证金 set_margin_balance
请求路径:/api/v5/tradingBot/grid/margin-balance 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
algoId | String | 是 | 策略订单ID |
type | String | 是 | 调整保证金类型add:增加,reduce:减少 |
amt | String | 可选 | 调整保证金数量amt和percent必须传一个 |
percent | String | 可选 | 调整保证金百分比 |
11.2.12 网格策略智能回测(公共) get_ai_param
请求路径:/api/v5/tradingBot/grid/ai-param 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
algoOrdType | String | 是 | 策略订单类型grid:现货网格委托contract_grid:合约网格委托moon_grid:天地网格委托 |
instId | String | 是 | 产品ID,如BTC-USDT |
direction | String | 可选 | 合约网格类型long:做多,short:做空,neutral:中性合约网格必填 |
duration | String | 否 | 回测周期7D:7天,30D:30天,180D:180天默认现货网格为7D,天地网格为180D |
12 赚币 Staking
12.1 赚币接口总览
接口名称 | 函数名称 |
---|---|
查看项目 | get_offers |
申购项目 | set_purchase |
赎回项目 | set_redeem |
撤销项目申购/赎回 | set_cancel |
查看活跃订单 | get_orders_active |
查看历史订单 | get_orders_history |
12.2 赚币接口介绍
12.2.1 查看项目 get_offers
请求路径:/api/v5/finance/staking-defi/offers 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
productId | String | 否 | 项目ID |
protocolType | String | 否 | 项目类型staking:锁仓挖矿defi:DEFI |
ccy | String | 否 | 投资币种,如BTC |
12.2.2 申购项目 set_purchase
请求路径:/api/v5/finance/staking-defi/purchase 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
productId | String | 是 | 项目ID |
investData | Array | 是 | 投资信息 |
> ccy | String | 是 | 投资币种,如BTC |
> amt | String | 是 | 投资数量 |
term | String | 可选 | 投资期限定期项目必须指定投资期限 |
tag | String | 否 | 订单标签字母(区分大小写)与数字的组合,可以是纯字母、纯数字,且长度在1-16位之间 |
12.2.3 赎回项目 set_redeem
请求路径:/api/v5/finance/staking-defi/redeem 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ordId | String | 是 | 订单ID |
protocolType | String | 是 | 项目类型staking:锁仓挖矿defi:DEFI |
allowEarlyRedeem | Boolean | 否 | 是否提前赎回默认为false |
12.2.4 撤销项目申购/赎回 set_cancel
请求路径:/api/v5/finance/staking-defi/cancel 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ordId | String | 是 | 订单ID |
protocolType | String | 是 | 项目类型staking:锁仓挖矿defi:DEFI |
12.2.5 查看活跃订单 get_orders_active
请求路径:/api/v5/finance/staking-defi/orders-active 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
productId | String | 否 | 项目ID |
protocolType | String | 否 | 项目类型staking:锁仓挖矿defi:DEFI |
ccy | String | 否 | 投资币种,如BTC |
state | String | 否 | 订单状态8: 待上车(预约中)13: 订单取消中9: 上链中1: 收益中2: 赎回中 |
12.2.6 查看历史订单 get_orders_history
请求路径:/api/v5/finance/staking-defi/orders-history 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
productId | String | 否 | 项目ID |
protocolType | String | 否 | 项目类型staking:锁仓挖矿defi:DEFI |
ccy | String | 否 | 投资币种,如BTC |
after | String | 否 | 请求此ID之前(更旧的数据)的分页内容,传的值为对应接口的ordId |
before | String | 否 | 请求此ID之后(更新的数据)的分页内容,传的值为对应接口的ordId |
limit | String | 否 | 返回结果的数量,默认100条,最大值为100条 |
12.3 例子
赚币模块需要秘钥
from okx_api import Staking
from pprint import pprint
if __name__ == '__main__':
# 赚币模块需要秘钥
key = '****'
secret = '****'
passphrase = '****'
flag = '0'
staking = Staking(key, secret, passphrase, flag)
# 查看项目
result = staking.get_offers()
pprint(result)
输出:
>> {'code': '0',
>> 'data': [{'apy': '0.0673',
>> 'ccy': 'USDT',
>> 'earlyRedeem': False,
>> 'earningData': [{'ccy': 'SUSHI', 'earningType': '1'}],
>> 'investData': [{'bal': '1248.07712484',
>> 'ccy': 'USDT',
>> 'maxAmt': '0',
>> 'minAmt': '100'},
>> {'bal': '0',
>> 'ccy': 'ETH',
>> 'maxAmt': '0',
>> 'minAmt': '0.06017661'}],
>> 'productId': '1507',
>> 'protocol': 'Sushiswap',
>> 'protocolType': 'defi',
>> 'state': 'purchasable',
>> 'term': '0'},
>> ... ...
>> ]
>> 'msg': ''}
13 跟单接口CopyTrading
跟单接口权限需要单独申请
13.1 跟单接口总览
接口名称 | 函数名称 |
---|---|
交易员获取当前带单 | get_current_subpositions |
交易员获取历史带单 | get_subpositions_history |
交易员止盈止损 | set_algo_order |
交易员平仓 | set_close_subposition |
交易员获取带单合约 | get_instruments |
交易员修改带单合约 | set_set_instruments |
交易员历史分润明细 | get_profit_sharing_details |
交易员历史分润汇总 | get_total_profit_sharing |
交易员待分润明细 | get_unrealized_profit_sharing_details |
13.2 跟单接口介绍
13.2.1 交易员获取当前带单 get_current_subpositions
请求路径:/api/v5/copytrading/current-subpositions 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 否 | 产品ID ,如BTC-USDT-SWAP |
13.2.2 交易员获取历史带单 get_subpositions_history
请求路径:/api/v5/copytrading/subpositions-history 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 否 | 产品ID ,如BTC-USDT-SWAP |
after | String | 否 | 请求此id之前(更旧的数据)的分页内容,传的值为对应接口的subPosId |
before | String | 否 | 请求此id之后(更新的数据)的分页内容,传的值为对应接口的subPosId |
limit | String | 否 | 分页返回的结果集数量,最大为100,不填默认返回100条 |
13.2.3 交易员止盈止损 set_algo_order
请求路径:/api/v5/copytrading/algo-order 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
subPosId | String | 是 | 带单仓位ID |
tpTriggerPx | String | 可选 | 止盈触发价,触发后以市价进行委托,tpTriggerPx 和 slTriggerPx 至少需要填写一个 |
slTriggerPx | String | 可选 | 止损触发价,触发后以市价进行委托 |
tpTriggerPxType | String | 否 | 止盈触发价类型last:最新价格index:指数价格mark:标记价格默认为last |
slTriggerPxType | String | 否 | 止损触发价类型last:最新价格index:指数价格mark:标记价格默认为last |
13.2.4 交易员平仓 set_close_subposition
请求路径:/api/v5/copytrading/close-subposition 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
subPosId | String | 是 | 带单仓位ID |
13.2.5 交易员获取带单合约 get_instruments
请求路径:/api/v5/copytrading/instruments 请求方法:GET
请求参数:无
13.2.6 交易员修改带单合约 set_set_instruments
请求路径:/api/v5/copytrading/set-instruments 请求方法:POST
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,如 BTC-USDT-SWAP,多个产品用半角逗号隔开,最多支持10个产品ID |
13.2.7 交易员历史分润明细 get_profit_sharing_details
请求路径:/api/v5/copytrading/profit-sharing-details 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
after | String | 否 | 请求此id之前(更旧的数据)的分页内容,传的值为对应接口的profitSharingId |
before | String | 否 | 请求此id之后(更新的数据)的分页内容,传的值为对应接口的profitSharingId |
limit | String | 否 | 分页返回的结果集数量,最大为100,不填默认返回100条 |
13.2.8 交易员历史分润汇总 get_total_profit_sharing
请求路径:/api/v5/copytrading/total-profit-sharing 请求方法:GET
请求参数:无
13.2.9 交易员待分润明细 get_unrealized_profit_sharing_details
请求路径:/api/v5/copytrading/unrealized-profit-sharing-details 请求方法:GET
请求参数:无
14 行情数据 Market
14.1 行情数据接口总览
接口名称 | 函数名称 |
---|---|
获取所有产品行情信息 | get_tickers |
获取单个产品行情信息 | get_ticker |
获取指数行情 | get_index_tickers |
获取产品深度 | get_books |
获取产品轻量深度 | get_books_lite |
获取交易产品K线数据 | get_candles |
获取交易产品历史K线数据 | get_history_candles |
获取指数K线数据 | get_index_candles |
获取指数历史K线数据 | get_history_index_candles |
获取标记价格K线数据 | get_mark_price_candles |
获取标记价格历史K线数据 | get_history_mark_price_candles |
获取交易产品公共成交数据 | get_trades |
获取交易产品公共历史成交数据 | get_history_trades |
获取期权品种公共成交数据 | get_instrument_family_trades |
获取平台24小时总成交量 | get_platform_24_volume |
Oracle 上链交易数据 | get_open_oracle |
获取法币汇率 | get_exchange_rate |
获取指数成分数据 | get_index_components |
获取大宗交易所有产品行情信息 | get_block_tickers |
获取大宗交易单个产品行情信息 | get_block_ticker |
获取大宗交易公共成交数据 | get_block_trades |
14.2 行情数据接口介绍
14.2.1 获取所有产品行情信息 get_tickers
请求路径:/api/v5/market/tickers 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 是 | 产品类型SPOT:币币SWAP:永续合约FUTURES:交割合约OPTION:期权 |
uly | String | 否 | 标的指数适用于交割/永续/期权,如BTC-USD |
instFamily | String | 否 | 交易品种适用于交割/永续/期权,如BTC-USD |
14.2.2 获取单个产品行情信息 get_ticker
请求路径:/api/v5/market/ticker 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,如 BTC-USD-SWAP |
14.2.3 获取指数行情 get_index_tickers
请求路径:/api/v5/market/index-tickers 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
quoteCcy | String | 可选 | 指数计价单位, 目前只有USD/USDT/BTC为计价单位的指数,quoteCcy和instId必须填写一个 |
instId | String | 可选 | 指数,如BTC-USD |
14.2.4 获取产品深度 get_books
请求路径:/api/v5/market/books 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,如BTC-USDT |
sz | String | 否 | 深度档位数量,最大值可传400,即买卖深度共800条不填写此参数,默认返回1档深度数据 |
14.2.5 获取产品轻量深度 get_books_lite
请求路径:/api/v5/market/books-lite 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,如BTC-USDT |
14.2.6 获取交易产品K线数据 get_candles
请求路径:/api/v5/market/candles 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,如BTC-USD-190927-5000-C |
bar | String | 否 | 时间粒度,默认值1m如 [1m/3m/5m/15m/30m/1H/2H/4H]香港时间开盘价k线:[6H/12H/1D/2D/3D/1W/1M/3M]UTC时间开盘价k线:[/6Hutc/12Hutc/1Dutc/2Dutc/3Dutc/1Wutc/1Mutc/3Mutc] |
after | String | 否 | 请求此时间戳之前(更旧的数据)的分页内容,传的值为对应接口的ts |
before | String | 否 | 请求此时间戳之后(更新的数据)的分页内容,传的值为对应接口的ts |
limit | String | 否 | 分页返回的结果集数量,最大为300,不填默认返回100条 |
14.2.7 获取交易产品历史K线数据 get_history_candles
请求路径:/api/v5/market/history-candles 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,如BTC-USD-200927 |
after | String | 否 | 请求此时间戳之前(更旧的数据)的分页内容,传的值为对应接口的ts |
before | String | 否 | 请求此时间戳之后(更新的数据)的分页内容,传的值为对应接口的ts |
bar | String | 否 | 时间粒度,默认值1m如 [1m/3m/5m/15m/30m/1H/2H/4H]香港时间开盘价k线:[6H/12H/1D/2D/3D/1W/1M/3M]UTC时间开盘价k线:[6Hutc/12Hutc/1Dutc/2Dutc/3Dutc/1Wutc/1Mutc/3Mutc] |
limit | String | 否 | 分页返回的结果集数量,最大为100,不填默认返回100条 |
14.2.8 获取指数K线数据 get_index_candles
请求路径:/api/v5/market/index-candles 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 现货指数,如BTC-USD |
after | String | 否 | 请求此时间戳之前(更旧的数据)的分页内容,传的值为对应接口的ts |
before | String | 否 | 请求此时间戳之后(更新的数据)的分页内容,传的值为对应接口的ts |
bar | String | 否 | 时间粒度,默认值1m如 [1m/3m/5m/15m/30m/1H/2H/4H]香港时间开盘价k线:[6H/12H/1D/1W/1M/3M]UTC时间开盘价k线:[/6Hutc/12Hutc/1Dutc/1Wutc/1Mutc/3Mutc] |
limit | String | 否 | 分页返回的结果集数量,最大为100,不填默认返回100条 |
14.2.9 获取指数历史K线数据 get_history_index_candles
请求路径:/api/v5/market/history-index-candles 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 现货指数,如BTC-USD |
after | String | 否 | 请求此时间戳之前(更旧的数据)的分页内容,传的值为对应接口的ts |
before | String | 否 | 请求此时间戳之后(更新的数据)的分页内容,传的值为对应接口的ts |
bar | String | 否 | 时间粒度,默认值1m如 [1m/3m/5m/15m/30m/1H/2H/4H]香港时间开盘价k线:[6H/12H/1D/1W/1M]UTC时间开盘价k线:[/6Hutc/12Hutc/1Dutc/1Wutc/1Mutc] |
limit | String | 否 | 分页返回的结果集数量,最大为100,不填默认返回100条 |
14.2.10 获取标记价格K线数据 get_mark_price_candles
请求路径:/api/v5/market/mark-price-candles 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,如BTC-USD-SWAP |
after | String | 否 | 请求此时间戳之前(更旧的数据)的分页内容,传的值为对应接口的ts |
before | String | 否 | 请求此时间戳之后(更新的数据)的分页内容,传的值为对应接口的ts |
bar | String | 否 | 时间粒度,默认值1m如 [1m/3m/5m/15m/30m/1H/2H/4H]香港时间开盘价k线:[6H/12H/1D/1W/1M/3M]UTC时间开盘价k线:[6Hutc/12Hutc/1Dutc/1Wutc/1Mutc/3Mutc] |
limit | String | 否 | 分页返回的结果集数量,最大为100,不填默认返回100条 |
14.2.11 获取标记价格历史K线数据 get_history_mark_price_candles
请求路径:/api/v5/market/history-mark-price-candles 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,如BTC-USD-SWAP |
after | String | 否 | 请求此时间戳之前(更旧的数据)的分页内容,传的值为对应接口的ts |
before | String | 否 | 请求此时间戳之后(更新的数据)的分页内容,传的值为对应接口的ts |
bar | String | 否 | 时间粒度,默认值1m如 [1m/3m/5m/15m/30m/1H/2H/4H]香港时间开盘价k线:[6H/12H/1D/1W/1M]UTC时间开盘价k线:[6Hutc/12Hutc/1Dutc/1Wutc/1Mutc] |
limit | String | 否 | 分页返回的结果集数量,最大为100,不填默认返回100条 |
14.2.12 获取交易产品公共成交数据 get_trades
请求路径:/api/v5/market/trades 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,如BTC-USDT |
limit | String | 否 | 分页返回的结果集数量,最大为500,不填默认返回100条 |
14.2.13 获取交易产品公共历史成交数据 get_history_trades
请求路径:/api/v5/market/history-trades 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,如BTC-USDT |
type | String | 否 | 分页类型1:tradeId 分页2:时间戳分页默认为1:tradeId 分页 |
after | String | 否 | 请求此 ID 或 ts 之前的分页内容,传的值为对应接口的 tradeId 或 ts |
before | String | 否 | 请求此ID之后(更新的数据)的分页内容,传的值为对应接口的 tradeId。不支持时间戳分页。 |
limit | String | 否 | 分页返回的结果集数量,最大为100,不填默认返回100条 |
14.2.14 获取期权品种公共成交数据 get_instrument_family_trades
请求路径:/api/v5/market/option/instrument-family-trades 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instFamily | String | 是 | 交易品种,如 BTC-USD,适用于期权 |
14.2.15 获取平台24小时总成交量 get_platform_24_volume
请求路径:/api/v5/market/platform-24-volume 请求方法:GET
请求参数:无
14.2.16 Oracle 上链交易数据 get_open_oracle
请求路径:/api/v5/market/open-oracle 请求方法:GET
请求参数:无
14.2.17 获取法币汇率 get_exchange_rate
请求路径:/api/v5/market/exchange-rate 请求方法:GET
请求参数:无
14.2.18 获取指数成分数据 get_index_components
请求路径:/api/v5/market/index-components 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
index | String | 是 | 指数,如BTC-USDT |
14.2.19 获取大宗交易所有产品行情信息 get_block_tickers
请求路径:/api/v5/market/block-tickers 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 是 | 产品类型SPOT:币币SWAP:永续合约FUTURES:交割合约OPTION:期权 |
uly | String | 否 | 标的指数适用于交割/永续/期权,如BTC-USD |
instFamily | String | 否 | 交易品种适用于交割/永续/期权,如BTC-USD |
14.2.20 获取大宗交易单个产品行情信息 get_block_ticker
请求路径:/api/v5/market/block-ticker 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,如 BTC-USD-SWAP |
14.2.21 获取大宗交易公共成交数据 get_block_trades
请求路径:/api/v5/market/block-trades 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,如BTC-USDT |
14.3 例子
行情数据模块无需秘钥
from okx_api import Market
from pprint import pprint
if __name__ == '__main__':
# 行情数据模块无需秘钥
key = ''
secret = ''
passphrase = ''
flag = '0'
market = Market(key, secret, passphrase, flag)
# 获取所有产品行情信息
result = market.get_tickers(instType='SPOT') # SPOT币币
pprint(result)
输出:
>> {'code': '0',
>> 'data': [{'askPx': '0.00000666',
>> 'askSz': '38.2674',
>> 'bidPx': '0.00000657',
>> 'bidSz': '280.5009',
>> 'high24h': '0.00000685',
>> 'instId': 'BCD-BTC',
>> 'instType': 'SPOT',
>> 'last': '0.00000664',
>> 'lastSz': '12.2992',
>> 'low24h': '0.00000644',
>> 'open24h': '0.00000656',
>> 'sodUtc0': '0.00000658',
>> 'sodUtc8': '0.00000674',
>> 'ts': '1675572360017',
>> 'vol24h': '40196.8587',
>> 'volCcy24h': '0.2515'},
>> ... ...
>> ],
>> 'msg': ''}
15 公共数据 Public
15.1 公共数据接口总览
接口名称 | 函数名称 |
---|---|
获取交易产品基础信息 | get_instruments |
获取交割和行权记录 | get_delivery_exercise_history |
获取持仓总量 | get_open_interest |
获取永续合约当前资金费率 | get_funding_rate |
获取永续合约历史资金费率 | get_funding_rate_history |
获取限价 | get_price_limit |
获取期权定价 | get_opt_summary |
获取预估交割/行权价格 | get_estimated_price |
获取免息额度和币种折算率等级 | get_discount_rate_interest_free_quota |
获取系统时间 | get_time |
获取平台公共爆仓单信息 | get_liquidation_orders |
获取标记价格 | get_mark_price |
获取衍生品仓位档位 | get_position_tiers |
获取市场借币杠杆利率和借币限额 | get_interest_rate_loan_quota |
获取尊享借币杠杆利率和借币限额 | get_vip_interest_rate_loan_quota |
获取衍生品标的指数 | get_underlying |
获取风险准备金余额 | get_insurance_fund |
张币转换 | get_convert_contract_coin |
获取期权公共成交数据 | get_option_trades |
15.2 公共数据接口介绍
15.2.1 获取交易产品基础信息 get_instruments
请求路径:/api/v5/public/instruments 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 是 | 产品类型SPOT:币币MARGIN:币币杠杆SWAP:永续合约FUTURES:交割合约OPTION:期权 |
uly | String | 可选 | 标的指数,仅适用于交割/永续/期权,期权必填 |
instFamily | String | 否 | 交易品种,仅适用于交割/永续/期权 |
instId | String | 否 | 产品ID |
15.2.2 获取交割和行权记录 get_delivery_exercise_history
请求路径:/api/v5/public/delivery-exercise-history 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 是 | 产品类型FUTURES:交割合约OPTION:期权 |
uly | String | 可选 | 标的指数uly与instFamily必须传一个,若传两个,以instFamily为主 |
instFamily | String | 可选 | 交易品种uly与instFamily必须传一个,若传两个,以instFamily为主 |
after | String | 否 | 请求此时间戳之前(更旧的数据)的分页内容,传的值为对应接口的ts |
before | String | 否 | 请求此时间戳之后(更新的数据)的分页内容,传的值为对应接口的ts |
limit | String | 否 | 分页返回的结果集数量,最大为100,不填默认返回100条 |
15.2.3 获取持仓总量 get_open_interest
请求路径:/api/v5/public/open-interest 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 是 | 产品类型SWAP:永续合约FUTURES:交割合约OPTION:期权 |
uly | String | 可选 | 标的指数适用于交割/永续/期权期权情况下,uly和instFamily必须传一个 |
instFamily | String | 可选 | 交易品种适用于交割/永续/期权期权情况下,uly和instFamily必须传一个 |
instId | String | 否 | 产品ID,如BTC-USD-180216仅适用于交割/永续/期权 |
15.2.4 获取永续合约当前资金费率 get_funding_rate
请求路径:/api/v5/public/funding-rate 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID ,如BTC-USD-SWAP仅适用于永续 |
15.2.5 获取永续合约历史资金费率 get_funding_rate_history
请求路径:/api/v5/public/funding-rate-history 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID ,如BTC-USD-SWAP仅适用于永续 |
before | String | 否 | 请求此时间戳之后(更新的数据)的分页内容,传的值为对应接口的fundingTime |
after | String | 否 | 请求此时间戳之前(更旧的数据)的分页内容,传的值为对应接口的fundingTime |
limit | String | 否 | 分页返回的结果集数量,最大为100,不填默认返回100条 |
15.2.6 获取限价 get_price_limit
请求路径:/api/v5/public/price-limit 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,如BTC-USDT-SWAP仅适用于交割/永续/期权 |
15.2.7 获取期权定价 get_opt_summary
请求路径:/api/v5/public/opt-summary 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
uly | String | 可选 | 标的指数,仅适用于期权uly与instFamily必须传一个,若传两个,以instFamily为主 |
instFamily | String | 可选 | 交易品种,仅适用于期权uly与instFamily必须传一个,若传两个,以instFamily为主 |
expTime | String | 否 | 合约到期日,格式为"YYMMDD",如 "200527" |
15.2.8 获取预估交割/行权价格 get_estimated_price
请求路径:/api/v5/public/estimated-price 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID, 如BTC-USD-200214仅适用于交割/期权 |
15.2.9 获取免息额度和币种折算率等级 get_discount_rate_interest_free_quota
请求路径:/api/v5/public/discount-rate-interest-free-quota 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 否 | 币种 |
discountLv | String | 否 | 折算率等级1:第一档2:第二档3:第三档4:第四档5:第五档 |
15.2.10 获取系统时间 get_time
请求路径:/api/v5/public/time 请求方法:GET
请求参数:无
15.2.11 获取平台公共爆仓单信息 get_liquidation_orders
请求路径:/api/v5/public/liquidation-orders 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 是 | 产品类型MARGIN:币币杠杆SWAP:永续合约FUTURES:交割合约OPTION:期权 |
mgnMode | String | 否 | 保证金模式cross:全仓isolated:逐仓 |
instId | String | 否 | 产品ID,仅适用于币币杠杆 |
ccy | String | 否 | 币种 ,仅适用于币币杠杆(全仓) |
uly | String | 可选 | 标的指数交割/永续/期权情况下,uly与instFamily必须传一个,若传两个,以instFamily为主 |
instFamily | String | 可选 | 交易品种交割/永续/期权情况下,uly与instFamily必须传一个,若传两个,以instFamily为主 |
alias | String | 可选 | this_week:本周next_week:次周quarter:季度next_quarter:次季度交割合约情况下,该参数必填 |
state | String | 否 | 状态unfilled:未成交filled:已成交默认为unfilled交割/永续合约情况下,该参数必填 |
before | String | 否 | 请求此时间戳之后(更新的数据)的分页内容,传的值为对应接口的ts |
after | String | 否 | 请求此时间戳之前(更旧的数据)的分页内容,传的值为对应接口的ts |
limit | String | 否 | 分页返回的结果集数量,最大为100,不填默认返回100条 |
15.2.12 获取标记价格 get_mark_price
请求路径:/api/v5/public/mark-price 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 是 | 产品类型MARGIN:币币杠杆SWAP:永续合约FUTURES:交割合约OPTION:期权 |
uly | String | 否 | 标的指数适用于交割/永续/期权 |
instFamily | String | 否 | 交易品种适用于交割/永续/期权 |
instId | String | 否 | 产品ID,如BTC-USD-SWAP |
15.2.13 获取衍生品仓位档位 get_position_tiers
请求路径:/api/v5/public/position-tiers 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 是 | 产品类型MARGIN:币币杠杆SWAP:永续合约FUTURES:交割合约OPTION:期权 |
tdMode | String | 是 | 保证金模式isolated:逐仓 ;cross:全仓 |
uly | String | 可选 | 标的指数,支持多uly,半角逗号分隔,最大不超过3个当产品类型是永续、交割、期权之一时,uly与instFamily必须传一个,若传两个,以instFamily为主当产品类型是MARGIN时忽略 |
instFamily | String | 可选 | 交易品种,支持多instFamily,半角逗号分隔,最大不超过5个当产品类型是永续、交割、期权之一时,uly与instFamily必须传一个,若传两个,以instFamily为主 |
instId | String | 可选 | 产品ID,支持多instId,半角逗号分隔,最大不超过5个仅适用币币杠杆,instId和ccy必须传一个,若传两个,以instId为主 |
ccy | String | 可选 | 保证金币种仅适用杠杆全仓,该值生效时,返回的是跨币种保证金模式和组合保证金模式下的借币量 |
tier | String | 否 | 查指定档位 |
15.2.14 获取市场借币杠杆利率和借币限额 get_interest_rate_loan_quota
请求路径:/api/v5/public/interest-rate-loan-quota 请求方法:GET
请求参数:无
15.2.15 获取尊享借币杠杆利率和借币限额 get_vip_interest_rate_loan_quota
请求路径:/api/v5/public/vip-interest-rate-loan-quota 请求方法:GET
请求参数:无
15.2.16 获取衍生品标的指数 get_underlying
请求路径:/api/v5/public/underlying 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 是 | 产品类型SWAP:永续合约FUTURES:交割合约OPTION:期权 |
15.2.17 获取风险准备金余额 get_insurance_fund
请求路径:/api/v5/public/insurance-fund 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instType | String | 是 | 产品类型MARGIN:币币杠杆SWAP:永续合约FUTURES:交割合约OPTION:期权 |
type | String | 否 | 风险准备金类型liquidation_balance_deposit:强平注入 ;bankruptcy_loss:穿仓亏损 ;platform_revenue:平台收入注入默认返回全部类型 |
uly | String | 可选 | 标的指数交割/永续/期权情况下,uly与instFamily必须传一个,若传两个,以instFamily为主 |
instFamily | String | 可选 | 交易品种交割/永续/期权情况下,uly与instFamily必须传一个,若传两个,以instFamily为主 |
ccy | String | 可选 | 币种, 仅适用币币杠杆,且必填写 |
before | String | 否 | 请求此时间戳之后(更新的数据)的分页内容,传的值为对应接口的ts |
after | String | 否 | 请求此时间戳之前(更旧的数据)的分页内容,传的值为对应接口的ts |
limit | String | 否 | 分页返回的结果集数量,最大为100,不填默认返回100条 |
15.2.18 张币转换 get_convert_contract_coin
请求路径:/api/v5/public/convert-contract-coin 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 是 | 产品ID,仅适用于交割/永续/期权 |
sz | String | 是 | 数量,币转张时,为币的数量,张转币时,为张的数量。张的数量,只能是正整数 |
type | String | 否 | 转换类型1: 币转张,当张为小数时,会进一取整2: 张转币默认为 1 |
px | String | 可选 | 委托价格币本位合约的张币转换时必填;U本位合约,usdt 与张的转换时,必填;coin 与张的转换时,可不填;期权的张币转换时,可不填。 |
unit | String | 否 | 币的单位,coin: 币,usds: usdt 或者 usdc仅适用于交割和永续合约的U本位合约 |
15.2.19 获取期权公共成交数据 get_option_trades
请求路径:/api/v5/public/option-trades 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
instId | String | 可选 | 产品ID,如 BTC-USD-221230-4000-C,instId和instFamily必须传一个,若传两个,以instId为主 |
instFamily | String | 可选 | 交易品种,如 BTC-USD |
optType | String | 否 | 期权类型,C:看涨期权P:看跌期权 |
15.3 例子
公共数据模块无需秘钥
from okx_api import Public
from pprint import pprint
if __name__ == '__main__':
# 公共数据模块无需秘钥
key = ''
secret = ''
passphrase = ''
flag = '0'
public = Public(key, secret, passphrase, flag)
# 获取交易产品基础信息
result = public.get_instruments(instType='SWAP', instId='BTC-USDT-SWAP')
pprint(result)
输出:
>> {'code': '0',
>> 'data': [{'alias': '',
>> 'baseCcy': '',
>> 'category': '1',
>> 'ctMult': '1',
>> 'ctType': 'linear',
>> 'ctVal': '0.01',
>> 'ctValCcy': 'BTC',
>> 'expTime': '',
>> 'instFamily': 'BTC-USDT',
>> 'instId': 'BTC-USDT-SWAP',
>> 'instType': 'SWAP',
>> 'lever': '125',
>> 'listTime': '1611916828000',
>> 'lotSz': '1',
>> 'maxIcebergSz': '100000000',
>> 'maxLmtSz': '100000000',
>> 'maxMktSz': '10000',
>> 'maxStopSz': '10000',
>> 'maxTriggerSz': '100000000',
>> 'maxTwapSz': '100000000',
>> 'minSz': '1',
>> 'optType': '',
>> 'quoteCcy': '',
>> 'settleCcy': 'USDT',
>> 'state': 'live',
>> 'stk': '',
>> 'tickSz': '0.1',
>> 'uly': 'BTC-USDT'}],
>> 'msg': ''}
16 交易大数据 Rubik
16.1 交易大数据接口总览
接口名称 | 函数名称 |
---|---|
获取交易大数据支持币种 | get_support_coin |
获取主动买入/卖出情况 | get_taker_volume |
获取杠杆多空比 | get_loan_ratio |
获取合约多空持仓人数比 | get_long_short_account_ratio |
获取合约持仓量及交易量 | get_contracts_open_interest_volume |
获取期权持仓量及交易量 | get_option_open_interest_volume |
看涨/看跌期权合约 持仓总量比/交易总量比 | get_open_interest_volume_ratio |
看涨看跌持仓总量及交易总量(按到期日分) | get_open_interest_volume_expiry |
看涨看跌持仓总量及交易总量(按执行价格分) | get_open_interest_volume_strike |
看跌/看涨期权合约 主动买入/卖出量 | get_taker_block_volume |
16.2 交易大数据接口介绍
16.2.1 获取交易大数据支持币种 get_support_coin
请求路径:/api/v5/rubik/stat/trading-data/support-coin 请求方法:GET
请求参数:无
16.2.2 获取主动买入/卖出情况 get_taker_volume
请求路径:/api/v5/rubik/stat/taker-volume 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 是 | 币种 |
instType | String | 是 | 产品类型,币币:"SPOT" , 衍生品:"CONTRACTS" |
begin | String | 否 | 开始时间,例如:1597026383085 |
end | String | 否 | 结束时间,例如:1597026383011 |
period | String | 否 | 时间粒度,默认值5m。支持[5m/1H/1D]5m粒度最多只能查询两天之内的数据1H粒度最多只能查询30天之内的数据1D粒度最多只能查询180天之内的数据 |
16.2.3 获取杠杆多空比 get_loan_ratio
请求路径:/api/v5/rubik/stat/margin/loan-ratio 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 是 | 币种 |
begin | String | 否 | 开始时间,例如:1597026383085 |
end | String | 否 | 结束时间,例如:1597026383011 |
period | String | 否 | 时间粒度,默认值5m。支持[5m/1H/1D]5m粒度最多只能查询两天之内的数据1H粒度最多只能查询30天之内的数据1D粒度最多只能查询180天之内的数据 |
16.2.4 获取合约多空持仓人数比 get_long_short_account_ratio
请求路径:/api/v5/rubik/stat/contracts/long-short-account-ratio 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 是 | 币种 |
begin | String | 否 | 开始时间,例如:1597026383085 |
end | String | 否 | 结束时间,例如:1597026383011 |
period | String | 否 | 时间粒度,默认值5m。支持[5m/1H/1D]5m粒度最多只能查询两天之内的数据1H粒度最多只能查询30天之内的数据1D粒度最多只能查询180天之内的数据 |
16.2.5 获取合约持仓量及交易量 get_contracts_open_interest_volume
请求路径:/api/v5/rubik/stat/contracts/open-interest-volume 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 是 | 币种 |
begin | String | 否 | 开始时间,例如:1597026383085 |
end | String | 否 | 结束时间,例如:1597026383011 |
period | String | 否 | 时间粒度,默认值5m。支持[5m/1H/1D]5m粒度最多只能查询两天之内的数据1H粒度最多只能查询30天之内的数据1D粒度最多只能查询180天之内的数据 |
16.2.6 获取期权持仓量及交易量 get_option_open_interest_volume
请求路径:/api/v5/rubik/stat/option/open-interest-volume 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 是 | 币种 |
period | String | 否 | 时间粒度,默认值8H。支持[8H/1D]每个粒度最多只能查询72条数据 |
16.2.7 看涨/看跌期权合约 持仓总量比/交易总量比 get_open_interest_volume_ratio
请求路径:/api/v5/rubik/stat/option/open-interest-volume-ratio 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 是 | 币种 |
period | String | 否 | 时间粒度,默认值8H。支持[8H/1D]每个粒度最多只能查询72条数据 |
16.2.8 看涨看跌持仓总量及交易总量(按到期日分) get_open_interest_volume_expiry
请求路径:/api/v5/rubik/stat/option/open-interest-volume-expiry 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 是 | 币种 |
period | String | 否 | 时间粒度,默认值8H。支持[8H/1D]每个粒度最多只能查询72条数据 |
16.2.9 看涨看跌持仓总量及交易总量(按执行价格分) get_open_interest_volume_strike
请求路径:/api/v5/rubik/stat/option/open-interest-volume-strike 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 是 | 币种 |
expTime | String | 是 | 到期日(格式: YYYYMMdd,例如:"20210623") |
period | String | 否 | 时间粒度,默认值8H。支持[8H/1D]每个粒度最多只能查询72条数据 |
16.2.10 看跌/看涨期权合约 主动买入/卖出量 get_taker_block_volume
请求路径:/api/v5/rubik/stat/option/taker-block-volume 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
ccy | String | 是 | 币种 |
period | String | 否 | 时间粒度,默认值8H。支持[8H/1D]每个粒度最多只能查询72条数据 |
16.3 例子
交易大数据模块无需秘钥
from okx_api import Rubik
from pprint import pprint
if __name__ == '__main__':
# 交易大数据模块无需秘钥
key = ''
secret = ''
passphrase = ''
flag = '0'
rubik = Rubik(key, secret, passphrase, flag)
# 获取主动买入/卖出情况
result = rubik.get_taker_volume(instType='SPOT', ccy='BTC')
pprint(result)
输出:
>> {'code': '0',
>> 'data': [['1675572600000', '4.8369', '0.391'],
>> ['1675572300000', '0.3481', '8.8288'],
>> ['1675572000000', '0.7026', '1.421'],
>> ['1675571700000', '1.3064', '0.9826'],
>> ... ...
>> ],
>> 'msg': ''}
17 Status(系统状态)System
17.1 Status接口总览
接口名称 | 函数名称 |
---|---|
获取系统升级事件的状态。 | get_status |
17.2 Status接口介绍
17.2.1 获取系统升级事件的状态 get_status
请求路径:/api/v5/system/status 请求方法:GET
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
state | String | No | 系统的状态,scheduled:等待中 ; ongoing:进行中 ; pre_open:预开放;completed:已完成 canceled: 已取消 当维护时间过长,会存在预开放时间,一般持续10分钟左右。 不填写此参数,默认返回 等待中、进行中和预开放 的数据 |
17.3 例子
System模块无需秘钥
from okx_api import System
from pprint import pprint
if __name__ == '__main__':
# System模块无需秘钥
key = ''
secret = ''
passphrase = ''
flag = '0'
system = System(key, secret, passphrase, flag)
# 获取系统升级事件的状态
result = system.get_status()
pprint(result)
输出:
>> {'code': '0', 'data': [], 'msg': ''}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file okx_api-1.0.5.tar.gz
.
File metadata
- Download URL: okx_api-1.0.5.tar.gz
- Upload date:
- Size: 96.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d597c4ef4bfe480614753177ef5df551ac4deff9209662409daf852908c413b9 |
|
MD5 | 85208ff713c194db5b61ca2f275cc139 |
|
BLAKE2b-256 | 7e011a7b3dedfb9288ff39c5b6cd92e7a5dcb684f26a900f859fa9bfc566cbb5 |
File details
Details for the file okx_api-1.0.5-py3-none-any.whl
.
File metadata
- Download URL: okx_api-1.0.5-py3-none-any.whl
- Upload date:
- Size: 58.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c68e87a4570b92df8d09336615708ae177c2aa5abd334ffa83af1a8059598ad4 |
|
MD5 | ff8497096adf43b842005ea0d3f9d1fb |
|
BLAKE2b-256 | 7cf6545f05e95619c062ca700c7eddc9d2e21048833d8753b79ce45074bbbf1a |