Python×ビットコイン自動売買

#6 Python×ビットコイン自動売買 | Coincheck APIを使って板情報を取得しよう!

python-bitcoin-trade6

こんにちは、はやたす(@hayatasuuu )です。

前回の記事では、ビットコインの全取引履歴を取得しました。

 

前回の記事はこちら

python-bitcoin-trade5
#5 Python×ビットコイン自動売買 | Coincheck APIを使って全取引履歴を取得しよう!こんにちは、はやたす(@hayatasuuu )です。 今回は「Python×ビットコイン自動売買」の第5回目ということで、ビット...

 

今回「Python×ビットコイン自動売買」の第6回目では、ビットコインの板情報を取得していきたいと思います。

板情報が分かると、買いと売りでどれくらいの指値が入っているのか把握できるようになります。

自動売買しなくても、ビットコインを取引するなら便利な指標になるので、今回はそれをAPIで取得していきましょう。

なお今回の講義までは、Coincheckの口座を持っている必要がありません。

誰でもAPIを利用できるので、安心して取り組んでいただけたらと思います!

 

Coincheck APIを使って板情報を取得しよう!

今回は、第4回目の記事で書いたコードを編集していきます。

第4回目で書いていたコードは、以下のとおりです。

import requests

BASE_URL = 'https://coincheck.com'
url = BASE_URL + '/api/ticker'

r = requests.get(url)
r = r.json()

print('最新価格:', r['last'])

 

python-bitcoin-trade
#4 Python×ビットコイン自動売買 | Coincheck APIを使って最新価格を取得しよう!こんにちは、はやたす(@hayatasuuu )です。 今回は「Python×ビットコイン自動売買」の第4回目ということで、Pyt...

STEP① : URLの変更

前回と同様に、まずはアクセス先のURLを変更しましょう。

今回目的としている板情報を取得するには、/api/order_booksにアクセスする必要があります。

出力部分も合わせて、以前作成したコードを以下のように書き換えましょう。

import requests

BASE_URL = 'https://coincheck.com'
url = BASE_URL + '/api/order_books' # 変更点

r = requests.get(url)
r = r.json()

print(r) # 変更点

 

これでOKです。

STEP② : プログラムの実行

そうしたらコードの作成が完了したので、プログラムを実行していきましょう。ターミナルでpython main.pyと入力して、エンターキーを押します。

そうすると、以下のような画面になるはずです。

python-bitcoin-board1

はい、だいぶ見辛いですね(^_^;)

こういった場合には、例のごとくpprint()を使っていきたいので、コードを少し書き換えていきましょう。

from pprint import pprint

import requests

BASE_URL = 'https://coincheck.com'
url = BASE_URL + '/api/order_books'

r = requests.get(url)
r = r.json()

pprint(r)

 

この状態でPythonファイルを実行すると、以下のようになるはずです。

python-bitcoin-board2

これで多少は見やすい形になりましたね。とはいえ、表示件数が多く、把握しづらいことには変わりないです。

でも結局のところ、書かれているのは以下の内容です。

{'asks': [['price1', 'volume1']], 'bids': [['price1', 'volume1']]}

 

つまり「asksbidsについて、価格と枚数がたくさん書かれている」ということになります。

“たくさん”と表現した部分は、具体的にいうと直近200件が入っています。

要は/api/order_booksにアクセスすると、買い板と売り板を200件ずつ取得できるわけですね。

補足 : 取得件数の指定方法

今回はデフォルトの状態で、直近200件の板情報を取得しました。

ただ、毎回200件ずつ出力されるのも鬱陶しいですので、今回は取得件数を制限してAPIにアクセスしてみたいと思います。

その方法ですが、第五回目で書いたようにrequests.get()limitというパラメータを渡してあげるだけです。

つまり、コードで書くと以下のようになります。

from pprint import pprint

import requests

BASE_URL = 'https://coincheck.com'
url = BASE_URL + '/api/order_books'

params = {
    'limit': 1
}

r = requests.get(url, params=params)
r = r.json()

pprint(r)

 

今回はlimit=1なので「買い板と売り板を1件だけ取得する」ということになります。

これでアクセスしてみた結果が、以下のとおりです。

python-bitcoin-board3

出力結果だけ見てみましょう。

{'asks': [['4737188.0', '0.07898905']], 'bids': [['4736259.0', '0.04']]}

 

しっかり1件ずつの板情報を取得できていますね!

 

まとめ : Coincheck APIを使って板情報を取得しよう!

というわけで、ビットコインの板情報を取得できるようになりました。

おそらく、APIのアクセスに慣れてきたのではないでしょうか。

 

このタイミングで、ここまで使ってきたAPIをまとめておきたいと思います。

  • 最新の価格情報を取得する : /api/ticker
  • 取引履歴を取得する : /api/trades
  • 板情報を取得する : /api/order_books

上記が今まで使ってきたAPIです。そして、これらのAPIは「口座開設をしていなくても」使えました。

 

次回からは「Coincheckの口座を持っている人しか操作できないAPI」を使っていきたいと思います。

つまり、Coincheckの口座開設が必要なフェーズになってきます。

口座維持費や登録料は一切かかりませんので、ビットコインの売買をしなければ損することはありません。

もし、今後の学習を進めていく場合は、コインチェックで口座開設をしていきましょう!

»公式ページ : 仮想通貨取引所・販売所の口座開設|Coincheck(コインチェック)

 

第7回目の記事はこちら

python-bitcoin-apikey
#7 Python×ビットコイン自動売買 | API Keyの取得と設定ファイルの準備をしよう!こんにちは、はやたす(@hayatasuuu )です。 前回までの記事で、色々なAPIにアクセスすることで、ビットコインの各種情報...

 

トップページはこちら

python-bitcoin-auto-trade
Python×ビットコイン自動売買 | 初心者でも理解できる入門講義『Pythonを使ったビットコインの自動売買って、どうやって実装するんだろう...。分かりやすく書かれている入門記事はないかな〜。』このような悩みを解決する記事になっています。Pythonを使ったビットコインの自動売買を学んでみたい人は必見です。...