バイナンス(BINANCE)APIをPythonで使いこなす【初心者向け】
あなた
「バイナンス(BINANCE)のAPIを使って仮想通貨のプログラミング取引を体験してみたいな。具体的な手順を解説してる参考情報ってないかな。」
そんな悩みを解決します。
バイナンスAPIの使い方を、一つずつ動かしながら徹底解説。プログラミングでもっと自由に仮想通貨に触れてみましょう。
ご注意
本記事は、プログラミングでAPIを活用する知識を学ぶことを目的としています。バイナンスでの仮想通貨の取引をおすすめしているわけではありません。この記事や本サイトの情報を参考に仮想通貨のプログラムを動かす場合は、全て自己責任でお願いいたします。免責事項に記載の通り、本サイトの情報を参考にして発生したいかなる損害も責任を負いません。
この記事で分かること
- バイナンス(BINANCE)APIの使い方
- バイナンス(BINANCE)APIを活用したプログラムの作り方
目次
バイナンス(BINANCE)APIをPythonで使うと何ができるのか
あなた
「バイナンスAPIで仮想通貨の取引を試してみたい!」
そんな風に考えられるということは、あなたはもう仮想通貨についてある程度の知識がありますね?
バイナンスは、日本の取引所に比べて、取り扱う仮想通貨の銘柄数も取引量も圧倒的。取引がとても活発に行われているので、バイナンスAPIを活用すればよりチャンスを掴む可能性が上がります。
そのバイナンスのAPIを使って何ができるのか、まずは自動売買botの作成や積立投資の自動化などをまとめた記事をぜひ参考にしてみてください。
仮想通貨を自動売買するbotの作り方【コピペOKなソースも公開】
仮想通貨の自動売買botに興味があるんだけど、どうやって作ったらいいんだろう?そんな疑問にお答えします。ビットコインやイーサリアムといった仮想通貨を自動売買できるbotを、初めての人でもコピペで作れるようにまとめました。仮想通貨の自動売買botが、Pythonプログラミングを始めてみるきっかけになるかも?
イーサリアム積立を完全自動化して賢く運用【コピペでチャレンジ】
イーサリアムを積立購入したいけど、すでに提供されてる仮想通貨の積立サービスを使うとスプレッドで損しちゃうな。賢く運用するには自分でいちいち現物取引して買うしかないの?その悩み、プログラムで完全自動化すれば解決。スプレッドも面倒もゼロです。この機会にプログラミングの基礎知識も身について、自己投資にもなりますね。
先にやりたいことをイメージしておけば、バイナンスAPIの使い方が分かった後にいろいろカスタマイズができるようになります。
BTCやETHなら国内取引所のAPIでも十分
バイナンスは取り扱う仮想通貨の銘柄が多いので、BTCやETH以外の色々な通貨に興味があるならバイナンスAPIを使うのが一番。
でも、ビットコインやイーサリアムをメインに取引したいのであれば、国内取引所のビットバンクやコインチェックのAPIも十分に活用できますよ。
バイナンスAPIを使う前に、まずビットバンクやコインチェックのAPIを使うと理解も深まります。
先に国内取引所でAPIを試してみたい場合は、以下の解説記事も参考にしてみてくださいね。
ビットバンクAPIの使い方を徹底解説【初心者向けチュートリアル】
ビットバンクのAPIを使って、プログラミングで仮想通貨の取引をしてみたい!そんな悩みを解決します。プログラミングの環境構築からビットバンクAPIの使い方まで、一つ一つのステップをゼロから徹底解説。ビットバンクのAPIを使いこなせるようになって、あなただけの仮想通貨取引プログラムを作るきっかけを掴んでみましょう。
コインチェックAPIの使い方をゼロから解説【初心者向け】
コインチェックのAPIを使って仮想通貨の取引をする方法を知りたい!そんな悩みにお答えします。コインチェックAPIの公式文書を読み解きながら、具体的な手順を一つずつ徹底解説。コインチェックのAPIを使いこなすことで、自由な仮想通貨の取引ができるようになります。プログラミングで、仮想通貨をもっと自由に楽しんでみましょう。
バイナンス(BINANCE)APIをPythonで使うには
それでは、早速バイナンスAPIの使い方を学んでいってみましょう。流れは以下の通りです。
- バイナンスAPIのAPIキーを発行する
- バイナンスAPIのライブラリをインストールする
- バイナンスAPIを実際に動かしてみる
今回、PythonでバイナンスAPIを動かします。もしまだPythonのプログラミング環境がない場合は、Python入門チュートリアルの記事を参考してみてください。
また、APIキーを発行するにはバイナンスの口座開設が必要なので、まだ口座を持っていない方はバイナンスのサイトで事前に開設しておいてくださいね。
それでは、早速やってみましょう。
APIキーを発行する
最初に、バイナンスAPIを使うためにAPIキーを発行します。
バイナンス(BINANCE)にログインして、右上のメニューからAPI Managementを選択。
適当なラベル(ProgrammingとかでOK)をつけて、Create APIボタンを押します。
認証処理を終えると、APIキーが生成されます。シークレットキーは1回しか表示されないので、保存しておくのを忘れずに。忘れたら作り直せばOKです。
APIキーは超大事なので、取り扱いに注意してくださいね。
続いて、右上のEdit Restrictionsをクリック。APIを使ってオーダーを入れてみるので、Enable Spot & Margin Trading にチェックを入れてSaveボタンを押します。
これにて、APIキーの準備完了です。
APIをもっと安全に使うには?
セキュリティを上げるために、APIを使うことのできるIPアドレスを制限することもできます。
必要に応じて、この欄にあなたのパソコンのIPアドレスを設定しておいてくださいね。
バイナンスAPIのライブラリをインストール
続いて、python-binanceというバイナンスAPIを簡単に扱えるPythonライブラリをインストールします。
python-binanceは、GitHubリポジトリに書いてある通り、バイナンスAPIのアンオフィシャルなラッパー(バイナンスAPIを使いやすくしてくれる便利ツール)。
アンオフィシャルとは書いてありますが、見ての通りStarやForkの数がとても多く、もう実質オフィシャルなくらい多くの人が活用しています。
我々も、ありがたくこのpython-binanceを使っちゃいましょう。
python-binanceをインストールする前に
Python環境を汚したくない人は、仮想環境を立てるのを忘れずに!よく分からない場合は、無視してもOKです。
venvでPythonの仮想環境を作ろう【初心者向けチュートリアル】
venvでPython仮想環境を作る方法が知りたいな。あと、そもそもなんで仮想環境を使う必要があるの?そんな疑問を持つあなたへ、venvを使ったPython仮想環境チュートリアルをまとめました。メリットとデメリットも一緒に理解して、仮想環境をバッチリ使いこなせるようになっちゃいましょう。
まず、Macならターミナル、Windowsならコマンドプロンプトを開いて、以下のコマンドを実行します。
pip install python-binance
実は、インストールはこれだけで終わり。超簡単ですね。
バイナンスAPIを実際に動かしてみる
それでは、python-binanceを使って適当なオーダーを入れてみましょう。
まず、以下のコマンドでPythonを起動します。
python3
すると、このようなコマンドを入力していく画面になります。
>>> (ここにコマンドを入力していく)
GitHubリポジトリの説明にしたがって、このコマンドでpython-binanceのライブラリをインポートします。
>>> from binance.client import Client
続いて、先ほど作ったAPIキーを使って、python-binanceのクライアントオブジェクトを作ります。
>>> client = Client('あなたのAPIキー', 'あなたのシークレットキー')
あとは、python-binanceのドキュメントで説明されている通り、簡単な指値注文をいれてみましょう。
>>> order = client.order_limit_buy(symbol='ADAUSDT', quantity=10, price=2)
カルダノADAコインを、USDTで、10枚、2ドルで買う、という注文です。
APIの使い方を学ぶための実験的な注文なので、約定しなさそうな注文、あるいは約定しても問題ない程度の注文になるように注意してくださいね。
バイナンスAPIが動いていることを確認する
バイナンスAPIを使って入れたオーダー、ちゃんと入っているかバイナンスの画面上で確認してみましょう。
まずバイナンス(BINANCE)にログインして、右上のOrders(注文)からSpot Order(現物注文)をクリック。
すると、以下の通り注文が入っていることが確認できますね。
意図せず約定してしまわないように、確認が終わったらキャンセルしておくのを忘れずに!
最小注文数量に注意
最初、適当に以下のオーダー(ADAを、USDTで、1枚、1ドルで買う)を入れてみるとエラーが返ってきました。
>>> order = client.order_limit_buy(symbol='ADAUSDT', quantity=1, price=1)
エラーの内容はこんな感じ。
APIError(code=-1013): Filter failure: MIN_NOTIONAL
MIN_NOTIONALということで、要は注文数量が少なすぎますよ、という意味。バイナンス公式にある通り、最小注文数量の条件が設定されています。
バイナンスに限らず、どこの取引所でも最小注文数量は設定されていることが多いです。
この条件も今後また変わっていく可能性があるので、思った通りにオーダーが通らない時はこの点に注意してみてくださいね。
他にもエラーが出た場合は、公式APIドキュメントのエラーコード一覧から確認可能です。
バイナンス(BINANCE)APIでPythonプログラムを作ってみよう
バイナンスAPIの使い方が分かったところで、APIの機能を組み合わせた簡単なプログラムも作ってみましょう。
ついに日本の取引所での上場も決まった、カルダノADAコインの自動積立購入プログラムです。
こちらの記事で紹介した、ビットバンクAPIによる積立購入プログラムを、バイナンスAPIで使えるようにカスタマイズしてみます。
イーサリアム積立を完全自動化して賢く運用【コピペでチャレンジ】
イーサリアムを積立購入したいけど、すでに提供されてる仮想通貨の積立サービスを使うとスプレッドで損しちゃうな。賢く運用するには自分でいちいち現物取引して買うしかないの?その悩み、プログラムで完全自動化すれば解決。スプレッドも面倒もゼロです。この機会にプログラミングの基礎知識も身について、自己投資にもなりますね。
まず、プログラム全体はこんな感じになりました。
from binance.client import Client API_KEY = 'XXXXX' # APIキーを入れる SECRET_KEY = 'XXXXX' # シークレットキーを入れる client = Client(API_KEY, SECRET_KEY) ticker = 'ADAUSDT' # 積立する通貨ペア interval = 60*60*24*15 # 積立周期(sec * min * hour * day) periodic_amount = 100 # 積立金額(ドル) while True: time.sleep(interval) avg_price = client.get_avg_price(symbol=ticker) price = float(avg_price['price']) amount = round(periodic_amount / price, 0) order = client.order_market_buy(symbol=ticker, quantity=amount)
なるべく簡単に理解できるように、エラー処理とかは入れていません。後で追加してみましょう。
まずは、上から順に一つずつ内容を理解していきます。
必要なライブラリをインポートする
from binance.client import Client
1行目では、python-binanceのライブラリをインストールしています。
これは、さっきバイナンスAPIを試しに動かしてみる時も使いましたね。
APIキーを使ってオブジェクトを作成する
API_KEY = 'XXXXX' # APIキーを入れる SECRET_KEY = 'XXXXX' # シークレットキーを入れる client = Client(API_KEY, SECRET_KEY)
ここでは、あなたのAPIキーとシークレットキーを使って、バイナンスAPIを処理するクライアントのオブジェクトを生成しています。
例えば、あなたのAPIキーが 123 で、シークレットキーが 456 なら、以下のように書きます。
API_KEY = '123' # APIキーを入れる SECRET_KEY = '456' # シークレットキーを入れる
シングルクオーテーション(’ ‘)は消さないように注意してくださいね。
積立購入の条件を設定する
ticker = 'ADAUSDT' # 積立する通貨ペア interval = 60*60*24*15 # 積立周期(sec * min * hour * day) periodic_amount = 100 # 積立金額(ドル)
続いて、積立購入する条件を設定していきます。
ticker は、文字通り銘柄。ここではUSDTでADAを買うように設定しています。BTCにするならBTCUSDTと書き直したり、自由にカスタマイズ可能です。
interval は、積立周期。秒に換算しています。この例では15日ごとに設定していますが、1週間毎にするなら、15(日)を 7(日)に書き換えればOK。
periodic_amount は、積立購入する金額。単位はドルです。10,000円積立しようとして10,000って書くと、10,000ドル = 約1,100,000円(USD/JPY=110円の時)になるのでご注意を。
定期的な購入処理を発生させる
while True: time.sleep(interval)
まず、while True でプログラムが動き続けるように設定。
そして、sleep の引数にいれた数字の秒数、すなわち積立周期の秒数を待ってからプログラムが走るようにしています。
積立金額分を購入する
avg_price = client.get_avg_price(symbol=ticker) price = float(avg_price['price']) amount = round(periodic_amount / price, 0) order = client.order_market_buy(symbol=ticker, quantity=amount)
最後に、実際に注文を入れるためのプログラムです。
まず1行目、python-binanceを使って、バイナンスAPIから銘柄の平均価格を取得して avg_price に入れます。
2行目、avg_price にはdict型が返ってくるので、その中の’price’キーの値をfloat型に変換して price に入れます。
3行目、積立金額分(periodic_amount)の仮想通貨の枚数を計算して、amount に入れます。
最後に、銘柄の情報(ticker)と購入枚数(amount)で成行買い(market buy)注文を入れれば完了。
この購入処理が、積立周期(interval)に設定した間隔で自動的に発生していくわけですね。
カスタマイズ:購入した枚数を表示する
ちゃんと買えているのかどうか、いちいちバイナンスの画面で確認するのって面倒です。
そんな場合は、購入した時の状態を出力してあげれば便利そうですね。例えば、こんな感じのコードを最後に加えてみます。
message = 'buy ' + str(amount) + ticker + ' @' + str(round(price,3)) print(message)
すると、こんな形でメッセージが出力されます。
buy 35.0ADAUSDT @2.829
2.829ドルで、35ADAコインを買いましたよ!っていう感じ。ずいぶん分かりやすくなりました。
35 x 2.829 で、合計99.015ドル。periodic_amount に入れた積立金額の100ドル分、ちゃんと買えてますね。
カスタマイズ:買えない時にプログラムを停止する
積立投資は、意識せずに買い増していけるのが魅力。でも、買えない状態の時にプログラムを動かすわけにはいかないですよね。
そんな時は、自分の口座に買えるだけの余力があるのか、注文前に確認するコードを入れると良さそうです。
balance = client.get_asset_balance(asset='USDT') if float(balance['free']) < periodic_amount: raise
1行目、python-binanceでバイナンスAPIを使って、あなたの口座のUSDTの余力データを取得します。
2行目、balanceはdict型で返ってくるので、その中の'free'キー(買付余力)の数字が、積立したい金額を下回っているかチェック。
3行目、もし下回っていたらraiseでプログラムを停止させる。
このコードを、購入処理が動く前(avg_priceの計算前)に挿入すれば、お金がない時はプログラムが止まってくれるので安心です。
カスタマイズ:プログラムを動かし続ける
ここまで理解したプログラム、あとは実行すればカルダノADAコイン積立購入の設定完了です。
プログラムを main.py といったファイルに保存したら、このコマンドで実行させましょう。
python3 main.py
あなた
「動かしておくにはパソコンつけっぱなし?」
一番簡単な方法はパソコンを立ち上げたまま放置すること。でも、それだと何か不安になりますよね。
そんな時は、VPS(サーバー)を活用して24時間動かし続けてみましょう。詳細な手順はこの記事で解説しているので、参考にしてみてください。
仮想通貨の自動売買botをVPSで動かす方法【詳細手順を解説】
仮想通貨の自動売買botをVPSで動かす具体的な方法が知りたい!そんなあなたへ、VPSの選び方、VPSの設定方法、そしてVPSでbotを動かすための具体的な手順をまとめました。仮想通貨の自動売買botをきっかけにVPSを使いこなせるようになれば、将来Webサービスを立ち上げたくなった時にも応用できちゃいます。
バイナンス(BINANCE)APIをPythonで使いこなして仮想通貨をもっと自由に
バイナンスは、名実ともに世界一の仮想通貨取引所。そのAPIを使いこなすことで、仮想通貨の世界も広がります。
本記事で作った仮想通貨の積み立てプログラムでは、この4つのバイナンスAPIを使いました。
- order_market_buy:成行で買う
- order_limit_buy:指値で買う
- get_avg_price:銘柄の平均価格を取得する
- get_asset_balance:口座の情報を取得する
そして、これ以外にも使えるAPIはたくさんあります。注文をキャンセルしたり、取引履歴をみたり、ほぼ全てと言っていいほどプログラミングで操作可能。
バイナンスAPIを使って自動売買botを作ることだってできちゃいます。
バイナンス(BINANCE)APIで仮想通貨の自動売買botを自作しよう【初心者向け】
バイナンス(BINANCE)APIを使って仮想通貨の自動売買botを作ってみたい!そんなお悩みにお答えします。バイナンスAPIの使い方から自動売買botプログラムの詳細動作までを徹底解説。自動売買botプログラムの動作を理解して、さらにそれをカスタマイズして、あなただけの自動売買bot作成にもチャレンジしてみましょう。
バイナンスAPIを駆使して、自己責任であなただけのプログラムを組み立ててみてくださいね。
仮想通貨の自動売買は儲かる?【自作botを3日間運用してみた結果】
仮想通貨の自動売買って儲かるのかな?そんな興味の出てきたあなたへ、自動売買botを作って実際に運用してみた結果を公開です。実際に運用したからこそ分かるメリットとデメリットも知って、仮想通貨の自動売買があなたに向いているのかどうか一つの参考にしてみてください。これをきっかけに、プログラミングを始めてみるのもありかも?