各ビットコイン業者の価格取得APIのフォーマット
bitflyerなどのAPIで所得したデータを、データベースのテーブルに格納しようと思います。
そのために、
- 格納したいビットコイン業者のAPIのフォーマとを調べる
- それらのデータを格納できるテーブルの構成を考える
の手順で作業したいと思います。
bitFlyerのAPIフォーマット
今回使用する、国内ビットコイン業者の1つがで取引量が最大のbitFlyerです。

bitFlyer(ビットフライヤー)- 暗号資産(仮想通貨)の購入/販売所/取引所
ビットフライヤーは、国内最大級の仮想通貨取引所です。信頼と安心のセキュリティで、ビットコインやリップル(XRP)、モナコイン、イーサリアムなど人気な仮想通貨をわずか100円から購入可能。
bitFlyerのAPIのTicker(価格情報)APIの取得する値の形式である、JSONフォーマットは以下です。
{ "product_code": "BTC_JPY", "timestamp": "2015-07-08T02:50:59.97", "tick_id": 3579, "best_bid": 30000, "best_ask": 36640, "best_bid_size": 0.1, "best_ask_size": 5, "total_bid_depth": 15.13, "total_ask_depth": 20, "ltp": 31690, "volume": 16819.26, "volume_by_product": 6819.26 }
ビットコイン取引所【bitFlyer Lightning】
bitFlyer Lightning は、ビットコインの取引所です。お客様同士の需要と供給から価格が決定されます。円を売ってビットコインを買う、反対にビットコインを売って円に替えることもできます。FX(外国為替証拠金取引)での取引と似ています。
ZaifのAPIフォーマット
そして今回、アービトラージの対象としてbitFlyerとの価格差を見ようとしているのが、最近は国内ビットコンイ業者で取引量が第2位のZaifです。

Zaif(ザイフ)は暗号資産取引所です。Bitcoin(ビットコイン/BTC)やNEM(ネム/XEM)日本産の暗号資産MONAcoin(モナコイン/MONA)の取り扱いもあり、売買や決済サービスなど様々な新機能や、暗号資産を利用した新たな試みをしてる成長型の取引所です。
Zaif Exchange
ZaifのAPIのTicker(価格情報)APIの取得する値の形式である、JSONフォーマットは以下です。
{ "last": 913505, "high": 932000, "low": 852000, "vwap": 879332.3921, "volume": 15877.3327, "bid": 913605, "ask": 913650 }
出典

Zaif Exchange APIドキュメント
お知らせ Zaif APIのドキュメントを見やすくリニューアルいたしました。 下記URLから最新のZaif APIをご確認いただけます。
JSONフォーマットからテーブル項目をデザイン
差し当たり売値と買値のみを格納
まずは、素直にこれをテーブル形式にしたいと思います。アービトラージのために最小限必要な情報は、売値と買値だけですので、それをテーブル項目(列名)にします。
列名 | 意味 | データ型 | 値サンプル |
---|---|---|---|
bid | 売値 | 数値 | 913605 |
ask | 買値 | 数値 | 913650 |
複数の会社のデータを比較できるようにフィールドを追加
それに以下の列を加え、2つ合わせて主キー(複合キー)ます。
company_id |
ビットコイン取引業者ID |
数値 |
001 |
api_call_time | 価格取得APIをコールした日時 | 日付時刻 | 201807212255 |
参考

主キー(primary key)を複数のカラムに、その名は複合主キー(composite primary key ) - ts0818のブログ
これまで、主キー(Primary key)は、テーブルに1つしか存在しないと思っていたのですが、SQL Serverで1つのテーブルに2つのPRキーが存在してるじゃないですか!と思って職場の先輩にお聞きしたところ、「複数カラムの組で主キーを構成している」ということでした。 テーブルに主キー(Primary key)は1...
コメント