【Python】仮想通貨(ビットコイン)自動売買botの作り方-bitbankのAPIで情報取得
① レバテックキャリア
⇒ 業界最大級のIT・Web業界エンジニア転職情報多数!
② マイナビエージェント ✕ IT
⇒ マイナビエージェントだからできる人気・おすすめの豊富な求人情報!
③ リクルートエージェント
⇒ 転職支援実績No.1・エンジニアからの異業種転職に強み!
こんにちは、IT Career Hack管理人のYaemon(@yaemon777)です。
仮想通貨でトレードをしているけど、
仮想通貨のbotを作ってみたい!という人の中には、
実際にどうやってbotを作ればいいの?
と悩んでいる人がいるかもしれません。
管理人も「PythonはAIに強いスクリプト言語だよね!?」と思っていた時がありました。
作ってみると、githubのライブラリやネットの情報も充実していて便利なんですよね。
このページでは、
▶Pythonをローカルの環境(Mac)に構築する方法
▶PythonでbitbankのAPIで仮想通貨のリアルタイム情報を取得する方法(サンプルコード)
について、プログラミング初心者の方・仮想通貨投資家の方に向けて紹介をしていきます!作業の参考にしてもらえればと思います。
Pythonをローカルの環境(Mac)に構築する方法
管理人のPC環境について
MAC:OS X El Capitan (10.11.6)
*gitインストール済み
Pythonを使える環境を構築する
“Python 環境構築 Mac” で検索すると、QiitaとProgateの記事がありました。
そこでざっと見て、Progateのほうが細かく説明していたので次の記事を参考にPythonの環境を構築しました。
手順は、
- Homebrewのインストール
- prenvのインストール
- Pythonのインストール
- Pythonのコードを実行する
という流れ。
インストールするときに、最新版にするか、記事のバージョンにするか悩みましたが、管理人は最新版でインストールをしました。 *最新版が古いバージョンのメソッドを補完していたり、バグフィックスがあるのでいいのかも。環境次第なところもありますよね。
最後のサンプルを動かすところまで終わるとOKです!
こんな感じですね。
さくっとpython 3.7.1をインストールして”Hello World” 完了! pic.twitter.com/xSCIjPicJb
— Yaemon@IT Career Hack (@yaemon777) 2018年11月21日
Pythonにgithubのbitbankのライブラリ(python_bitbankcc)を紐付ける設定
Pythonをインストールしたら、Pythonとgithubのbitbankを紐付ける設定をします。この作業をしておかないと、スクリプト内の “import python_bitbankcc” という箇所でエラーになってしまいます。
【設定方法】
①ターミナルを開きます
②以下のpipコマンドを実行します。
sudo pip install git+https://github.com/bitbankinc/python-bitbankcc.git
*sudoの意味は1番権限のあるユーザーでコマンドを実行するという意味。
実行時にパスワードが聞かれるので、パスワードを設定します。
PythonでbitbankのAPIから情報を取得する
次に、PythonでbitbankのAPIを取得します。
サンプルコードが先程のリンクにあるので、それを参考に作ってみました。
*bitbankで取引されているビットコインの情報を取得するスクリプト
#python_bitbankccのパッケージをインポート
import python_bitbankcc
import json
# public API classのオブジェクトを取得
pub = python_bitbankcc.public()
# テッカー情報を取得
value = pub.get_ticker(
'btc_jpy' # ペア
)
print(json.dumps(value))
value = pub.get_ticker(
'btc_jpy' # ペア
)
print(json.dumps(value))
実行結果(2018年11月22日午前1時ごろ)
取得したデータは次の通りです。
- sell:現在の売り注文の最安値 ⇒ 497,944円
- buy:現在の買い注文の最高値 ⇒ 497,906円
- high:過去24時間の最高値取引価格 ⇒ 528,334円
- low:過去24時間の最安値取引価格 ⇒ 461,000円
- last:最新取引価格 ⇒ 497,836円
- vol:過去24時間の出来高 ⇒ 5980.0992 BTC
ImportError: No module named ‘requests’の対処
最後に1つ注意点、Pythonを実行するときに、次のエラーが発生しました。
ImportError: No module named ‘requests’
対応としては、
pip install requests
を実行すると直りましたので紹介しておきます。
参考:Python 3: no module named ‘requests’ #75
以上、bitbankのAPIで情報を取得する方法をまとめました。
こちらの記事が参考になればと思います!
また、次に取得したデータをどう計算して注文していくかは別の記事で紹介します。
乞うご期待!