- BINANCEでは簡単にAPIが入手できる
- BINANCEのAPIはパブリックAPIとプライベートAPIの2種類がある
- BINANCEのAPIをうまく活用すれば取引の幅が広がる
BINANCEは海外大手取引所の1つで、APIを簡単に連携できるようにしています。初心者にも分かりやすい様になっているので、プログラミング未経験者の方でも利用出来るでしょう。もしAPIを上手く活用出来れば、自分が望むとおりの自動売買トレードを実現させられます。
本記事では、BINANCEのAPIを連携する方法、APIを連携してできることの具体例を説明していますので、BINANCEのAPIに興味がある方はぜひ御覧ください。
2022年11月30日に、BINANCEは日本市場への参入を発表しました。
それに伴い、現時点でBINANCEは日本からの新規受付を停止しています。
登録フォームを開いても以下のように警告メッセージが表示されてしまい、手続きを進めることができません。
BINANCEの代わりの海外仮想通貨取引所としておすすめなのが、Bybit (バイビット) です。
- 250種類以上の取り扱い通貨
- 最大100倍のレバレッジ
- 業界最安の取引手数料
- 充実したボーナスキャンペーン
Bybitは先物取引に特化した仮想通貨取引所でしたが、近年では現物通貨を次々と上場させたり、ステーキングや積立投資などのサービスを展開したりしており、BINANCEの代わりの仮想通貨取引所として充分なスペックがあります。
今なら入金と取引で最大3万30ドル相当のボーナスを獲得できるキャンペーンを実施中です。
Bybitの評判や特徴、メリット・デメリットについて知りたい方は、下記の記事を参考にしてください。
Bybit (バイビット) の評判・口コミから分かったメリット・デメリットを一挙紹介!また、BINANCEが日本人ユーザーの新規登録を停止した詳しい経緯や、BINANCEの代わりにBybitをおすすめする理由については、下記の記事で紹介しています。
BINANCE (バイナンス) は日本人の利用は禁止? 代わりにおすすめの海外仮想通貨取引所も紹介目次
そもそも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とシークレットキーを入手
APIとシークレットキーを取得するためにBINANCEへログインを行います。ログイン後アイコンを押して「API Management」を押して下さい。
APIの発行画面に映ります。新しいAPIラベルに名前をつけて「Create API」を押しましょう。
セキュリティ認証画面が表示されます。灰色のボタンを押して登録されたメールアドレスに届いたコードを入力しましょう。またGoogle二段階認証アプリに表示されたBINANCEのコードを記載します。
この際どちらのコードも制限時間があるので、スムーズな入力が必要になります。最後に「Submit」を押してください。
新規APIが発行されました。表示されたAPI KeyとSecret Keyをメモしておきましょう。これらのKeyはAPIライブラリーのインストールで利用します。
STEP2 実際にインストールを行う
次の作業はBINANCEの公式APIライブラリーのインストールです。パソコンのコマンドを入力する機能を利用します。MacOSでは「ターミナル」を、Windowsでは「コマンドプロンプト」を開いてください。
コマンドプロンプトを開いたら以下の文字列を入力してください。コマンドが機能することで、公式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)
コードの入力後は名前をつけて保存してください。
実行する
コマンドプロンプトを開いて次のように入力してください。
「デスクトップへ移動」
$ 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()
以下のコードでは入力内容によって自由にデータを取得可能です。
・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()
以下のコードは変更可能な内容です。
・free 利用可能な数量
・asset 通貨
BINANCE (バイナンス) のAPI連携のまとめ
プログラミングをさわったことがない人にとってはAPIの利用はハードルが高いかもしれません。しかしBINANCEでは公式APIライブラリーが用意されており、他のAPIよりも扱いやすくなっています。
そのため時間がかかるかもしれませんが、実際に触ってみることでBINANCEをより自由に扱えるようになれるでしょう。気になった方は今試してみてはいかがですか?