自動売買トレードへ利用可!BINANCE (バイナンス) のAPIを連携するやり方・方法を徹底解説

mexcアイキャッチ

この記事のポイント
  • BINANCEでは簡単にAPIが入手できる
  • BINANCEのAPIはパブリックAPIとプライベートAPIの2種類がある
  • BINANCEのAPIをうまく活用すれば取引の幅が広がる

BINANCEは海外大手取引所の1つで、APIを簡単に連携できるようにしています。初心者にも分かりやすい様になっているので、プログラミング未経験者の方でも利用出来るでしょう。もしAPIを上手く活用出来れば、自分が望むとおりの自動売買トレードを実現させられます。

本記事では、BINANCEのAPIを連携する方法、APIを連携してできることの具体例を説明していますので、BINANCEのAPIに興味がある方はぜひ御覧ください

そもそもAPIとは?

APIとは「Application Programming Interface」の略称です。APIの役目はソフトウェアが持つ機能を他のソフトウェアと共有することです

一般的に広まっているアプリでいうとGoogleマップが挙げられます。実はGoogleマップは一般公開済みのソースコードが利用されたソフトウェアです。開発者が1からコードを書いたわけではありません。

このようにAPIを利用すると、すでに完成している土台を利用できます。BINANCEでもAPIは公開されており、APIを導入することで通常利用では行えない取引や自動トレードなどBINANCEをより活用できるのです。

BINANCE (バイナンス) の2種類のAPIについて

パブリックAPI

パブリックAPIはBINANCEで公開されている情報を取得するためのAPIです。主な情報は以下のようになっています。

パブリックAPIの内容
関数 内容 引数
get_all_tickers 全通貨ペアの市場価格を取得 なし
get_ticker 指定通貨ペアの24時間の価格変更の統計情報を取得 symbol
get_symbol_ticker 指定通貨ペアの市場価格を取得 symbol
get_orderbook_ticker 全通貨ペアの板情報を取得 なし
get_order_book 板情報を取得 symbol limit (MAX 1000)
get_recent_trades 最新の全約定履歴を取得 symbol limit (MAX 500)

プライベートAPI

プライベートAPIは保有する資産情報や注文といった取引関係のアクションを取れるようになるAPIです

プライベートAPIの内容
関数 内容 引数
create_order オーダーを入れる symbol side type quantity price
order_limit 指値オーダーを入れる symbol side quantity price
order_limit_buy 指値買いオーダーを入れる symbol quantity price
order_limit_sell 指値売りオーダーを入れる symbol quantity price
order_market 成行オーダーを入れる symbol side quantity
order_market_buy 成行買いオーダーを入れる symbol side quantity
order_market_sell 成行売りオーダーを入れる symbol side quantity
get_all_orders 全アクティブオーダー情報を取得 なし
get_open_orders 自分のアクティブオーダー情報を取得 symbol
cancel_order オーダーをキャンセルする symbol orderId
get_asset_balance 資産情報を取得 asset
get_symbol_info 通貨に関する情報を取得 symbol

通常の場合プライベートAPIは情報保護の観点から暗号化が施されています。しかしBINANCEでは利用者ごとに専用のライブラリが用意されています。これによって利用したいプライベートAPIを簡単に活用可能です。

BINANCE (バイナンス) のAPIを連携するには

BINANCEでAPI連携を行う過程として、初めにAPIとシークレットキーを取得する必要があります。次にBINANCEで公式APIライブラリーをインストールすれば、API連携が可能となります。

STEP1 公式サイトでAPIとシークレットキーを入手

BINANCE APIとシークレットキーを入手

APIとシークレットキーを取得するためにBINANCEへログインを行います。ログイン後アイコンを押して「API Management」を押して下さい。

BINANCE APIとシークレットキーを入手

APIの発行画面に映ります。新しいAPIラベルに名前をつけて「Create API」を押しましょう。

BINANCE API 発行

セキュリティ認証画面が表示されます。灰色のボタンを押して登録されたメールアドレスに届いたコードを入力しましょう。またGoogle二段階認証アプリに表示されたBINANCEのコードを記載します。

この際どちらのコードも制限時間があるので、スムーズな入力が必要になります。最後に「Submit」を押してください

BINANCE API 発行

新規APIが発行されました。表示されたAPI KeyとSecret Keyをメモしておきましょう。これらのKeyはAPIライブラリーのインストールで利用します。

STEP2 実際にインストールを行う

