Skip to main content

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

okx_api-1.0.5.tar.gz (96.4 kB view hashes)

Uploaded Source

Built Distribution

okx_api-1.0.5-py3-none-any.whl (58.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page