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.11.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.11-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: python-okx-0.0.11.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.11.tar.gz
Algorithm Hash digest
SHA256 5de33e2ba9044b82af3588330ef556b33387586eec56d1233d8da0e68bb556e4
MD5 d501e59565e2e15780668cf009a92253
BLAKE2b-256 c45f8e5dfdef7f45a3c69b12156e2a31651ac8830805f24129471c0a92a8b9e9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: python_okx-0.0.11-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.11-py3-none-any.whl
Algorithm Hash digest
SHA256 72b9f2ed695c279649f0cc1baec25546cbeff6c24967cc02e3f5f26be4c252ec
MD5 024b3cbe86c1afc2156874134d8a8572
BLAKE2b-256 9a6849f1043637090df0e1d4b1a38d00aeac3e09049f9c0e0f6dc450aff98025

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