Skip to main content

Python SDK for OKX OpenAPI

Project description

[TOC]

如何使用?

python版本:3.6 - 3.8

WebSocketAPI:建议websockets库版本为6.0

第一步:下载SDK,安装相关所需库

1.1 下载python SDK

  • 将SDK目录Clone或者Download到本地,选择使用okx-python-sdk-api-v5即可

1.2 安装所需库

pip install requests
pip install websockets==6.0

第二步:配置个人信息

2.1 如果还未有API,可点击前往官网进行申请

2.2 将各项信息在example.py(RestAPI)websocket_example.py(WebSocketAPI)中填写

api_key = ""
secret_key = ""
passphrase = ""

第三步:调用接口

  • RestAPI

    • 运行example.py

    • 解开相应方法的注释传参调用各接口即可

  • WebSocketAPI

    • 运行websocket_example.py

    • 根据公共频道/私有频道/交易选择对应url、对应启动方法,传入相应参数即可

    # WebSocket公共频道
    url = "wss://ws.okx.com:8443/ws/v5/public?brokerId=9999"
    
    # WebSocket私有频道
    url = "wss://ws.okx.com:8443/ws/v5/private?brokerId=9999"
    
    # 公共频道 不需要登录(行情,持仓总量,K线,标记价格,深度,资金费率等)
    loop.run_until_complete(subscribe_without_login(url, channels))
    
    # 私有频道 需要登录(账户,持仓,订单等)
    loop.run_until_complete(subscribe(url, api_key, passphrase, seceret_key, channels))
    
    # 交易(下单,撤单,改单等)
    loop.run_until_complete(trade(url, api_key, passphrase, seceret_key, trade_param))
    

附言:

  • 如果对API尚不了解,建议参考OKx官方API文档

  • 使用RestAPI的用户可以通过设置example.py文件下的flag参数来选择接入实盘或者模拟盘

  • 使用WebSocketAPI的用户可以通过解开websocket_example.py文件下对应的url注释来选择接入实盘或者模拟盘

  • RestAPI 提供了http2的请求方式,可参考http2_example.py

  • 若使用WebSocketAPI遇到问题建议参考相关链接

    • asynciowebsockets文档/github

      https://docs.python.org/3/library/asyncio-dev.html
      https://websockets.readthedocs.io/en/stable/intro.html
      https://github.com/aaugustin/websockets
      
    • 关于code=1006

      https://github.com/Rapptz/discord.py/issues/1996
      https://github.com/aaugustin/websockets/issues/587
      

How to use ?

python version:3.6 - 3.8

WebSocketAPI: websockets package advise version 6.0

Step 1: Download the SDK and install the necessary libraries

1.1 Download python SDK

  • Clone or Download the SDK directory to your local directory,choose to use okx-python-sdk-api-v5

1.2 Install the necessary libraries

pip install requests
pip install websockets==6.0

Step 2: Configure Personal Information

2.1 If you have no API,Click here to the official websit to apply for the API

2.2 Fill out all necessary informatiuon in example.py(RestAPI) and websocket_example.py(WebSocketAPI)

api_key = ""
secret_key = ""
passphrase = ""

Step 3: Call API

  • RestAPI
    • Run example.py
    • Uncomment the corresponding method and then pass the arguments and call the interfaces
  • WebSocketAPI
    • Run websocket_example.py
    • According to the public channel/private channel/trade, select the corresponding url, the corresponding start method, and pass in the corresponding parameters
# WebSocket public channel
url = "wss://ws.okx.com:8443/ws/v5/public?brokerId=9999"

# WebSocket private channel
url = "wss://ws.okx.com:8443/ws/v5/private?brokerId=9999"
# Not necessary for public channel to login (Instrument, Tickers, Index, Mark price, Order Book, Funding rate, etc)
loop.run_until_complete(subscribe_without_login(url, channels))

# necessary for private channel to login(Account,Positions, Order, etc)
loop.run_until_complete(subscribe(url, api_key, passphrase, seceret_key, channels))

# trade(Place Order, Cancel Order, Amend Order, etc)
loop.run_until_complete(trade(url, api_key, passphrase, seceret_key, trade_param))

P.S.

  • If you know little about API, advise consulting the offical API document

  • User with RestAPI can configure parameter flag in example.py in to choose to access to real trading or demo trading

  • User with WebSocketAPI can ucomment the corresponding url to choose to access to real trading or demo trading

  • Rest API support request by http2, you can refer to http2_example

  • If you face any questions when using WebSocketAPI,you can consult related link

    • asynciowebsockets document/github

      https://docs.python.org/3/library/asyncio-dev.html
      https://websockets.readthedocs.io/en/stable/intro.html
      https://github.com/aaugustin/websockets
      
    • About code=1006

      https://github.com/Rapptz/discord.py/issues/1996
      https://github.com/aaugustin/websockets/issues/587
      

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

python-okx-0.0.9.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

python_okx-0.0.9-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

Details for the file python-okx-0.0.9.tar.gz.

File metadata

  • Download URL: python-okx-0.0.9.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.5

File hashes

Hashes for python-okx-0.0.9.tar.gz
Algorithm Hash digest
SHA256 d649e5ca6e29a8cd9414191bf47344d9be610e48ee407c8ac7cb6b323d6d30b8
MD5 18d7a8b54f0625c0850fde4829f8ea5e
BLAKE2b-256 d31c98b974704120838725434f7dd478608070ed8125fa6c0c7df3bdf52cb84d

See more details on using hashes here.

File details

Details for the file python_okx-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: python_okx-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 23.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.5

File hashes

Hashes for python_okx-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 492af93af37dacf783f8f34e3d51821b28d560ee850f2b8353a47d36ac76989a
MD5 d20cf272b19b524895f719610a308ee7
BLAKE2b-256 476cef62fc7003528a805b1940ae5fa527dc0cbef68e50cffa6ec87d579ee6bf

See more details on using hashes here.

Supported by

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