PythonでビットコインTickerデータを取得してデータベースに保存してみる
Contents [hide]
ビットコインのAPIが公開されているので利用してみようと思い立つ
今流行りのビットコインですが、
APIを用意している取引所も多く、
これを利用してビットコインの
Tickerデータを取得するというのをやってみます。
私が利用しているビットコインの取引所は
おそらく今一番有名なbitFlyerです。
FXのAPIも公開されている
bitFlyerでは、ビットコインの現物取引
(仮想通貨の売買を現物取引というのも変な気がしますが)
のほかにビットコインのFX取引ができます。
現物取引だと買いから入るしかありませんが、
FXだと外為取引と同様に売りから入ることもできます。
あと、こちらも証拠金取引で
10倍までレバレッジをかけることもできます。
(bitFlyerの場合)
ただでさえ価格変動の激しいビットコインに
10倍のレバレッジをかけるのもどうかと思いますが、
とにかく最大10倍までかけることができます。
FXのTicker APIも公開されていますので、
現物のビットコインと合わせて取得してみることにします。
ビットコインAPIを使ってTickerを取得するプログラムを作ってみる
bitFlyerでは、PubNubを利用してリアルタイムの更新情報を配信しているので、これを利用させてもらいます。
事前準備その1・データベースを用意
事前準備として、取得したデータを保存する
データベースを作成しておきます。
今回はPython + Sqliteを使用します。
では、早速Pythonのソースです。
bitflyer.dbというデータベースに対して
btcfxというテーブルを作成しておきます。
事前準備その2・PythonでPubNubを使えるようにする
PubNubでは、Pythonから使いやすいように
ライブラリを用意してくれていますので、
これをインストールしておきます。
これだけです。
※PubNubのドキュメントはこちら
APIでbitcoin情報を取得してデータベースに保存する
では、いよいよプログラム本体です。
PubNub Subscribe Keyは、
bitFlyerで公開されているものを利用します。
本当は、Pythonを待機状態にしておいて
PubNubから更新情報が来たら
データを登録するみたいなことを
やりたかったのですが、
やり方がわからず挫折しました。
で、sleepを60秒間隔で入れて
1分おきのビットコインの価格情報を
取得するようにしました。
現物とFXの両方を連続して取得して
同じレコードに放り込んでいます。
同じレコードの現物とFXが揃っていたら
色々できるかもと考えてのことです。
これからビットコインの取引を始めようかと考えている方、
ビットコインFXに興味のある方はbitFlyerがおススメです。