BINANCE (バイナンス) 公式API連携方法 | Pythonを用いた自動売買入門

1分で理解する要約
  • APIとはソフトウェアの機能を共有する仕組みのこと
  • BINANCEのAPIではトレードの自動化ができる
  • Pythonでコードを書いてAPIを使用しよう
2022年12月最新情報

BINANCEが2022年11月30日に日本からの新規ユーザーが口座開設・登録することを禁止しました。

他の海外仮想通貨取引所をお探しの方であれば、BYBITがおすすめです。

BYBITの口コミや評判を知りたい方は下記のリンクをクリックしてください。

先に評価をチェックする方はこちら|600人以上の口コミを掲載

また、BINANCEの日本ユーザー登録禁止に関しては、下記の記事で詳細が記載されていますので、参考にしてください。

BINANCEの公式APIを使うことで、データの取得や自動トレードの設定などさまざまなことが可能になります。本コンテンツは、APIを用いた自動売買の入門編として、BINANCE公式APIを活用する方法※を解説していきます。

※ 自動売買の前までの前提データ取得方法

Binance (バイナンス)
取扱通貨
取引手数料
最大レバレッジ
日本語対応
-
スマホアプリ
法人口座
           
概要説明

BINANCE (バイナンス) は、取引高世界1位を誇る仮想通貨取引所です。シンガポールを拠点に全世界へ展開しています。300種類以上の豊富な取扱通貨数や、手数料の安さなどが高い評価を受けています。セキュリティ体制も充実していて、信頼性の高さも魅力的です。日本語にも対応しています。

BINANCE (バイナンス) の公式API概要

APIとは

Application Programming Interfaceの略で、簡潔に言うとソフトウェアの機能を共有する仕組みのことです。機能の共有ができると、新しくプログラムコードを書く必要がないため非常に便利です。アプリケーションなどの開発も効率に進められるため、あらゆる場面で用いられています。

Google Mapなどが代表的な例です。様々なWEBサービスでGoogle Mapが導入されていますが、全てのサービス開発者が1からコードを書いているのではなく、オープンになっているGoogle Mapのライブラリ (ソースコード) を使って開発しているのです。

BINANCE (バイナンス) APIでできること

BINANCEでは公式APIを用いることで、通常は利用できないオーダーの仕方や、トレードの自動化などができます。APIを扱うとなると、プログラミングの知識がある程度必要になりますが、BINANCEのAPI導入は非常に親切に設計されているようで、初心者の方でもすぐに売買を楽しむことができます。

BINANCE (バイナンス) API主要機能一覧

BINANCEの公式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)
create_orderオーダーを入れるsymbol side type quantity price
order_limit指値オーダーを入れるsymbol side quantity price
order_limit_buy指値買いオーダーを入れるsymbol quantity price
order_market_sell成行売りオーダーを入れるsymbol quantity
get_all_orders全アクティブオーダー情報を取得なし
get_open_orders自分のアクティブオーダー情報を取得symbol
cancel_orderオーダーをキャンセルするsymbol orderId
get_asset_balance資産情報を取得asset
get_symbol_info通貨に関する情報を取得symbol

これらをうまく使い合わせることで自動トレードなどが可能になります。

BINANCEではロスカット注文を成行で行うことができません。そのため、目でチャートを追いかけながら損切りを手動で行う必要があります。これらはボラリティの大きな仮想通貨において、急な価格変動などに対応しきれない場合がありリスクがあります。しかし公式APIを活用することで、それらを防ぐことができます。

Pythonを使ったBINANCE (バイナンス) APIとの連携手順

BINANCE (バイナンス) に新規登録

BINANCEのトップページの右上にある、Log In or Registerの「Register」の部分をクリックしましょう。Login画面に飛んでしまった場合は、右下にある「Register」をクリックします。

Register画面に遷移したら以下の項目を入力し、チェックボックスにチェックを入れて、「Register」を押し登録しましょう。

  • メールアドレス
  • パスワード
  • パスワードの確認
  • 紹介者がいる場合はそのID

取引所のパスワードなので、盗難の被害に合わないためにも、自動生成したパスワードをおすすめします。

メール承認

