MENU

GMOコイン API調査(バックテスト用に約定履歴中心)

FTXがChapter11してから、日本の取引所が安心な感じがしてきた。そのための日本取引所API調査する。

目次

GMOコイン https://coin.z.com/jp/ (あとでアフィリエイトを追加する)

APIドキュメントトップリンク

APIドキュメントは以下のURLで公開されている。REST/WebSocket両方提供されている。

Historical Dataの取得方法

過去データはWebサイトとAPIの2つの方法で取得できる。リアルタイムデータはWebSocketで取得可能。

Webサイト(約定ログアーカイブ)

以下のURLにアーカイブされたデータ(csvをgzipで圧縮したもの)が、取引種類(現物・先物)/通貨ペア/日付毎に保存されている。過去を一括で取得するには一番早そうなインターフェース。richimanbtc先生のチュートリアルでもここのWebサイトからダウンロードしてohlc足を作成している(https://github.com/richmanbtc/crypto_data_fetcher/blob/master/crypto_data_fetcher/gmo.py)

https://api.coin.z.com/data/trades/  (アーカイブサイトURL)

圧縮したアーカイブを展開すると以下のようなCSVファイルが入手できる。

symbol,side,size,price,timestamp
BTC_JPY,SELL,0.0100,2284931.000,2022-11-13 21:00:01.308
BTC_JPY,SELL,0.0100,2284416.000,2022-11-13 21:00:01.308
BTC_JPY,SELL,0.0100,2284416.000,2022-11-13 21:00:01.475
BTC_JPY,SELL,0.0100,2284187.000,2022-11-13 21:00:01.475
BTC_JPY,SELL,0.0100,2284187.000,2022-11-13 21:00:01.851
BTC_JPY,SELL,0.0100,2284187.000,2022-11-13 21:00:01.959
BTC_JPY,SELL,0.0100,2284188.000,2022-11-13 21:00:02.659
BTC_JPY,SELL,0.0100,2283918.000,2022-11-13 21:00:02.659
BTC_JPY,SELL,0.0100,2284188.000,2022-11-13 21:00:02.977

ログを処理する上で注意点として以下2つが挙げられる。

  • ファイルの時間始まりが21:00- (JSTかUTCかは未調査)
  • オーダーにIDが付与されておらず、同じ時間に複数のレコードがある。 (複数のレコードがある場合、金額・数量が同じの場合もありうる)

Public API

PublicAPIのドキュメントによれば、取引履歴は 1ページあたり100取引しか取得できない。1日あたりBTC取引で10万レコードあるので全部このAPIで取得するには1000回API発行する必要があり過去数ヶ月分のダウンロードには向いていない。

過去はWebアーカイブ、直近をREST PublicAPI、リアルタイムをWebSocketとわけて履歴を入手する必要がありそうだ。

ブラウザで試す

{"status":0,
"data":{"list":[{"price":"2349121","side":"BUY","size":"0.02","timestamp":"2022-11-15T14:14:57.654Z"},{"price":"2349121","side":"SELL","size":"0.02","timestamp":"2022-11-15T14:14:57.654Z"},{"price":"2349455","side":"SELL","size":"0.04","timestamp":"2022-11-15T14:14:55.836Z"}]}}

Webアーカイブと同様にオーダーにはIDが振られてない。そのためDBにインサートするときには、連番などを振ってユニークキーを作る必要がある。ただし、時間毎の連番が、アーカイブ/RestAPI /WebSocket全てで同じ順序であるか確認する必要がある。

またこちらの日付は明確にUTC(Zがついている)

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次