次の作業はBINANCEの公式APIライブラリーのインストールです。パソコンのコマンドを入力する機能を利用します。MacOSでは「ターミナル」を、Windowsでは「コマンドプロンプト」を開いてください。

BINANCE API インストール

コマンドプロンプトを開いたら以下の文字列を入力してください。コマンドが機能することで、公式APIのインストールが完了となります。

$ pip install python-binance

なおAWSのCloud9を利用してBINANCEの公式APIライブラリーインストールを行う場合、以下のコードを追記する必要があります。

$ sudo pip-3.6 install python-binance

またPythonで公式APIライブラリーを利用する場合は、以下のコードの追記が必要です。

from binance.client import Client

BINANCE (バイナンス) のAPI連携後の使い方

全ての通貨ペアを確認する方法

コードを書く

試しにコードを入力してみましょう。コードエディターについてはコードが書ければ基本的にどのようなアプリでも問題ありません。

ファイル名 test.py
from binance.client import Client

APIキー設定
api_key = ‘先ほど取得したAPI’
api_secret = ‘先ほど取得したシークレットキー’

Client作成
client = Client(api_key, api_secret)

全ての価格を取得
prices = client.get_all_tickers()
print(prices)

コードの入力後は名前をつけて保存してください

実行する

BINANCE コードを入力

コマンドプロンプトを開いて次のように入力してください。

「デスクトップへ移動」
$ cd desktop

「test.pyを起動」
$ python test.py

これらのコードを入力すると、コマンドプロンプトが実行され以上の表示が出てきます。

現在の相場情報を見る方法

コードを書く

以下のコードを入力することで、現時点での相場情報を取得できます。

from binance.client import Client

class BinanceAPI:

def __init__(self):
API_KEY = ‘先ほど取得したAPIキー’
API_SECRET = ‘先ほど取得したシークレットキー’

self.client = Client(API_KEY, API_SECRET)

def get_ticker(self, pair):
try:
value = self.client.get_ticker(symbol=pair)
return value
except Exception as e:
print(‘Exception Messege : {}’.format(e))
return None

def main():
binance_set = BinanceAPI()

ticker = binance_set.get_ticker(‘BTCUSDT’)
print(ticker[‘lastPrice’])

if __name__ == ‘__main__’:
main()

この場合はBTCUSDペアの終値を出している。

print

以下のコードでは入力内容によって自由にデータを取得可能です。

・highPrice 過去24時間以内の最高値
・priceChange 過去24時間の価格変化 (lastPrice – openPrice)
・quoteVolume “その時々”
・lastId その時々
・bidPrice 買い注文の最安値
・openTime 日時 (始値)
・prevClosePrice 前足の最終価格 (終値)
・lastQty 最後の取引の数量
・askQty 売り注文の最安値の数量
・askPrice 売り注文の最安値
・openPrice 開始の価格 (始値)
・symbol 通貨ペア”BTCUSDT”
・volume 過去24時間の出来高
・weightedAvgPrice “その時々”
・firstId その時々
・closeTime 日時 (終値)
・lastPrice 最終の価格 (終値)
・priceChangePercent 過去24時間の価格変化率
・lowPrice 過去24時間以内の最安値
・bidQty 買い注文の最安値の数量

自分の資産状況を確認する方法

コードを書く

このコードでは現時点での保有資産状況を確認できます。

from binance.client import Client

class BinanceAPI:

def __init__(self):
API_KEY = ‘BINANCE_API_KEY’
API_SECRET = ‘BINANCE_API_SECRET’

self.client = Client(API_KEY, API_SECRET)

def get_asset(self, symbol):
try:
value = self.client.get_asset_balance(asset=symbol)
return value
except Exception as e:
print(‘Exception Messege : {}’.format(e))
return None

def main():
binance_set = BinanceAPI()

asset_dict = prv_set.get_asset(‘BTC’)
print(asset_dict[‘free’])
# この場合はBTCのfree 利用可能な数量を表示してくれる。

if __name__ == ‘__main__’:

main()

print

以下のコードは変更可能な内容です。

・locked 注文等でロックされている数量
・free 利用可能な数量
・asset 通貨

BINANCE (バイナンス) のAPI連携のまとめ

プログラミングをさわったことがない人にとってはAPIの利用はハードルが高いかもしれません。しかしBINANCEでは公式APIライブラリーが用意されており、他のAPIよりも扱いやすくなっています。

そのため時間がかかるかもしれませんが、実際に触ってみることでBINANCEをより自由に扱えるようになれるでしょう。気になった方は今試してみてはいかがですか?