承認メールが送られてくるので、登録を完了しましょう。

BINANCE (バイナンス) からAPIキーとシークレットキーを取得する

トップ画面からアカウント管理画面に移ります。APIを「Enable」にして、APIのキーを作成します。入力する名前は任意です。その後、二段階認証コードを入力しましょう。

上記の手順が終了すれば完了です。メールボックスを確認して、届いたメールを認証します。APIキーとシークレットキーが表示されたら、保存しておきましょう。

BINANCE (バイナンス) の公式APIライブラリーをインストールする

APIキーとシークレットキーを取得したら、公式ライブラリー (ソースコードのようなもの) を自分のPCにインストールします。インストールするにはターミナルを開いてコマンドを入力しましょう。

※ターミナルとは

Macの場合はアプリケーション一覧の「その他」の部分に入っています。Windowsの方は「コマンドプロンプト」と呼ばれるものがターミナルに該当します。

ターミナルを開いたら以下のコマンドを打ち込んでください。

$ pip install python-binance

コマンドが動いてインストールが完了します。

PythonでBINANCE公式APIライブラリをインストールする

from binance.client import Client

上記がコードをpyhtonのコードが書かれたファイルの一番上に記入しましょう。インポートが完了します。

BINANCE (バイナンス) のAPIを実際に使ってみる

全ての通貨ペアを取得するプログラム

コードを書く

まずは以下のようにコードエディタに書きましょう。

コードエディタは基本的には何でも大丈夫ですが、Sublime Textというアプリがおすすめです。

ファイル名 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)

コードエディタなどで編集し名前をつけて保存しましょう。

ここではtest.pyと保存します。保存場所はわかりやすいようにデスクトップに保存してください。
※pythonのファイルは必ず.pyとしてください

ターミナル (コマンドプロンプト) で実行

ターミナル (コマンドプロンプト) を開いて以下のように実行します。

①デスクトップに移動

$ 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'])

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

if name == 'main':
main()

実行方法は先ほどと同じです。

print (ticker['入るもの'])

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 (asset_dict['入るもの'])

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

これらを入力することで変更できます。

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

本記事では、BINANCEの公式APIについて、またpythonを使ったBINANCE公式APIの活用方法をまとめました。APIを扱うには、プログラミングの知識が必要になりますが、BINANCEの公式APIは初心者でも利用しやすいように設計されており、すぐに売買を行うことができます。

2022年12月最新情報

BINANCEが2022年11月30日に日本からの新規ユーザーが口座開設・登録することを禁止しました。

他の海外仮想通貨取引所をお探しの方であれば、BYBITがおすすめです。

BYBITの口コミや評判を知りたい方は下記のリンクをクリックしてください。

先に評価をチェックする方はこちら|600人以上の口コミを掲載

また、BINANCEの日本ユーザー登録禁止に関しては、下記の記事で詳細が記載されていますので、参考にしてください。

国内 暗号資産(仮想通貨)取引所比較ランキング
  1. Coinceck(コインチェック)

    取引量・ユーザー数は日本で最大級!使いやすいスマホアプリと豊富な取扱通貨で人気の取引所!

    詳細を見る
  2. Bitbank(ビットバンク)

    全ての暗号資産(仮想通貨)が板取引形式 (最安手数料) で売買できる!

    詳細を見る
  3. GMOコイン

    安心のGMOインターネット (東証一部上場)グループの暗号資産(仮想通貨)取引所

    詳細を見る
※ 2023年11月22日 最新更新国内取引所ランキングをもっと見る
海外 暗号資産(仮想通貨)取引所比較ランキング
  1. Bybit(バイビット)

    クレカ入金可能!レバレッジの効いたFX取引に特化した暗号資産(仮想通貨)取引所!海外ならココ一択!

    詳細を見る
  2. Zoomex(ズームエックス)

    レバレッジ取引に特化した次世代仮想通貨取引所!

    詳細を見る
  3. MEXC(メックスシー)

    取り扱い銘柄数1,500種類以上の大手仮想通貨取引所!

    詳細を見る
※ 2023年11月22日 最新更新海外取引所ランキングをもっと見る
目次
詳細表示