はじめに¶
インストール¶
python-binance
は pip
により PYPI からインストールできます。
pip install python-binance
Windows
ビルドエラーが発生する場合、Microsoft Visual C++が必要です。 Python Wiki on Widows Compilers を参照して、Visual C++ Build Toolsをインストールしてください。
Binanceでの登録¶
まず最初に、 Binanceで登録 してください。
API Keyの取得¶
登録した口座でプログラムを使用するには、 API Keyを作成 する必要があります。
クライアントの初期化¶
API KeyとSecretを設定します。
from binance.client import Client
client = Client(api_key, api_secret)
APIの呼び出し¶
Binance API documentation で設定されているキーワードと同じ単語を使用した各メソッドは、任意のパラメータを対応したエンドポイントに渡します。
Binance API documentation に記載されている通り、各メソッドは、JSONレスポンスのディクショナリーを返します。 各メソッドのコードのdocstringは、元となったエンドポイントの内容を参照しています。
Binance API documentationは、 timestamp パラメータを参照しますが、要求される場合は生成されます。
メソッドによっては recvWindow パラメータがあります。 タイミングセキュリティーのために使用されます。詳細はBinance documentationを参照してください。
APIエンドポイントのレートリミットは、Binanceにより秒間20リクエストに制限されています。制限を解除したい場合は、直接お問い合わせください。
APIレートリミット¶
get_exchange_info() を確認して、最新のレートリミットに関する情報を入手してください。
現時点でのBinanceのレートリミット:
- 1分間に1200リクエスト
- 1秒間に10の注文
- 24時間に100,000の注文
呼び出すメソッドによっては、全ての通貨ペアの情報を読み込む場合など、他のメソッドよりも負荷がかかる場合があります。 詳細は、 official Binance documentation をご確認ください。
Requestの設定¶
python-binance は、 requests ライブラリを使用します。
クライアントを作成後、全てのAPIコールに対し、カスタムリクエストパラメータを設定できます。
client = Client("api-key", "api-secret", {"verify": False, "timeout": 20})
どのAPIコールでも、デフォルト設定をオーバーライドまたは再設定することにより、カスタムリクエストパラメータを送信することができます。
# get_all_ordersのコールはverify: False and timeout: 5 の結果になることがあります。
client = Client("api-key", "api-secret", {"verify": False, "timeout": 20})
client.get_all_orders(symbol='BNBBTC', requests_params={'timeout': 5})
全てのオプションについては、 requests documentation を参照してください。
プロキシ設定
上記のリクエスト設定を使用することができます。
proxies = {
'http': 'http://10.10.1.10:3128',
'https': 'http://10.10.1.10:1080'
}
# クライアント初期化
client = Client("api-key", "api-secret", {'proxies': proxies})
# または、個別のコール
client.get_all_orders(symbol='BNBBTC', requests_params={'proxies': proxies})
または、リクエスト処理に必要な場合は、プロキシ環境変数を設定することもできます。
Linux 環境変数の設定例(参照: requests Proxies documentation )は下記の通りです。
$ export HTTP_PROXY="http://10.10.1.10:3128"
$ export HTTPS_PROXY="http://10.10.1.10:1080"
Windows環境の場合
C:\>set HTTP_PROXY=http://10.10.1.10:3128
C:\>set HTTPS_PROXY=http://10.10.1.10:1080